|
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 * | getOrInsert (T *N) |
| If there is an existing node exactly equal to the specified node, return it. | |
| 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 | insert (T *N) |
| Insert the specified node into the folding set, knowing that it is not already in 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. | |
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 577 of file FoldingSet.h.
| using llvm::FoldingSetVector< T, VectorT >::const_iterator = pointee_iterator<typename VectorT::const_iterator> |
Definition at line 589 of file FoldingSet.h.
| using llvm::FoldingSetVector< T, VectorT >::iterator = pointee_iterator<typename VectorT::iterator> |
Definition at line 584 of file FoldingSet.h.
|
inlineexplicit |
Definition at line 582 of file FoldingSet.h.
|
inline |
Definition at line 586 of file FoldingSet.h.
|
inline |
Definition at line 591 of file FoldingSet.h.
|
inline |
Remove all nodes from the folding set.
Definition at line 595 of file FoldingSet.h.
|
inlinenodiscard |
Returns true if there are no nodes in the folding set.
Definition at line 634 of file FoldingSet.h.
|
inline |
Definition at line 587 of file FoldingSet.h.
|
inline |
Definition at line 592 of file FoldingSet.h.
|
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 608 of file FoldingSet.h.
|
inline |
Insert the specified node into the folding set, knowing that it is not already in the folding set.
Definition at line 625 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 618 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 602 of file FoldingSet.h.
References T.
|
inline |
Returns the number of nodes in the folding set.
Definition at line 631 of file FoldingSet.h.