LLVM: llvm::SmallPtrSet< PtrType, SmallSize > Class Template Reference (original) (raw)

SmallPtrSet - This class implements a set which is optimized for holding SmallSize or less elements. More...

#include "[llvm/ADT/SmallPtrSet.h](SmallPtrSet%5F8h%5Fsource.html)"

Inherits llvm::SmallPtrSetImpl< PtrType >.

Public Member Functions
SmallPtrSet ()
SmallPtrSet (const SmallPtrSet &that)
SmallPtrSet (SmallPtrSet &&that)
template
SmallPtrSet (It I, It E)
template<typename Range>
SmallPtrSet (llvm::from_range_t, Range &&R)
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
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
void insert (IterT I, IterT E)
void insert (std::initializer_list< PtrType > IL)
template<typename Range>
void insert_range (Range &&R)
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 NewNumEntries)
Public Member Functions inherited from llvm::DebugEpochBase
void incrementEpoch ()
Additional Inherited Members
Public Types inherited from llvm::SmallPtrSetImpl< PtrType >
using iterator = SmallPtrSetIterator
using const_iterator = SmallPtrSetIterator
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 >
LLVM_ABI SmallPtrSetImplBase (const void **SmallStorage, const SmallPtrSetImplBase &that)
LLVM_ABI SmallPtrSetImplBase (const void **SmallStorage, unsigned SmallSize, const void **RHSSmallStorage, SmallPtrSetImplBase &&that)
SmallPtrSetImplBase (const void **SmallStorage, unsigned SmallSize)
Protected Member Functions inherited from llvm::SmallPtrSetImplBase
LLVM_ABI SmallPtrSetImplBase (const void **SmallStorage, const SmallPtrSetImplBase &that)
LLVM_ABI SmallPtrSetImplBase (const void **SmallStorage, unsigned SmallSize, const void **RHSSmallStorage, SmallPtrSetImplBase &&that)
SmallPtrSetImplBase (const void **SmallStorage, unsigned SmallSize)
~SmallPtrSetImplBase ()
const void ** EndPointer () const
iterator_range< const void ** > small_buckets ()
iterator_range< const void *const * > small_buckets () const
iterator_range< const void ** > buckets ()
iterator_range< const void *const * > buckets () 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
LLVM_ABI void swap (const void **SmallStorage, const void **RHSSmallStorage, SmallPtrSetImplBase &RHS)
swap - Swaps the elements of two sets.
LLVM_ABI void copyFrom (const void **SmallStorage, const SmallPtrSetImplBase &RHS)
LLVM_ABI 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 NumEntries
Number of elements in CurArray that contain a value.
unsigned NumTombstones
Number of tombstones in CurArray.
bool IsSmall
Whether the set is in small representation.

template<class PtrType, unsigned SmallSize>
class llvm::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.

Definition at line 527 of file SmallPtrSet.h.

template<class PtrType, unsigned SmallSize>

SmallPtrSet() [2/6]

template<class PtrType, unsigned SmallSize>

SmallPtrSet() [3/6]

template<class PtrType, unsigned SmallSize>

SmallPtrSet() [4/6]

template<class PtrType, unsigned SmallSize>

template

SmallPtrSet() [5/6]

template<class PtrType, unsigned SmallSize>

template<typename Range>

SmallPtrSet() [6/6]

template<class PtrType, unsigned SmallSize>

llvm::SmallPtrSet< PtrType, SmallSize >::SmallPtrSet ( std::initializer_list< PtrType > IL) inline

operator=() [1/3]

template<class PtrType, unsigned SmallSize>

operator=() [2/3]

template<class PtrType, unsigned SmallSize>

operator=() [3/3]

template<class PtrType, unsigned SmallSize>

swap()

template<class PtrType, unsigned SmallSize>

swap - Swaps the elements of two sets.

Definition at line 584 of file SmallPtrSet.h.


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