WPILibC++  2019.3.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
wpi::SmallPtrSet< PtrType, SmallSize > Class Template Reference

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

#include <SmallPtrSet.h>

Inheritance diagram for wpi::SmallPtrSet< PtrType, SmallSize >:
wpi::SmallPtrSetImpl< PtrType > wpi::SmallPtrSetImplBase

Additional Inherited Members

- Public Types inherited from wpi::SmallPtrSetImpl< PtrType >
using iterator = SmallPtrSetIterator< PtrType >
 
using const_iterator = SmallPtrSetIterator< PtrType >
 
using key_type = ConstPtrType
 
using value_type = PtrType
 
- Public Types inherited from wpi::SmallPtrSetImplBase
using size_type = unsigned
 
- Public Member Functions inherited from wpi::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. 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.
 
iterator find (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 wpi::SmallPtrSetImplBase
SmallPtrSetImplBaseoperator= (const SmallPtrSetImplBase &)=delete
 
LLVM_NODISCARD bool empty () const
 
size_type size () const
 
void clear ()
 
- Protected Member Functions inherited from wpi::SmallPtrSetImpl< PtrType >
 SmallPtrSetImpl (const void **SmallStorage, const SmallPtrSetImpl &that)
 
 SmallPtrSetImpl (const void **SmallStorage, unsigned SmallSize, SmallPtrSetImpl &&that)
 
 SmallPtrSetImpl (const void **SmallStorage, unsigned SmallSize)
 
- Protected Member Functions inherited from wpi::SmallPtrSetImplBase
 SmallPtrSetImplBase (const void **SmallStorage, const SmallPtrSetImplBase &that)
 
 SmallPtrSetImplBase (const void **SmallStorage, unsigned SmallSize, SmallPtrSetImplBase &&that)
 
 SmallPtrSetImplBase (const void **SmallStorage, unsigned SmallSize)
 
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 Protected Member Functions inherited from wpi::SmallPtrSetImplBase
static void * getTombstoneMarker ()
 
static void * getEmptyMarker ()
 
- Protected Attributes inherited from wpi::SmallPtrSetImplBase
const void ** SmallArray
 SmallArray - Points to a fixed size set of buckets, used in 'small mode'.
 
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.
 
unsigned NumNonEmpty
 Number of elements in CurArray that contain a value or are a tombstone. More...
 
unsigned NumTombstones
 Number of tombstones in CurArray.
 

Detailed Description

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.


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