LLVM API Documentation

llvm::FoldingSet< T > Class Template Reference

#include <FoldingSet.h>

Inheritance diagram for llvm::FoldingSet< T >:
[legend]
Collaboration diagram for llvm::FoldingSet< T >:
[legend]

List of all members.

Public Types

typedef FoldingSetIterator< T > iterator
typedef FoldingSetIterator
< const T > 
const_iterator
typedef
FoldingSetBucketIterator< T > 
bucket_iterator

Public Member Functions

 FoldingSet (unsigned Log2InitSize=6)
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)


Detailed Description

template<class T>
class llvm::FoldingSet< T >

FoldingSet - This template class is used to instantiate a specialized implementation of the folding set to the node class T. T must be a subclass of FoldingSetNode and implement a Profile function.

Definition at line 257 of file FoldingSet.h.


Member Typedef Documentation

template<class T>
typedef FoldingSetIterator<T> llvm::FoldingSet< T >::iterator

Definition at line 271 of file FoldingSet.h.

template<class T>
typedef FoldingSetIterator<const T> llvm::FoldingSet< T >::const_iterator

Definition at line 275 of file FoldingSet.h.

Definition at line 279 of file FoldingSet.h.


Constructor & Destructor Documentation

template<class T>
llvm::FoldingSet< T >::FoldingSet ( unsigned  Log2InitSize = 6  )  [inline, explicit]

Definition at line 267 of file FoldingSet.h.


Member Function Documentation

template<class T>
iterator llvm::FoldingSet< T >::begin (  )  [inline]

Definition at line 272 of file FoldingSet.h.

template<class T>
iterator llvm::FoldingSet< T >::end (  )  [inline]

Definition at line 273 of file FoldingSet.h.

template<class T>
const_iterator llvm::FoldingSet< T >::begin (  )  const [inline]

Definition at line 276 of file FoldingSet.h.

template<class T>
const_iterator llvm::FoldingSet< T >::end (  )  const [inline]

Definition at line 277 of file FoldingSet.h.

template<class T>
bucket_iterator llvm::FoldingSet< T >::bucket_begin ( unsigned  hash  )  [inline]

Definition at line 281 of file FoldingSet.h.

template<class T>
bucket_iterator llvm::FoldingSet< T >::bucket_end ( unsigned  hash  )  [inline]

Definition at line 285 of file FoldingSet.h.

template<class T>
T* llvm::FoldingSet< T >::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 292 of file FoldingSet.h.

template<class T>
T* llvm::FoldingSet< T >::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 299 of file FoldingSet.h.


The documentation for this class was generated from the following file: