|
| SmallPtrSet () |
|
| SmallPtrSet (const SmallPtrSet &that) |
|
| SmallPtrSet (SmallPtrSet &&that) |
|
template<typename It > |
| SmallPtrSet (It I, It E) |
|
| SmallPtrSet (std::initializer_list< PtrType > IL) |
|
SmallPtrSet< PtrType, SmallSize > & | operator= (const SmallPtrSet< PtrType, SmallSize > &RHS) |
|
SmallPtrSet< PtrType, SmallSize > & | operator= (SmallPtrSet< PtrType, SmallSize > &&RHS) |
|
SmallPtrSet< PtrType, SmallSize > & | operator= (std::initializer_list< PtrType > IL) |
|
void | swap (SmallPtrSet< PtrType, SmallSize > &RHS) |
| swap - Swaps the elements of two sets. More...
|
|
| SmallPtrSetImpl (const SmallPtrSetImpl &)=delete |
|
std::pair< iterator, bool > | insert (PtrType Ptr) |
| Inserts Ptr if and only if there is no element in the container equal to Ptr. More...
|
|
iterator | insert (iterator, PtrType Ptr) |
| Insert the given pointer with an iterator hint that is ignored. More...
|
|
bool | erase (PtrType Ptr) |
| erase - If the set contains the specified pointer, remove it and return true, otherwise return false. More...
|
|
size_type | count (ConstPtrType Ptr) const |
| count - Return 1 if the specified pointer is in the set, 0 otherwise. More...
|
|
iterator | find (ConstPtrType Ptr) const |
|
bool | contains (ConstPtrType Ptr) const |
|
template<typename IterT > |
void | insert (IterT I, IterT E) |
|
void | insert (std::initializer_list< PtrType > IL) |
|
iterator | begin () const |
|
iterator | end () const |
|
SmallPtrSetImplBase & | operator= (const SmallPtrSetImplBase &)=delete |
|
bool | empty () const |
|
size_type | size () const |
|
void | clear () |
|
| DebugEpochBase ()=default |
|
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...
|
|
|
using | iterator = SmallPtrSetIterator< PtrType > |
|
using | const_iterator = SmallPtrSetIterator< PtrType > |
|
using | key_type = ConstPtrType |
|
using | value_type = PtrType |
|
using | size_type = unsigned |
|
| SmallPtrSetImplBase (const void **SmallStorage, const SmallPtrSetImplBase &that) |
|
| SmallPtrSetImplBase (const void **SmallStorage, unsigned SmallSize, SmallPtrSetImplBase &&that) |
|
| SmallPtrSetImplBase (const void **SmallStorage, unsigned SmallSize) |
|
| SmallPtrSetImplBase (const void **SmallStorage, const SmallPtrSetImplBase &that) |
|
| SmallPtrSetImplBase (const void **SmallStorage, unsigned SmallSize, SmallPtrSetImplBase &&that) |
|
| SmallPtrSetImplBase (const void **SmallStorage, unsigned SmallSize) |
|
| ~SmallPtrSetImplBase () |
|
const void ** | EndPointer () const |
|
std::pair< const void *const *, bool > | insert_imp (const void *Ptr) |
| insert_imp - This returns true if the pointer was new to the set, false if it was already in the set. More...
|
|
bool | erase_imp (const void *Ptr) |
| erase_imp - If the set contains the specified pointer, remove it and return true, otherwise return false. More...
|
|
const void *const * | find_imp (const void *Ptr) const |
| Returns the raw pointer needed to construct an iterator. More...
|
|
void | swap (SmallPtrSetImplBase &RHS) |
| swap - Swaps the elements of two sets. More...
|
|
void | CopyFrom (const SmallPtrSetImplBase &RHS) |
|
void | MoveFrom (unsigned SmallSize, SmallPtrSetImplBase &&RHS) |
|
static void * | getTombstoneMarker () |
|
static void * | getEmptyMarker () |
|
const void ** | SmallArray |
| SmallArray - Points to a fixed size set of buckets, used in 'small mode'. More...
|
|
const void ** | CurArray |
| CurArray - This is the current set of buckets. More...
|
|
unsigned | CurArraySize |
| CurArraySize - The allocated size of CurArray, always a power of two. More...
|
|
unsigned | NumNonEmpty |
| Number of elements in CurArray that contain a value or are a tombstone. More...
|
|
unsigned | NumTombstones |
| Number of tombstones in CurArray. More...
|
|
template<class PtrType, unsigned SmallSize>
class wpi::SmallPtrSet< PtrType, SmallSize >
SmallPtrSet - This class implements a set which is optimized for holding SmallSize or less elements.
This internally rounds up SmallSize to the next power of two if it is not already a power of two. See the comments above SmallPtrSetImplBase for details of the algorithm.