LLVM  6.0.0svn
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

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

◆ const_iterator

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

Definition at line 28 of file BlotMapVector.h.

◆ iterator

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

Definition at line 27 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 29 of file BlotMapVector.h.

Referenced by ComputePostOrders(), and FindSingleUseIdentifiedObject().

◆ begin() [2/2]

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

Definition at line 31 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 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().

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 30 of file BlotMapVector.h.

Referenced by ComputePostOrders(), and FindSingleUseIdentifiedObject().

◆ end() [2/2]

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

◆ 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: