LLVM  8.0.1
Public Types | Public Member Functions | List of all members
llvm::BlotMapVector< KeyT, ValueT > Class Template Reference

An associative container with fast insertion-order (deterministic) iteration over its elements. More...

#include "Transforms/ObjCARC/BlotMapVector.h"

Public Types

using iterator = typename VectorTy::iterator
 
using const_iterator = typename VectorTy::const_iterator
 

Public Member Functions

iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
ValueToperator[] (const KeyT &Arg)
 
std::pair< iterator, boolinsert (const std::pair< KeyT, ValueT > &InsertPair)
 
iterator find (const KeyT &Key)
 
const_iterator find (const KeyT &Key) const
 
void blot (const KeyT &Key)
 This is similar to erase, but instead of removing the element from the vector, it just zeros out the key in the vector. More...
 
void clear ()
 
bool empty () const
 

Detailed Description

template<class KeyT, class ValueT>
class llvm::BlotMapVector< KeyT, ValueT >

An associative container with fast insertion-order (deterministic) iteration over its elements.

Plus the special blot operation.

Definition at line 23 of file BlotMapVector.h.

Member Typedef Documentation

◆ const_iterator

template<class KeyT, class ValueT>
using llvm::BlotMapVector< KeyT, ValueT >::const_iterator = typename VectorTy::const_iterator

Definition at line 49 of file BlotMapVector.h.

◆ iterator

template<class KeyT, class ValueT>
using llvm::BlotMapVector< KeyT, ValueT >::iterator = typename VectorTy::iterator

Definition at line 48 of file BlotMapVector.h.

Member Function Documentation

◆ begin() [1/2]

template<class KeyT, class ValueT>
iterator llvm::BlotMapVector< KeyT, ValueT >::begin ( )
inline

Definition at line 51 of file BlotMapVector.h.

Referenced by ComputePostOrders().

◆ begin() [2/2]

template<class KeyT, class ValueT>
const_iterator llvm::BlotMapVector< KeyT, ValueT >::begin ( ) const
inline

Definition at line 53 of file BlotMapVector.h.

◆ blot()

template<class KeyT, class ValueT>
void llvm::BlotMapVector< KeyT, ValueT >::blot ( const KeyT &  Key)
inline

This is similar to erase, but instead of removing the element from the vector, it just zeros out the key in the vector.

This leaves iterators intact, but clients must be prepared for zeroed-out keys when iterating.

Definition at line 97 of file BlotMapVector.h.

References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::erase(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find().

Referenced by ComputePostOrders().

◆ clear()

template<class KeyT, class ValueT>
void llvm::BlotMapVector< KeyT, ValueT >::clear ( )
inline

◆ empty()

template<class KeyT, class ValueT>
bool llvm::BlotMapVector< KeyT, ValueT >::empty ( ) const
inline

◆ end() [1/2]

template<class KeyT, class ValueT>
iterator llvm::BlotMapVector< KeyT, ValueT >::end ( )
inline

Definition at line 52 of file BlotMapVector.h.

Referenced by ComputePostOrders().

◆ end() [2/2]

template<class KeyT, class ValueT>
const_iterator llvm::BlotMapVector< KeyT, ValueT >::end ( ) const
inline

Definition at line 54 of file BlotMapVector.h.

◆ find() [1/2]

template<class KeyT, class ValueT>
iterator llvm::BlotMapVector< KeyT, ValueT >::find ( const KeyT &  Key)
inline

◆ find() [2/2]

template<class KeyT, class ValueT>
const_iterator llvm::BlotMapVector< KeyT, ValueT >::find ( const KeyT &  Key) const
inline

◆ insert()

template<class KeyT, class ValueT>
std::pair<iterator, bool> llvm::BlotMapVector< KeyT, ValueT >::insert ( const std::pair< KeyT, ValueT > &  InsertPair)
inline

◆ operator[]()

template<class KeyT, class ValueT>
ValueT& llvm::BlotMapVector< KeyT, ValueT >::operator[] ( const KeyT &  Arg)
inline

The documentation for this class was generated from the following file: