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) |
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 465 of file FoldingSet.h.
typedef FoldingSetBucketIterator<T> llvm::ContextualFoldingSet< T, Ctx >::bucket_iterator |
Definition at line 509 of file FoldingSet.h.
typedef FoldingSetIterator<const T> llvm::ContextualFoldingSet< T, Ctx >::const_iterator |
Definition at line 505 of file FoldingSet.h.
typedef FoldingSetIterator<T> llvm::ContextualFoldingSet< T, Ctx >::iterator |
Definition at line 501 of file FoldingSet.h.
llvm::ContextualFoldingSet< T, Ctx >::ContextualFoldingSet | ( | Ctx | Context, |
unsigned | Log2InitSize = 6 |
||
) | [inline, explicit] |
Definition at line 494 of file FoldingSet.h.
iterator llvm::ContextualFoldingSet< T, Ctx >::begin | ( | ) | [inline] |
Definition at line 502 of file FoldingSet.h.
References llvm::FoldingSetImpl::Buckets.
const_iterator llvm::ContextualFoldingSet< T, Ctx >::begin | ( | ) | const [inline] |
Definition at line 506 of file FoldingSet.h.
References llvm::FoldingSetImpl::Buckets.
bucket_iterator llvm::ContextualFoldingSet< T, Ctx >::bucket_begin | ( | unsigned | hash | ) | [inline] |
Definition at line 511 of file FoldingSet.h.
References llvm::FoldingSetImpl::Buckets, and llvm::FoldingSetImpl::NumBuckets.
bucket_iterator llvm::ContextualFoldingSet< T, Ctx >::bucket_end | ( | unsigned | hash | ) | [inline] |
Definition at line 515 of file FoldingSet.h.
References llvm::FoldingSetImpl::Buckets, and llvm::FoldingSetImpl::NumBuckets.
iterator llvm::ContextualFoldingSet< T, Ctx >::end | ( | ) | [inline] |
Definition at line 503 of file FoldingSet.h.
References llvm::FoldingSetImpl::Buckets, and llvm::FoldingSetImpl::NumBuckets.
const_iterator llvm::ContextualFoldingSet< T, Ctx >::end | ( | ) | const [inline] |
Definition at line 507 of file FoldingSet.h.
References llvm::FoldingSetImpl::Buckets, and llvm::FoldingSetImpl::NumBuckets.
T* llvm::ContextualFoldingSet< T, Ctx >::FindNodeOrInsertPos | ( | const FoldingSetNodeID & | ID, |
void *& | InsertPos | ||
) | [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.
Reimplemented from llvm::FoldingSetImpl.
Definition at line 529 of file FoldingSet.h.
Ctx llvm::ContextualFoldingSet< T, Ctx >::getContext | ( | ) | const [inline] |
Definition at line 498 of file FoldingSet.h.
T* llvm::ContextualFoldingSet< T, Ctx >::GetOrInsertNode | ( | Node * | N | ) | [inline] |
GetOrInsertNode - If there is an existing simple Node exactly equal to the specified node, return it. Otherwise, insert 'N' and return it instead.
Reimplemented from llvm::FoldingSetImpl.
Definition at line 522 of file FoldingSet.h.