LLVM API Documentation
#include <FoldingSet.h>
Public Types | |
typedef FoldingSetIterator< T > | iterator |
typedef FoldingSetIterator < const T > | const_iterator |
typedef FoldingSetBucketIterator< T > | bucket_iterator |
Public Member Functions | |
ContextualFoldingSet (Ctx Context, unsigned Log2InitSize=6) | |
Ctx | getContext () const |
iterator | begin () |
iterator | end () |
const_iterator | begin () const |
const_iterator | end () const |
bucket_iterator | bucket_begin (unsigned hash) |
bucket_iterator | bucket_end (unsigned hash) |
T * | GetOrInsertNode (Node *N) |
T * | FindNodeOrInsertPos (const FoldingSetNodeID &ID, void *&InsertPos) |
![]() | |
FoldingSetImpl (unsigned Log2InitSize=6) | |
virtual | ~FoldingSetImpl () |
void | clear () |
clear - Remove all nodes from the folding set. More... | |
bool | RemoveNode (Node *N) |
Node * | GetOrInsertNode (Node *N) |
Node * | FindNodeOrInsertPos (const FoldingSetNodeID &ID, void *&InsertPos) |
void | InsertNode (Node *N, void *InsertPos) |
void | InsertNode (Node *N) |
unsigned | size () const |
size - Returns the number of nodes in the folding set. More... | |
bool | empty () const |
empty - Returns true if there are no nodes in the folding set. More... | |
Additional Inherited Members | |
![]() | |
void ** | Buckets |
unsigned | NumBuckets |
unsigned | NumNodes |
ContextualFoldingSet - This template class is a further refinement of FoldingSet which provides a context argument when calling Profile on its nodes. Currently, that argument is fixed at initialization time.
T must be a subclass of FoldingSetNode and implement a Profile function with signature void Profile(llvm::FoldingSetNodeID &, Ctx);
Definition at line 460 of file FoldingSet.h.
typedef FoldingSetBucketIterator<T> llvm::ContextualFoldingSet< T, Ctx >::bucket_iterator |
Definition at line 505 of file FoldingSet.h.
typedef FoldingSetIterator<const T> llvm::ContextualFoldingSet< T, Ctx >::const_iterator |
Definition at line 501 of file FoldingSet.h.
typedef FoldingSetIterator<T> llvm::ContextualFoldingSet< T, Ctx >::iterator |
Definition at line 497 of file FoldingSet.h.
|
inlineexplicit |
Definition at line 490 of file FoldingSet.h.
|
inline |
Definition at line 498 of file FoldingSet.h.
References llvm::FoldingSetImpl::Buckets.
|
inline |
Definition at line 502 of file FoldingSet.h.
References llvm::FoldingSetImpl::Buckets.
|
inline |
Definition at line 507 of file FoldingSet.h.
References llvm::FoldingSetImpl::Buckets, and llvm::FoldingSetImpl::NumBuckets.
|
inline |
Definition at line 511 of file FoldingSet.h.
References llvm::FoldingSetImpl::Buckets, and llvm::FoldingSetImpl::NumBuckets.
|
inline |
Definition at line 499 of file FoldingSet.h.
References llvm::FoldingSetImpl::Buckets, and llvm::FoldingSetImpl::NumBuckets.
|
inline |
Definition at line 503 of file FoldingSet.h.
References llvm::FoldingSetImpl::Buckets, and llvm::FoldingSetImpl::NumBuckets.
|
inline |
FindNodeOrInsertPos - Look up the node specified by ID. If it exists, return it. If not, return the insertion token that will make insertion faster.
Definition at line 525 of file FoldingSet.h.
References llvm::FoldingSetImpl::FindNodeOrInsertPos().
|
inline |
Definition at line 494 of file FoldingSet.h.
|
inline |
GetOrInsertNode - If there is an existing simple Node exactly equal to the specified node, return it. Otherwise, insert 'N' and return it instead.
Definition at line 518 of file FoldingSet.h.
References llvm::FoldingSetImpl::GetOrInsertNode().