LLVM 22.0.0git
llvm::StringSet< AllocatorTy > Class Template Reference

StringSet - A wrapper for StringMap that provides set-like functionality. More...

#include "llvm/ADT/StringSet.h"

Inheritance diagram for llvm::StringSet< AllocatorTy >:
[legend]

Public Member Functions

 StringSet ()=default
 StringSet (std::initializer_list< StringRef > initializer)
template<typename Range>
 StringSet (llvm::from_range_t, Range &&R)
 StringSet (AllocatorTy a)
std::pair< typename Base::iterator, boolinsert (StringRef key)
template<typename InputIt>
void insert (InputIt begin, InputIt end)
template<typename Range>
void insert_range (Range &&R)
template<typename ValueTy>
std::pair< typename Base::iterator, boolinsert (const StringMapEntry< ValueTy > &mapEntry)
bool contains (StringRef key) const
 Check if the set contains the given key.
Public Member Functions inherited from llvm::StringMap< std::nullopt_t, MallocAllocator >
MallocAllocatorgetAllocator ()
const MallocAllocatorgetAllocator () const
 StringMap ()
StringMapoperator= (StringMap RHS)
 ~StringMap ()
iterator begin ()
iterator end ()
iterator_range< StringMapKeyIterator< std::nullopt_t > > keys () const
iterator find (StringRef Key)
std::nullopt_t lookup (StringRef Key) const
 lookup - Return the entry for the specified key, or a default constructed value if no such entry exists.
const std::nullopt_t & at (StringRef Val) const
 at - Return the entry for the specified key, or abort if no such entry exists.
std::nullopt_t & operator[] (StringRef Key)
 Lookup the ValueTy for the Key, or create a default constructed value if the key is not in the map.
bool contains (StringRef Key) const
 contains - Return true if the element is in the map, false otherwise.
size_type count (StringRef Key) const
 count - Return 1 if the element is in the map, 0 otherwise.
bool operator== (const StringMap &RHS) const
 equal - check whether both of the containers are equal.
bool operator!= (const StringMap &RHS) const
bool insert (MapEntryTy *KeyValue)
 insert - Insert the specified key/value pair into the map.
std::pair< iterator, boolinsert_or_assign (StringRef Key, V &&Val)
 Inserts an element or assigns to the current element if the key already exists.
std::pair< iterator, booltry_emplace (StringRef Key, ArgsTy &&...Args)
 Emplace a new element for the specified key into the map if the key isn't already in the map.
std::pair< iterator, booltry_emplace_with_hash (StringRef Key, uint32_t FullHashValue, ArgsTy &&...Args)
void clear ()
void remove (MapEntryTy *KeyValue)
 remove - Remove the specified key/value pair from the map, but do not erase it.
void erase (iterator I)
Public Member Functions inherited from llvm::StringMapImpl
unsigned getNumBuckets () const
unsigned getNumItems () const
bool empty () const
unsigned size () const
void swap (StringMapImpl &Other)

Additional Inherited Members

Public Types inherited from llvm::StringMap< std::nullopt_t, MallocAllocator >
using MapEntryTy
using key_type
using mapped_type
using value_type
using size_type
using const_iterator
using iterator
Static Public Member Functions inherited from llvm::StringMapImpl
static StringMapEntryBasegetTombstoneVal ()
static LLVM_ABI uint32_t hash (StringRef Key)
 Returns the hash value that will be used for the given string.
Static Public Attributes inherited from llvm::StringMapImpl
static constexpr uintptr_t TombstoneIntVal
Protected Member Functions inherited from llvm::StringMapImpl
 StringMapImpl (unsigned itemSize)
 StringMapImpl (StringMapImpl &&RHS)
LLVM_ABI StringMapImpl (unsigned InitSize, unsigned ItemSize)
 ~StringMapImpl ()
LLVM_ABI unsigned RehashTable (unsigned BucketNo=0)
 RehashTable - Grow the table, redistributing values into the buckets with the appropriate mod-of-hashtable-size.
unsigned LookupBucketFor (StringRef Key)
 LookupBucketFor - Look up the bucket that the specified string should end up in.
LLVM_ABI unsigned LookupBucketFor (StringRef Key, uint32_t FullHashValue)
 Overload that explicitly takes precomputed hash(Key).
int FindKey (StringRef Key) const
 FindKey - Look up the bucket that contains the specified key.
LLVM_ABI int FindKey (StringRef Key, uint32_t FullHashValue) const
 Overload that explicitly takes precomputed hash(Key).
LLVM_ABI void RemoveKey (StringMapEntryBase *V)
 RemoveKey - Remove the specified StringMapEntry from the table, but do not delete it.
LLVM_ABI StringMapEntryBaseRemoveKey (StringRef Key)
 RemoveKey - Remove the StringMapEntry for the specified key from the table, returning it.
LLVM_ABI void init (unsigned Size)
 Allocate the table with the specified number of buckets and otherwise setup the map as empty.
iterator_range< StringMapEntryBase ** > buckets ()
Protected Attributes inherited from llvm::StringMapImpl
StringMapEntryBase ** TheTable = nullptr
unsigned NumBuckets = 0
unsigned NumItems = 0
unsigned NumTombstones = 0
unsigned ItemSize

Detailed Description

template<class AllocatorTy = MallocAllocator>
class llvm::StringSet< AllocatorTy >

StringSet - A wrapper for StringMap that provides set-like functionality.

Definition at line 25 of file StringSet.h.

Constructor & Destructor Documentation

◆ StringSet() [1/4]

template<class AllocatorTy = MallocAllocator>
llvm::StringSet< AllocatorTy >::StringSet ( )
default

◆ StringSet() [2/4]

template<class AllocatorTy = MallocAllocator>
llvm::StringSet< AllocatorTy >::StringSet ( std::initializer_list< StringRef > initializer)
inline

Definition at line 30 of file StringSet.h.

References insert().

◆ StringSet() [3/4]

template<class AllocatorTy = MallocAllocator>
template<typename Range>
llvm::StringSet< AllocatorTy >::StringSet ( llvm::from_range_t ,
Range && R )
inline

Definition at line 34 of file StringSet.h.

References llvm::adl_begin(), llvm::adl_end(), insert(), and Range.

◆ StringSet() [4/4]

template<class AllocatorTy = MallocAllocator>
llvm::StringSet< AllocatorTy >::StringSet ( AllocatorTy a)
inlineexplicit

Definition at line 37 of file StringSet.h.

Member Function Documentation

◆ contains()

template<class AllocatorTy = MallocAllocator>
bool llvm::StringSet< AllocatorTy >::contains ( StringRef key) const
inline

Check if the set contains the given key.

Definition at line 60 of file StringSet.h.

References llvm::StringMap< std::nullopt_t, AllocatorTy >::contains().

Referenced by llvm::libDriverMain().

◆ insert() [1/3]

template<class AllocatorTy = MallocAllocator>
template<typename ValueTy>
std::pair< typename Base::iterator, bool > llvm::StringSet< AllocatorTy >::insert ( const StringMapEntry< ValueTy > & mapEntry)
inline

Definition at line 55 of file StringSet.h.

References llvm::StringMapEntry< ValueTy >::getKey(), and insert().

◆ insert() [2/3]

template<class AllocatorTy = MallocAllocator>
template<typename InputIt>
void llvm::StringSet< AllocatorTy >::insert ( InputIt begin,
InputIt end )
inline

◆ insert() [3/3]

◆ insert_range()

template<class AllocatorTy = MallocAllocator>
template<typename Range>
void llvm::StringSet< AllocatorTy >::insert_range ( Range && R)
inline

Definition at line 49 of file StringSet.h.

References llvm::adl_begin(), llvm::adl_end(), insert(), and Range.

Referenced by llvm::FileCheck::ValidateCheckPrefixes().


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