LLVM  4.0.0
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 <BlotMapVector.h>

Public Types

typedef VectorTy::iterator iterator
 
typedef VectorTy::const_iterator 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 17 of file BlotMapVector.h.

Member Typedef Documentation

template<class KeyT, class ValueT>
typedef VectorTy::const_iterator llvm::BlotMapVector< KeyT, ValueT >::const_iterator

Definition at line 28 of file BlotMapVector.h.

template<class KeyT, class ValueT>
typedef VectorTy::iterator llvm::BlotMapVector< KeyT, ValueT >::iterator

Definition at line 27 of file BlotMapVector.h.

Member Function Documentation

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

Definition at line 29 of file BlotMapVector.h.

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

Definition at line 31 of file BlotMapVector.h.

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 90 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().

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

Definition at line 30 of file BlotMapVector.h.

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

Definition at line 32 of file BlotMapVector.h.

template<class KeyT, class ValueT>
iterator llvm::BlotMapVector< KeyT, ValueT >::find ( const KeyT &  Key)
inline
template<class KeyT, class ValueT>
const_iterator llvm::BlotMapVector< KeyT, ValueT >::find ( const KeyT &  Key) const
inline
template<class KeyT, class ValueT>
std::pair<iterator, bool> llvm::BlotMapVector< KeyT, ValueT >::insert ( const std::pair< KeyT, ValueT > &  InsertPair)
inline
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: