DenseMap with a small inline bucket buffer to avoid heap allocation.
Synopsis
Declared in <llvm/ADT/DenseMap.h>
template<
typename KeyT,
typename ValueT,
unsigned int InlineBuckets = 4,
typename KeyInfoT = DenseMapInfo<KeyT>,
typename BucketT = /* implementation-defined */>
class SmallDenseMap
: public DenseMapBase<SmallDenseMap<KeyT, ValueT, InlineBuckets, KeyInfoT, BucketT>, KeyT, ValueT, KeyInfoT, BucketT>
Base Classes
Name |
Description |
CRTP base implementing a dense probed hash map from keys to values. |
Types
Name |
Description |
Empty stub of HandleBase used when ABI‐breaking checks are disabled. |
Type Aliases
Name |
Description |
Const iterator over map entries. |
|
Iterator over map entries. |
|
The map's key type. |
|
The map's mapped value type. |
|
Unsigned type used for map sizes and capacities. |
|
The map's value type (key/value bucket pair). |
Member Functions
Name |
Description |
|
Constructors |
|
Destroy all entries and deallocate bucket storage. |
Assignment operators |
|
Return the entry for the specified key, or abort if no such entry exists. |
|
|
|
Remove all entries from the map, possibly shrinking storage if capacity is large relative to size. |
|
Return true if the specified key is in the map, false otherwise. |
|
Return 1 if the specified key is in the map, 0 otherwise. |
|
Emplace |
|
Return true if the map contains no entries. |
|
|
|
|
|
Erase the entry at |
|
|
|
|
|
Return the approximate size in bytes of the map's storage. |
|
Return an opaque pointer into the buckets array. |
|
No‐op when ABI‐breaking checks are disabled. |
|
|
|
Insert using an alternate, possibly cheaper, lookup key type. |
|
Insert |
|
Inserts range of 'std::pair<KeyT, ValueT>' values into the map. |
|
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). |
|
|
|
Return the entry for the specified key, or a default constructed value if no such entry exists. |
|
Return the entry with the specified key, or |
|
Return the value for |
|
Remove entries that match the given predicate. |
|
Grow the densemap so that it can contain at least |
|
Remove all entries and shrink bucket storage to fit the empty map. |
|
Return the number of entries in the map. |
|
Swap the contents of this map with |
|
Insert a key and construct its value in‐place if the key is absent. If the key is already present, the stored value is left unchanged. |
|
|
Protected Types
Name |
Description |
Tag type selecting constructors that take an exact bucket count rather than a reserve‐for‐N‐entries hint. |
|
Hot‐path snapshot of bucket storage fields. |
Protected Member Functions
Name |
Description |
Replace this map's contents with a copy of |
|
Destroy all live key/value pairs in the bucket array. |
|
Returns the number of buckets to allocate to ensure that the DenseMap can accommodate |
|
Reset entry count to zero and clear the used‐bit array for all buckets. |
|
Initialize bucket storage with exactly |
|
Move key/value pairs from |
Friends
Name |
Description |
CRTP base implementing a dense probed hash map from keys to values. |
Non-Member Functions
Name |
Description |
Compare two DenseMaps of SymbolsMapKey to Symbol pointers for inequality. |
|
Inequality comparison for DenseMap. |
|
Compare two DenseMaps of SymbolsMapKey to Symbol pointers for equality. |
|
Equality comparison for DenseMap. |
Created with MrDocs