LLVM 19.0.0git
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Friends | List of all members
llvm::ImutAVLFactory< ImutInfo > Class Template Reference

#include "llvm/ADT/ImmutableSet.h"

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)
 balanceTree - Used by add_internal and remove_internal to balance a newly created tree.
 
TreeTyadd_internal (value_type_ref V, TreeTy *T)
 add_internal - Creates a new tree that includes the specified data and the data from the original tree.
 
TreeTyremove_internal (key_type_ref K, TreeTy *T)
 remove_internal - Creates a new tree that includes all the data from the original tree except the specified data.
 
TreeTycombineTrees (TreeTy *L, TreeTy *R)
 
TreeTyremoveMinBinding (TreeTy *T, TreeTy *&Noderemoved)
 
void markImmutable (TreeTy *T)
 markImmutable - Clears the mutable bits of a root and all of its descendants.
 

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 359 of file ImmutableSet.h.

Constructor & Destructor Documentation

◆ ImutAVLFactory() [1/2]

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

Definition at line 385 of file ImmutableSet.h.

◆ ImutAVLFactory() [2/2]

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

Definition at line 388 of file ImmutableSet.h.

◆ ~ImutAVLFactory()

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

Definition at line 391 of file ImmutableSet.h.

Member Function Documentation

◆ add()

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

◆ add_internal()

template<typename ImutInfo >
TreeTy * llvm::ImutAVLFactory< ImutInfo >::add_internal ( value_type_ref  V,
TreeTy T 
)
inlineprotected

◆ balanceTree()

template<typename ImutInfo >
TreeTy * llvm::ImutAVLFactory< ImutInfo >::balanceTree ( TreeTy L,
value_type_ref  V,
TreeTy R 
)
inlineprotected

◆ combineTrees()

template<typename ImutInfo >
TreeTy * llvm::ImutAVLFactory< ImutInfo >::combineTrees ( TreeTy L,
TreeTy R 
)
inlineprotected

◆ compareTreeWithSection()

template<typename ImutInfo >
static bool llvm::ImutAVLFactory< ImutInfo >::compareTreeWithSection ( TreeTy T,
typename TreeTy::iterator TI,
typename TreeTy::iterator TE 
)
inlinestaticprotected

Definition at line 434 of file ImmutableSet.h.

References E, and I.

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

◆ createNode() [1/2]

template<typename ImutInfo >
TreeTy * llvm::ImutAVLFactory< ImutInfo >::createNode ( TreeTy L,
value_type_ref  V,
TreeTy R 
)
inlineprotected

◆ createNode() [2/2]

template<typename ImutInfo >
TreeTy * llvm::ImutAVLFactory< ImutInfo >::createNode ( TreeTy newLeft,
TreeTy oldTree,
TreeTy newRight 
)
inlineprotected

◆ getCanonicalTree()

template<typename ImutInfo >
TreeTy * llvm::ImutAVLFactory< ImutInfo >::getCanonicalTree ( TreeTy TNew)
inline

◆ getEmptyTree()

template<typename ImutInfo >
TreeTy * llvm::ImutAVLFactory< ImutInfo >::getEmptyTree ( ) const
inline

Definition at line 409 of file ImmutableSet.h.

◆ getHeight()

template<typename ImutInfo >
unsigned llvm::ImutAVLFactory< ImutInfo >::getHeight ( TreeTy T) const
inlineprotected

◆ getLeft()

template<typename ImutInfo >
TreeTy * llvm::ImutAVLFactory< ImutInfo >::getLeft ( TreeTy T) const
inlineprotected

◆ getRight()

template<typename ImutInfo >
TreeTy * llvm::ImutAVLFactory< ImutInfo >::getRight ( TreeTy T) const
inlineprotected

◆ getValue()

template<typename ImutInfo >
value_type_ref llvm::ImutAVLFactory< ImutInfo >::getValue ( TreeTy T) const
inlineprotected

◆ incrementHeight()

template<typename ImutInfo >
unsigned llvm::ImutAVLFactory< ImutInfo >::incrementHeight ( TreeTy L,
TreeTy R 
) const
inlineprotected

◆ isEmpty()

template<typename ImutInfo >
bool llvm::ImutAVLFactory< ImutInfo >::isEmpty ( TreeTy T) const
inlineprotected

◆ markImmutable()

template<typename ImutInfo >
void llvm::ImutAVLFactory< ImutInfo >::markImmutable ( TreeTy T)
inlineprotected

◆ maskCacheIndex()

template<typename ImutInfo >
static unsigned llvm::ImutAVLFactory< ImutInfo >::maskCacheIndex ( unsigned  I)
inlinestaticprotected

Definition at line 426 of file ImmutableSet.h.

References I.

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

◆ recoverNodes()

template<typename ImutInfo >
void llvm::ImutAVLFactory< ImutInfo >::recoverNodes ( )
inlineprotected

Definition at line 475 of file ImmutableSet.h.

References N.

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

◆ remove()

template<typename ImutInfo >
TreeTy * llvm::ImutAVLFactory< ImutInfo >::remove ( TreeTy T,
key_type_ref  V 
)
inline

◆ remove_internal()

template<typename ImutInfo >
TreeTy * llvm::ImutAVLFactory< ImutInfo >::remove_internal ( key_type_ref  K,
TreeTy T 
)
inlineprotected

◆ removeMinBinding()

template<typename ImutInfo >
TreeTy * llvm::ImutAVLFactory< ImutInfo >::removeMinBinding ( TreeTy T,
TreeTy *&  Noderemoved 
)
inlineprotected

Friends And Related Function Documentation

◆ ImutAVLTree< ImutInfo >

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

Definition at line 351 of file ImmutableSet.h.


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