LLVM API Documentation

Public Member Functions | Protected Member Functions | Static Protected Member Functions | Friends
llvm::ImutAVLFactory< ImutInfo > Class Template Reference

#include <ImmutableSet.h>

List of all members.

Public Member Functions

 ImutAVLFactory ()
 ImutAVLFactory (BumpPtrAllocator &Alloc)
 ~ImutAVLFactory ()
TreeTyadd (TreeTy *T, value_type_ref V)
TreeTyremove (TreeTy *T, key_type_ref V)
TreeTygetEmptyTree () const
TreeTygetCanonicalTree (TreeTy *TNew)

Protected Member Functions

bool isEmpty (TreeTy *T) const
unsigned getHeight (TreeTy *T) const
TreeTygetLeft (TreeTy *T) const
TreeTygetRight (TreeTy *T) const
value_type_ref getValue (TreeTy *T) const
unsigned incrementHeight (TreeTy *L, TreeTy *R) const
TreeTycreateNode (TreeTy *L, value_type_ref V, TreeTy *R)
TreeTycreateNode (TreeTy *newLeft, TreeTy *oldTree, TreeTy *newRight)
void recoverNodes ()
TreeTybalanceTree (TreeTy *L, value_type_ref V, TreeTy *R)
TreeTyadd_internal (value_type_ref V, TreeTy *T)
TreeTyremove_internal (key_type_ref K, TreeTy *T)
TreeTycombineTrees (TreeTy *L, TreeTy *R)
TreeTyremoveMinBinding (TreeTy *T, TreeTy *&Noderemoved)
void markImmutable (TreeTy *T)

Static Protected Member Functions

static unsigned maskCacheIndex (unsigned I)
static bool compareTreeWithSection (TreeTy *T, typename TreeTy::iterator &TI, typename TreeTy::iterator &TE)

Friends

class ImutAVLTree< ImutInfo >

Detailed Description

template<typename ImutInfo>
class llvm::ImutAVLFactory< ImutInfo >

Definition at line 364 of file ImmutableSet.h.


Constructor & Destructor Documentation

template<typename ImutInfo >
llvm::ImutAVLFactory< ImutInfo >::ImutAVLFactory ( ) [inline]

Definition at line 390 of file ImmutableSet.h.

template<typename ImutInfo >
llvm::ImutAVLFactory< ImutInfo >::ImutAVLFactory ( BumpPtrAllocator Alloc) [inline]

Definition at line 393 of file ImmutableSet.h.

template<typename ImutInfo >
llvm::ImutAVLFactory< ImutInfo >::~ImutAVLFactory ( ) [inline]

Definition at line 396 of file ImmutableSet.h.


Member Function Documentation

template<typename ImutInfo >
TreeTy* llvm::ImutAVLFactory< ImutInfo >::add ( TreeTy T,
value_type_ref  V 
) [inline]
template<typename ImutInfo >
TreeTy* llvm::ImutAVLFactory< ImutInfo >::add_internal ( value_type_ref  V,
TreeTy T 
) [inline, protected]

add_internal - Creates a new tree that includes the specified data and the data from the original tree. If the original tree already contained the data item, the original tree is returned.

Definition at line 538 of file ImmutableSet.h.

References llvm::ImutAVLFactory< ImutInfo >::balanceTree(), llvm::ImutAVLFactory< ImutInfo >::createNode(), llvm::ImutAVLFactory< ImutInfo >::getLeft(), llvm::ImutAVLFactory< ImutInfo >::getRight(), llvm::ImutAVLFactory< ImutInfo >::getValue(), and llvm::ImutAVLFactory< ImutInfo >::isEmpty().

Referenced by llvm::ImutAVLFactory< ImutInfo >::add().

template<typename ImutInfo >
TreeTy* llvm::ImutAVLFactory< ImutInfo >::balanceTree ( TreeTy L,
value_type_ref  V,
TreeTy R 
) [inline, protected]
template<typename ImutInfo >
TreeTy* llvm::ImutAVLFactory< ImutInfo >::combineTrees ( TreeTy L,
TreeTy R 
) [inline, protected]
template<typename ImutInfo >
static bool llvm::ImutAVLFactory< ImutInfo >::compareTreeWithSection ( TreeTy T,
typename TreeTy::iterator TI,
typename TreeTy::iterator TE 
) [inline, static, protected]
template<typename ImutInfo >
TreeTy* llvm::ImutAVLFactory< ImutInfo >::createNode ( TreeTy L,
value_type_ref  V,
TreeTy R 
) [inline, protected]
template<typename ImutInfo >
TreeTy* llvm::ImutAVLFactory< ImutInfo >::createNode ( TreeTy newLeft,
TreeTy oldTree,
TreeTy newRight 
) [inline, protected]
template<typename ImutInfo >
TreeTy* llvm::ImutAVLFactory< ImutInfo >::getCanonicalTree ( TreeTy TNew) [inline]
template<typename ImutInfo >
TreeTy* llvm::ImutAVLFactory< ImutInfo >::getEmptyTree ( ) const [inline]
template<typename ImutInfo >
unsigned llvm::ImutAVLFactory< ImutInfo >::getHeight ( TreeTy T) const [inline, protected]
template<typename ImutInfo >
TreeTy* llvm::ImutAVLFactory< ImutInfo >::getLeft ( TreeTy T) const [inline, protected]
template<typename ImutInfo >
TreeTy* llvm::ImutAVLFactory< ImutInfo >::getRight ( TreeTy T) const [inline, protected]
template<typename ImutInfo >
value_type_ref llvm::ImutAVLFactory< ImutInfo >::getValue ( TreeTy T) const [inline, protected]
template<typename ImutInfo >
unsigned llvm::ImutAVLFactory< ImutInfo >::incrementHeight ( TreeTy L,
TreeTy R 
) const [inline, protected]
template<typename ImutInfo >
bool llvm::ImutAVLFactory< ImutInfo >::isEmpty ( TreeTy T) const [inline, protected]
template<typename ImutInfo >
void llvm::ImutAVLFactory< ImutInfo >::markImmutable ( TreeTy T) [inline, protected]

markImmutable - Clears the mutable bits of a root and all of its descendants.

Definition at line 599 of file ImmutableSet.h.

References llvm::ImutAVLFactory< ImutInfo >::getLeft(), and llvm::ImutAVLFactory< ImutInfo >::getRight().

Referenced by llvm::ImutAVLFactory< ImutInfo >::add(), and llvm::ImutAVLFactory< ImutInfo >::remove().

template<typename ImutInfo >
static unsigned llvm::ImutAVLFactory< ImutInfo >::maskCacheIndex ( unsigned  I) [inline, static, protected]
template<typename ImutInfo >
void llvm::ImutAVLFactory< ImutInfo >::recoverNodes ( ) [inline, protected]
template<typename ImutInfo >
TreeTy* llvm::ImutAVLFactory< ImutInfo >::remove ( TreeTy T,
key_type_ref  V 
) [inline]
template<typename ImutInfo >
TreeTy* llvm::ImutAVLFactory< ImutInfo >::remove_internal ( key_type_ref  K,
TreeTy T 
) [inline, protected]

remove_internal - Creates a new tree that includes all the data from the original tree except the specified data. If the specified data did not exist in the original tree, the original tree is returned.

Definition at line 558 of file ImmutableSet.h.

References llvm::ImutAVLFactory< ImutInfo >::balanceTree(), llvm::ImutAVLFactory< ImutInfo >::combineTrees(), llvm::ImutAVLFactory< ImutInfo >::getLeft(), llvm::ImutAVLFactory< ImutInfo >::getRight(), llvm::ImutAVLFactory< ImutInfo >::getValue(), llvm::ImutAVLFactory< ImutInfo >::isEmpty(), and T.

Referenced by llvm::ImutAVLFactory< ImutInfo >::remove().

template<typename ImutInfo >
TreeTy* llvm::ImutAVLFactory< ImutInfo >::removeMinBinding ( TreeTy T,
TreeTy *&  Noderemoved 
) [inline, protected]

Friends And Related Function Documentation

template<typename ImutInfo >
friend class ImutAVLTree< ImutInfo > [friend]

Definition at line 365 of file ImmutableSet.h.


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