|
LLVM 24.0.0git
|
This template class combines a FoldingSet and a vector to provide the interface of FoldingSet but with deterministic iteration order based on the insertion order. More...
#include "llvm/ADT/FoldingSet.h"
Public Types | |
| using | iterator = pointee_iterator<typename VectorT::iterator> |
| using | const_iterator = pointee_iterator<typename VectorT::const_iterator> |
Public Member Functions | |
| FoldingSetVector (unsigned Log2InitSize=6) | |
| iterator | begin () |
| iterator | end () |
| const_iterator | begin () const |
| const_iterator | end () const |
| void | clear () |
| Remove all nodes from the folding set. | |
| T * | lookup (const FoldingSetNodeID &ID, FoldingSetInsertToken &Token) |
| Look up the node specified by ID. | |
| T * | FindNodeOrInsertPos (const FoldingSetNodeID &ID, void *&InsertPos) |
| T * | getOrInsert (T *N) |
| If there is an existing node exactly equal to the specified node, return it. | |
| T * | GetOrInsertNode (T *N) |
| 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) |
| 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. | |
This template class combines a FoldingSet and a vector to provide the interface of FoldingSet but with deterministic iteration order based on the insertion order.
T must be a subclass of FoldingSetNode and implement a Profile function.
Definition at line 578 of file FoldingSet.h.
| using llvm::FoldingSetVector< T, VectorT >::const_iterator = pointee_iterator<typename VectorT::const_iterator> |
Definition at line 590 of file FoldingSet.h.
| using llvm::FoldingSetVector< T, VectorT >::iterator = pointee_iterator<typename VectorT::iterator> |
Definition at line 585 of file FoldingSet.h.
|
inlineexplicit |
Definition at line 583 of file FoldingSet.h.
|
inline |
Definition at line 587 of file FoldingSet.h.
|
inline |
Definition at line 592 of file FoldingSet.h.
|
inline |
Remove all nodes from the folding set.
Definition at line 596 of file FoldingSet.h.
|
inlinenodiscard |
Returns true if there are no nodes in the folding set.
Definition at line 644 of file FoldingSet.h.
|
inline |
Definition at line 588 of file FoldingSet.h.
|
inline |
Definition at line 593 of file FoldingSet.h.
|
inline |
Definition at line 606 of file FoldingSet.h.
References T.
|
inline |
If there is an existing node exactly equal to the specified node, return it.
Otherwise, insert 'N' and return it instead.
Definition at line 612 of file FoldingSet.h.
Referenced by GetOrInsertNode().
|
inline |
Definition at line 618 of file FoldingSet.h.
References getOrInsert(), N, and T.
|
inline |
Insert the specified node into the folding set, knowing that it is not already in the folding set.
Definition at line 634 of file FoldingSet.h.
|
inline |
Insert the specified node into the folding set, knowing that it is not already in the folding set.
Token must come from lookup for an ID that N profiles identically to.
Definition at line 623 of file FoldingSet.h.
Referenced by InsertNode().
|
inline |
Definition at line 638 of file FoldingSet.h.
|
inline |
Definition at line 627 of file FoldingSet.h.
|
inline |
Look up the node specified by ID.
If it exists, return it and clear Token; otherwise return null and set Token for a subsequent insert.
Definition at line 603 of file FoldingSet.h.
References T.
|
inline |
Returns the number of nodes in the folding set.
Definition at line 641 of file FoldingSet.h.