WPILibC++  unspecified
llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT > Class Template Reference
Inheritance diagram for llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >:
Collaboration diagram for llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >:

Public Types

typedef unsigned size_type
 
typedef KeyT key_type
 
typedef ValueT mapped_type
 
typedef BucketT value_type
 
typedef DenseMapIterator< KeyT, ValueT, KeyInfoT, BucketT > iterator
 
typedef DenseMapIterator< KeyT, ValueT, KeyInfoT, BucketT, true > const_iterator
 

Public Member Functions

iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
bool LLVM_ATTRIBUTE_UNUSED_RESULT empty () const
 
unsigned size () const
 
void reserve (size_type NumEntries)
 Grow the densemap so that it can contain at least NumEntries items before resizing again. More...
 
void clear ()
 
size_type count (const KeyT &Val) const
 Return 1 if the specified key is in the map, 0 otherwise.
 
iterator find (const KeyT &Val)
 
const_iterator find (const KeyT &Val) const
 
template<class LookupKeyT >
iterator find_as (const LookupKeyT &Val)
 Alternate version of find() which allows a different, and possibly less expensive, key type. More...
 
template<class LookupKeyT >
const_iterator find_as (const LookupKeyT &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, bool > insert (const std::pair< KeyT, ValueT > &KV)
 
std::pair< iterator, bool > insert (std::pair< KeyT, ValueT > &&KV)
 
template<typename LookupKeyT >
std::pair< iterator, bool > insert_as (std::pair< KeyT, ValueT > &&KV, const LookupKeyT &Val)
 Alternate version of insert() which allows a different, and possibly less expensive, key type. More...
 
template<typename InputIt >
void insert (InputIt I, InputIt E)
 insert - Range insertion of pairs.
 
bool erase (const KeyT &Val)
 
void erase (iterator I)
 
value_type & FindAndConstruct (const KeyT &Key)
 
ValueT & operator[] (const KeyT &Key)
 
value_type & FindAndConstruct (KeyT &&Key)
 
ValueT & operator[] (KeyT &&Key)
 
bool isPointerIntoBucketsArray (const void *Ptr) const
 isPointerIntoBucketsArray - Return true if the specified pointer points somewhere into the DenseMap's array of buckets (i.e. More...
 
const void * getPointerIntoBucketsArray () const
 getPointerIntoBucketsArray() - Return an opaque pointer into the buckets array. More...
 
size_t getMemorySize () const
 Return the approximate size (in bytes) of the actual map. More...
 
- Public Member Functions inherited from llvm::DebugEpochBase
void incrementEpoch ()
 Calling incrementEpoch invalidates all handles pointing into the calling instance. More...
 
 ~DebugEpochBase ()
 The destructor calls incrementEpoch to make use-after-free bugs more likely to crash deterministically. More...
 

Protected Member Functions

void destroyAll ()
 
void initEmpty ()
 
unsigned getMinBucketToReserveForEntries (unsigned NumEntries)
 Returns the number of buckets to allocate to ensure that the DenseMap can accommodate NumEntries without need to grow(). More...
 
void moveFromOldBuckets (BucketT *OldBucketsBegin, BucketT *OldBucketsEnd)
 
template<typename OtherBaseT >
void copyFrom (const DenseMapBase< OtherBaseT, KeyT, ValueT, KeyInfoT, BucketT > &other)
 

Static Protected Member Functions

static unsigned getHashValue (const KeyT &Val)
 
template<typename LookupKeyT >
static unsigned getHashValue (const LookupKeyT &Val)
 
static const KeyT getEmptyKey ()
 
static const KeyT getTombstoneKey ()
 

Member Function Documentation

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
template<class LookupKeyT >
iterator llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find_as ( const LookupKeyT &  Val)
inline

Alternate version of find() which allows a different, and possibly less expensive, key type.

The DenseMapInfo is responsible for supplying methods getHashValue(LookupKeyT) and isEqual(LookupKeyT, KeyT) for each key type used.

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
size_t llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::getMemorySize ( ) const
inline

Return the approximate size (in bytes) of the actual map.

This is just the raw memory used by DenseMap. If entries are pointers to objects, the size of the referenced objects are not included.

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
unsigned llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::getMinBucketToReserveForEntries ( unsigned  NumEntries)
inlineprotected

Returns the number of buckets to allocate to ensure that the DenseMap can accommodate NumEntries without need to grow().

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
const void* llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::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 DenseMap to reallocate.

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
template<typename LookupKeyT >
std::pair<iterator, bool> llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert_as ( std::pair< KeyT, ValueT > &&  KV,
const LookupKeyT &  Val 
)
inline

Alternate version of insert() which allows a different, and possibly less expensive, key type.

The DenseMapInfo is responsible for supplying methods getHashValue(LookupKeyT) and isEqual(LookupKeyT, KeyT) for each key type used.

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
bool llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::isPointerIntoBucketsArray ( const void *  Ptr) const
inline

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

either to a key or value in the DenseMap).

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
ValueT llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::lookup ( const KeyT &  Val) const
inline

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

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
void llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::reserve ( size_type  NumEntries)
inline

Grow the densemap so that it can contain at least NumEntries items before resizing again.


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