|
iterator | begin () |
|
iterator | end () |
|
const_iterator | begin () const |
|
const_iterator | end () const |
|
LLVM_NODISCARD bool | 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_arg_type_t< KeyT > Val) const |
| Return 1 if the specified key is in the map, 0 otherwise. More...
|
|
iterator | find (const_arg_type_t< KeyT > Val) |
|
const_iterator | find (const_arg_type_t< 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_arg_type_t< 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... Ts> |
std::pair< iterator, bool > | try_emplace (KeyT &&Key, Ts &&... Args) |
|
template<typename... Ts> |
std::pair< iterator, bool > | try_emplace (const KeyT &Key, Ts &&... Args) |
|
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. More...
|
|
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...
|
|
| 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...
|
|
template<typename DerivedT , typename KeyT , typename ValueT , typename KeyInfoT , typename BucketT >
template<class LookupKeyT >
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 wpi::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 >
const void * wpi::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 InputIt >
void wpi::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert |
( |
InputIt |
I, |
|
|
InputIt |
E |
|
) |
| |
|
inline |
insert - Range insertion of pairs.
template<typename DerivedT , typename KeyT , typename ValueT , typename KeyInfoT , typename BucketT >
template<typename LookupKeyT >
std::pair< iterator, bool > wpi::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 wpi::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).