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.