LLVM 22.0.0git
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
ValueT & operator[] (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.
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 22 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 48 of file BlotMapVector.h.

◆ iterator

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

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

◆ begin() [2/2]

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

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

References llvm::InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs... >::Key.

◆ clear()

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

Definition at line 103 of file BlotMapVector.h.

◆ empty()

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

Definition at line 108 of file BlotMapVector.h.

References assert().

◆ end() [1/2]

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

Definition at line 51 of file BlotMapVector.h.

◆ end() [2/2]

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

Definition at line 53 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

Definition at line 66 of file BlotMapVector.h.

◆ operator[]()

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

Definition at line 55 of file BlotMapVector.h.


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