LLVM  3.7.0
Public Types | Public Member Functions | Friends | List of all members
llvm::ValueMap< KeyT, ValueT, Config > Class Template Reference

See the file comment. More...

#include <ValueMap.h>

Inheritance diagram for llvm::ValueMap< KeyT, ValueT, Config >:
[legend]

Public Types

typedef KeyT key_type
 
typedef ValueT mapped_type
 
typedef std::pair< KeyT, ValueT > value_type
 
typedef unsigned size_type
 
typedef ValueMapIterator< MapT,
KeyT > 
iterator
 
typedef ValueMapConstIterator
< MapT, KeyT > 
const_iterator
 

Public Member Functions

 ValueMap (unsigned NumInitBuckets=64)
 
 ValueMap (const ExtraData &Data, unsigned NumInitBuckets=64)
 
bool hasMD () const
 
MDMapTMD ()
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
bool empty () const
 
size_type size () const
 
void resize (size_t Size)
 Grow the map so that it has at least Size buckets. Does not shrink. More...
 
void clear ()
 
size_type count (const KeyT &Val) const
 Return 1 if the specified key is in the map, 0 otherwise. More...
 
iterator find (const KeyT &Val)
 
const_iterator find (const KeyT &Val) const
 
ValueT lookup (const KeyT &Val) const
 lookup - Return the entry for the specified key, or a default constructed value if no such entry exists. More...
 
std::pair< iterator, boolinsert (const std::pair< KeyT, ValueT > &KV)
 
std::pair< iterator, boolinsert (std::pair< KeyT, ValueT > &&KV)
 
template<typename InputIt >
void insert (InputIt I, InputIt E)
 insert - Range insertion of pairs. More...
 
bool erase (const KeyT &Val)
 
void erase (iterator I)
 
value_typeFindAndConstruct (const KeyT &Key)
 
ValueT & operator[] (const KeyT &Key)
 
bool isPointerIntoBucketsArray (const void *Ptr) const
 isPointerIntoBucketsArray - Return true if the specified pointer points somewhere into the ValueMap's array of buckets (i.e. More...
 
const void * getPointerIntoBucketsArray () const
 getPointerIntoBucketsArray() - Return an opaque pointer into the buckets array. More...
 

Friends

class ValueMapCallbackVH< KeyT, ValueT, Config >
 

Detailed Description

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
class llvm::ValueMap< KeyT, ValueT, Config >

See the file comment.

Definition at line 80 of file ValueMap.h.

Member Typedef Documentation

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
typedef ValueMapConstIterator<MapT, KeyT> llvm::ValueMap< KeyT, ValueT, Config >::const_iterator

Definition at line 110 of file ValueMap.h.

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
typedef ValueMapIterator<MapT, KeyT> llvm::ValueMap< KeyT, ValueT, Config >::iterator

Definition at line 109 of file ValueMap.h.

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
typedef KeyT llvm::ValueMap< KeyT, ValueT, Config >::key_type

Definition at line 92 of file ValueMap.h.

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
typedef ValueT llvm::ValueMap< KeyT, ValueT, Config >::mapped_type

Definition at line 93 of file ValueMap.h.

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
typedef unsigned llvm::ValueMap< KeyT, ValueT, Config >::size_type

Definition at line 95 of file ValueMap.h.

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
typedef std::pair<KeyT, ValueT> llvm::ValueMap< KeyT, ValueT, Config >::value_type

Definition at line 94 of file ValueMap.h.

Constructor & Destructor Documentation

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
llvm::ValueMap< KeyT, ValueT, Config >::ValueMap ( unsigned  NumInitBuckets = 64)
inlineexplicit

Definition at line 97 of file ValueMap.h.

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
llvm::ValueMap< KeyT, ValueT, Config >::ValueMap ( const ExtraData &  Data,
unsigned  NumInitBuckets = 64 
)
inlineexplicit

Definition at line 99 of file ValueMap.h.

Member Function Documentation

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
iterator llvm::ValueMap< KeyT, ValueT, Config >::begin ( )
inline

Definition at line 111 of file ValueMap.h.

Referenced by AddAliasScopeMetadata(), CloneAliasScopeMetadata(), and llvm::UnrollLoop().

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
const_iterator llvm::ValueMap< KeyT, ValueT, Config >::begin ( ) const
inline

Definition at line 113 of file ValueMap.h.

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
void llvm::ValueMap< KeyT, ValueT, Config >::clear ( )
inline

Definition at line 122 of file ValueMap.h.

Referenced by llvm::FunctionLoweringInfo::clear().

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
size_type llvm::ValueMap< KeyT, ValueT, Config >::count ( const KeyT &  Val) const
inline
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
bool llvm::ValueMap< KeyT, ValueT, Config >::empty ( ) const
inline

Definition at line 116 of file ValueMap.h.

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
iterator llvm::ValueMap< KeyT, ValueT, Config >::end ( )
inline
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
const_iterator llvm::ValueMap< KeyT, ValueT, Config >::end ( ) const
inline

Definition at line 114 of file ValueMap.h.

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
bool llvm::ValueMap< KeyT, ValueT, Config >::erase ( const KeyT &  Val)
inline
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
void llvm::ValueMap< KeyT, ValueT, Config >::erase ( iterator  I)
inline

Definition at line 176 of file ValueMap.h.

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
iterator llvm::ValueMap< KeyT, ValueT, Config >::find ( const KeyT &  Val)
inline
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
const_iterator llvm::ValueMap< KeyT, ValueT, Config >::find ( const KeyT &  Val) const
inline

Definition at line 135 of file ValueMap.h.

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
value_type& llvm::ValueMap< KeyT, ValueT, Config >::FindAndConstruct ( const KeyT &  Key)
inline

Definition at line 180 of file ValueMap.h.

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
const void* llvm::ValueMap< KeyT, ValueT, Config >::getPointerIntoBucketsArray ( ) const
inline

getPointerIntoBucketsArray() - Return an opaque pointer into the buckets array.

In conjunction with the previous method, this can be used to determine whether an insertion caused the ValueMap to reallocate.

Definition at line 198 of file ValueMap.h.

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
bool llvm::ValueMap< KeyT, ValueT, Config >::hasMD ( ) const
inline

Definition at line 102 of file ValueMap.h.

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
std::pair<iterator, bool> llvm::ValueMap< KeyT, ValueT, Config >::insert ( const std::pair< KeyT, ValueT > &  KV)
inline
template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
std::pair<iterator, bool> llvm::ValueMap< KeyT, ValueT, Config >::insert ( std::pair< KeyT, ValueT > &&  KV)
inline

Definition at line 154 of file ValueMap.h.

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
template<typename InputIt >
void llvm::ValueMap< KeyT, ValueT, Config >::insert ( InputIt  I,
InputIt  E 
)
inline

insert - Range insertion of pairs.

Definition at line 162 of file ValueMap.h.

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
bool llvm::ValueMap< KeyT, ValueT, Config >::isPointerIntoBucketsArray ( const void *  Ptr) const
inline

isPointerIntoBucketsArray - Return true if the specified pointer points somewhere into the ValueMap's array of buckets (i.e.

either to a key or value in the ValueMap).

Definition at line 191 of file ValueMap.h.

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
ValueT llvm::ValueMap< KeyT, ValueT, Config >::lookup ( const KeyT &  Val) const
inline

lookup - Return the entry for the specified key, or a default constructed value if no such entry exists.

Definition at line 141 of file ValueMap.h.

Referenced by llvm::StackProtector::getSSPLayout().

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
MDMapT& llvm::ValueMap< KeyT, ValueT, Config >::MD ( )
inline

Definition at line 103 of file ValueMap.h.

Referenced by MapMetadataImpl(), and mapToMetadata().

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
ValueT& llvm::ValueMap< KeyT, ValueT, Config >::operator[] ( const KeyT &  Key)
inline

Definition at line 184 of file ValueMap.h.

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
void llvm::ValueMap< KeyT, ValueT, Config >::resize ( size_t  Size)
inline

Grow the map so that it has at least Size buckets. Does not shrink.

Definition at line 120 of file ValueMap.h.

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
size_type llvm::ValueMap< KeyT, ValueT, Config >::size ( ) const
inline

Definition at line 117 of file ValueMap.h.

Friends And Related Function Documentation

template<typename KeyT, typename ValueT, typename Config = ValueMapConfig<KeyT>>
friend class ValueMapCallbackVH< KeyT, ValueT, Config >
friend

Definition at line 81 of file ValueMap.h.


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