LLVM 20.0.0git
|
SmallPtrSet - This class implements a set which is optimized for holding SmallSize or less elements. More...
#include "llvm/ADT/SmallPtrSet.h"
Inherits llvm::SmallPtrSetImpl< PtrType >.
Inherited by llvm::df_iterator_default_set< typename GraphTraits< std::conditional_t< IsConst, const BlockT, BlockT > * >::NodeRef >, llvm::df_iterator_default_set< typename GraphTraits< T >::NodeRef >, llvm::df_iterator_default_set< typename GraphTraits< GraphT >::NodeRef >, and llvm::df_iterator_default_set< NodeRef, SmallSize >.
Public Member Functions | |
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. | |
Public Member Functions inherited from llvm::SmallPtrSetImpl< PtrType > | |
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. | |
iterator | insert (iterator, PtrType Ptr) |
Insert the given pointer with an iterator hint that is ignored. | |
bool | erase (PtrType Ptr) |
Remove pointer from the set. | |
template<typename UnaryPredicate > | |
bool | remove_if (UnaryPredicate P) |
Remove elements that match the given predicate. | |
size_type | count (ConstPtrType Ptr) const |
count - Return 1 if the specified pointer is in the set, 0 otherwise. | |
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 |
Public Member Functions inherited from llvm::SmallPtrSetImplBase | |
SmallPtrSetImplBase & | operator= (const SmallPtrSetImplBase &)=delete |
bool | empty () const |
size_type | size () const |
size_type | capacity () const |
void | clear () |
void | reserve (size_type NumEntries) |
Public Member Functions inherited from llvm::DebugEpochBase | |
void | incrementEpoch () |
Additional Inherited Members | |
Public Types inherited from llvm::SmallPtrSetImpl< PtrType > | |
using | iterator = SmallPtrSetIterator< PtrType > |
using | const_iterator = SmallPtrSetIterator< PtrType > |
using | key_type = ConstPtrType |
using | value_type = PtrType |
Public Types inherited from llvm::SmallPtrSetImplBase | |
using | size_type = unsigned |
Protected Member Functions inherited from llvm::SmallPtrSetImpl< PtrType > | |
SmallPtrSetImplBase (const void **SmallStorage, const SmallPtrSetImplBase &that) | |
SmallPtrSetImplBase (const void **SmallStorage, unsigned SmallSize, const void **RHSSmallStorage, SmallPtrSetImplBase &&that) | |
SmallPtrSetImplBase (const void **SmallStorage, unsigned SmallSize) | |
Protected Member Functions inherited from llvm::SmallPtrSetImplBase | |
SmallPtrSetImplBase (const void **SmallStorage, const SmallPtrSetImplBase &that) | |
SmallPtrSetImplBase (const void **SmallStorage, unsigned SmallSize, const void **RHSSmallStorage, 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. | |
bool | erase_imp (const void *Ptr) |
erase_imp - If the set contains the specified pointer, remove it and return true, otherwise return false. | |
const void *const * | find_imp (const void *Ptr) const |
Returns the raw pointer needed to construct an iterator. | |
bool | contains_imp (const void *Ptr) const |
bool | isSmall () const |
void | swap (const void **SmallStorage, const void **RHSSmallStorage, SmallPtrSetImplBase &RHS) |
swap - Swaps the elements of two sets. | |
void | copyFrom (const void **SmallStorage, const SmallPtrSetImplBase &RHS) |
void | moveFrom (const void **SmallStorage, unsigned SmallSize, const void **RHSSmallStorage, SmallPtrSetImplBase &&RHS) |
Static Protected Member Functions inherited from llvm::SmallPtrSetImplBase | |
static void * | getTombstoneMarker () |
static void * | getEmptyMarker () |
Protected Attributes inherited from llvm::SmallPtrSetImplBase | |
const void ** | CurArray |
The current set of buckets, in either small or big representation. | |
unsigned | CurArraySize |
CurArraySize - The allocated size of CurArray, always a power of two. | |
unsigned | NumNonEmpty |
Number of elements in CurArray that contain a value or are a tombstone. | |
unsigned | NumTombstones |
Number of tombstones in CurArray. | |
bool | IsSmall |
Whether the set is in small representation. | |
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.
Definition at line 519 of file SmallPtrSet.h.
|
inline |
Definition at line 543 of file SmallPtrSet.h.
|
inline |
Definition at line 544 of file SmallPtrSet.h.
|
inline |
Definition at line 545 of file SmallPtrSet.h.
|
inline |
Definition at line 550 of file SmallPtrSet.h.
References E, and llvm::SmallPtrSetImpl< PtrType >::insert().
|
inline |
Definition at line 554 of file SmallPtrSet.h.
References llvm::SmallPtrSetImpl< PtrType >::insert().
|
inline |
Definition at line 560 of file SmallPtrSet.h.
References llvm::SmallPtrSetImplBase::copyFrom(), and RHS.
|
inline |
Definition at line 567 of file SmallPtrSet.h.
References llvm::SmallPtrSetImplBase::moveFrom(), and RHS.
|
inline |
Definition at line 575 of file SmallPtrSet.h.
References llvm::SmallPtrSetImplBase::clear(), and llvm::SmallPtrSetImpl< PtrType >::insert().
|
inline |
swap - Swaps the elements of two sets.
Definition at line 582 of file SmallPtrSet.h.
References RHS, and llvm::SmallPtrSetImplBase::swap().