|
using | iterator = FoldingSetIterator< T > |
|
using | const_iterator = FoldingSetIterator< const T > |
|
using | bucket_iterator = FoldingSetBucketIterator< T > |
|
| FoldingSetImpl (unsigned Log2InitSize) |
|
| FoldingSetImpl (FoldingSetImpl &&Arg)=default |
|
FoldingSetImpl & | operator= (FoldingSetImpl &&RHS)=default |
|
| ~FoldingSetImpl ()=default |
|
| FoldingSetBase (unsigned Log2InitSize=6) |
|
| FoldingSetBase (FoldingSetBase &&Arg) |
|
FoldingSetBase & | operator= (FoldingSetBase &&RHS) |
|
| ~FoldingSetBase () |
|
virtual void | GetNodeProfile (Node *N, FoldingSetNodeID &ID) const =0 |
| GetNodeProfile - Instantiations of the FoldingSet template implement this function to gather data bits for the given node. More...
|
|
virtual bool | NodeEquals (Node *N, const FoldingSetNodeID &ID, unsigned IDHash, FoldingSetNodeID &TempID) const =0 |
| NodeEquals - Instantiations of the FoldingSet template implement this function to compare the given node with the given ID. More...
|
|
virtual unsigned | ComputeNodeHash (Node *N, FoldingSetNodeID &TempID) const =0 |
| ComputeNodeHash - Instantiations of the FoldingSet template implement this function to compute a hash value for the given node. More...
|
|
bool | RemoveNode (Node *N) |
| RemoveNode - Remove a node from the folding set, returning true if one was removed or false if the node was not in the folding set. More...
|
|
Node * | GetOrInsertNode (Node *N) |
| GetOrInsertNode - If there is an existing simple Node exactly equal to the specified node, return it. More...
|
|
Node * | FindNodeOrInsertPos (const FoldingSetNodeID &ID, void *&InsertPos) |
| FindNodeOrInsertPos - Look up the node specified by ID. More...
|
|
void | InsertNode (Node *N, void *InsertPos) |
| InsertNode - Insert the specified node into the folding set, knowing that it is not already in the folding set. More...
|
|
void ** | Buckets |
| Buckets - Array of bucket chains. More...
|
|
unsigned | NumBuckets |
| NumBuckets - Length of the Buckets array. Always a power of 2. More...
|
|
unsigned | NumNodes |
| NumNodes - Number of nodes in the folding set. More...
|
|
template<class T>
class llvm::FoldingSet< T >
FoldingSet - This template class is used to instantiate a specialized implementation of the folding set to the node class T.
T must be a subclass of FoldingSetNode and implement a Profile function.
Note that this set type is movable and move-assignable. However, its moved-from state is not a valid state for anything other than move-assigning and destroying. This is primarily to enable movable APIs that incorporate these objects.
Definition at line 474 of file FoldingSet.h.