|
| | FoldingSetImpl (unsigned Log2InitSize=6) |
| template<typename C, typename = std::enable_if_t<std::is_constructible_v< typename Trait::ContextStorage, C>>> |
| | FoldingSetImpl (C &&Context, unsigned Log2InitSize=6) |
| | FoldingSetImpl (FoldingSetImpl &&Arg)=default |
| FoldingSetImpl & | operator= (FoldingSetImpl &&RHS)=default |
| | ~FoldingSetImpl ()=default |
| iterator | begin () |
| iterator | end () |
| const_iterator | begin () const |
| const_iterator | end () const |
| bool | erase (T *N) |
| | Remove a node from the folding set, returning true if one was removed or false if the node was not in the folding set.
|
| bool | RemoveNode (T *N) |
| T * | getOrInsert (T *N) |
| | If there is an existing node exactly equal to the specified node, return it.
|
| T * | GetOrInsertNode (T *N) |
| T * | lookup (const FoldingSetNodeID &ID, FoldingSetInsertToken &Token) |
| | Look up the node specified by ID.
|
| T * | FindNodeOrInsertPos (const FoldingSetNodeID &ID, void *&InsertPos) |
| void | insert (T *N, FoldingSetInsertToken Token) |
| | Insert the specified node into the folding set, knowing that it is not already in the folding set.
|
| void | InsertNode (T *N, void *InsertPos) |
| void | insert (T *N) |
| | Insert the specified node into the folding set, knowing that it is not already in the folding set.
|
| void | InsertNode (T *N) |
| LLVM_ABI void | clear () |
| | Remove all nodes from the folding set.
|
| unsigned | size () const |
| | Returns the number of nodes in the folding set.
|
| bool | empty () const |
| | Returns true if there are no nodes in the folding set.
|
| LLVM_ABI void | reserve (unsigned N) |
| | Grow the number of buckets so that we can hold at least N nodes before rebucketing.
|
| void | incrementEpoch () |
|
| LLVM_ABI | FoldingSetBase (unsigned Log2InitSize) |
| LLVM_ABI | FoldingSetBase (FoldingSetBase &&Arg) |
| LLVM_ABI FoldingSetBase & | operator= (FoldingSetBase &&RHS) |
| LLVM_ABI | ~FoldingSetBase () |
| LLVM_ABI bool | RemoveNode (Node *N) |
| | Remove a node from the folding set, returning true if one was removed or false if the node was not in the folding set.
|
| LLVM_ABI Node * | GetOrInsertNode (Node *N, const FoldingSetInfo &Info) |
| | If there is an existing node exactly equal to the node N, return it.
|
| LLVM_ABI Node * | lookup (const FoldingSetNodeID &ID, FoldingSetInsertToken &Token, const FoldingSetInfo &Info) |
| | Look up the node specified by ID.
|
| LLVM_ABI Node * | FindNodeOrInsertPos (const FoldingSetNodeID &ID, void *&InsertPos, const FoldingSetInfo &Info) |
| LLVM_ABI void | insert (Node *N, FoldingSetInsertToken Token) |
| | Insert the specified node into the folding set, knowing that it is not already in the folding set.
|
| LLVM_ABI void | InsertNode (Node *N, void *InsertPos) |
| void ** | Buckets = nullptr |
| | Array of node pointers; a null entry marks an empty slot.
|
| unsigned | NumBuckets = 0 |
| | Length of the Buckets array. Always a power of 2.
|
| unsigned | NumNodes = 0 |
| | Number of nodes in the folding set.
|
template<class
T, class Trait = FoldingSetTrait<T>>
class llvm::FoldingSetImpl< T, Trait >
An implementation detail that lets us share code between FoldingSet and ContextualFoldingSet.
Definition at line 445 of file FoldingSet.h.