LLVM 20.0.0git
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.
 
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.

References llvm::Vector.

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

References llvm::Vector.

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

References llvm::Vector.

◆ clear()

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

Definition at line 104 of file BlotMapVector.h.

References llvm::Vector.

◆ empty()

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

Definition at line 109 of file BlotMapVector.h.

References assert(), and llvm::Vector.

◆ end() [1/2]

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

Definition at line 51 of file BlotMapVector.h.

References llvm::Vector.

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

References llvm::Vector.

◆ find() [1/2]

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

Definition at line 79 of file BlotMapVector.h.

References llvm::Vector.

◆ find() [2/2]

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

Definition at line 86 of file BlotMapVector.h.

References llvm::Vector.

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

References llvm::Vector.

◆ operator[]()

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

Definition at line 55 of file BlotMapVector.h.

References llvm::Vector.


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