class ImutAVLFactory
Declaration
template <typename ImutInfo>
class ImutAVLFactory { /* full declaration omitted */ };
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:359
Templates
- ImutInfo
Member Variables
- private llvm::ImutAVLFactory::CacheTy Cache
- private uintptr_t Allocator
- private std::vector<TreeTy*> createdNodes
- private std::vector<TreeTy*> freeNodes
Method Overview
- public ImutAVLFactory<ImutInfo>()
- public ImutAVLFactory<ImutInfo>(llvm::BumpPtrAllocator & Alloc)
- public llvm::ImutAVLFactory::TreeTy * add(llvm::ImutAVLFactory::TreeTy * T, llvm::ImutAVLFactory::value_type_ref V)
- protected llvm::ImutAVLFactory::TreeTy * add_internal(llvm::ImutAVLFactory::value_type_ref V, llvm::ImutAVLFactory::TreeTy * T)
- protected llvm::ImutAVLFactory::TreeTy * balanceTree(llvm::ImutAVLFactory::TreeTy * L, llvm::ImutAVLFactory::value_type_ref V, llvm::ImutAVLFactory::TreeTy * R)
- protected llvm::ImutAVLFactory::TreeTy * combineTrees(llvm::ImutAVLFactory::TreeTy * L, llvm::ImutAVLFactory::TreeTy * R)
- protected static bool compareTreeWithSection(llvm::ImutAVLFactory::TreeTy * T, typename TreeTy::iterator & TI, typename TreeTy::iterator & TE)
- protected llvm::ImutAVLFactory::TreeTy * createNode(llvm::ImutAVLFactory::TreeTy * newLeft, llvm::ImutAVLFactory::TreeTy * oldTree, llvm::ImutAVLFactory::TreeTy * newRight)
- protected llvm::ImutAVLFactory::TreeTy * createNode(llvm::ImutAVLFactory::TreeTy * L, llvm::ImutAVLFactory::value_type_ref V, llvm::ImutAVLFactory::TreeTy * R)
- private llvm::BumpPtrAllocator & getAllocator() const
- public llvm::ImutAVLFactory::TreeTy * getCanonicalTree(llvm::ImutAVLFactory::TreeTy * TNew)
- public llvm::ImutAVLFactory::TreeTy * getEmptyTree() const
- protected unsigned int getHeight(llvm::ImutAVLFactory::TreeTy * T) const
- protected llvm::ImutAVLFactory::TreeTy * getLeft(llvm::ImutAVLFactory::TreeTy * T) const
- protected llvm::ImutAVLFactory::TreeTy * getRight(llvm::ImutAVLFactory::TreeTy * T) const
- protected llvm::ImutAVLFactory::value_type_ref getValue(llvm::ImutAVLFactory::TreeTy * T) const
- protected unsigned int incrementHeight(llvm::ImutAVLFactory::TreeTy * L, llvm::ImutAVLFactory::TreeTy * R) const
- protected bool isEmpty(llvm::ImutAVLFactory::TreeTy * T) const
- protected void markImmutable(llvm::ImutAVLFactory::TreeTy * T)
- protected static unsigned int maskCacheIndex(unsigned int I)
- private bool ownsAllocator() const
- protected void recoverNodes()
- public llvm::ImutAVLFactory::TreeTy * remove(llvm::ImutAVLFactory::TreeTy * T, llvm::ImutAVLFactory::key_type_ref V)
- protected llvm::ImutAVLFactory::TreeTy * removeMinBinding(llvm::ImutAVLFactory::TreeTy * T, llvm::ImutAVLFactory::TreeTy *& Noderemoved)
- protected llvm::ImutAVLFactory::TreeTy * remove_internal(llvm::ImutAVLFactory::key_type_ref K, llvm::ImutAVLFactory::TreeTy * T)
- public ~ImutAVLFactory<ImutInfo>()
Methods
¶ImutAVLFactory<ImutInfo>()
ImutAVLFactory<ImutInfo>()
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:385
¶ImutAVLFactory<ImutInfo>(
llvm::BumpPtrAllocator& Alloc)
ImutAVLFactory<ImutInfo>(
llvm::BumpPtrAllocator& Alloc)
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:388
Parameters
- llvm::BumpPtrAllocator& Alloc
¶llvm::ImutAVLFactory::TreeTy* add(
llvm::ImutAVLFactory::TreeTy* T,
llvm::ImutAVLFactory::value_type_ref V)
llvm::ImutAVLFactory::TreeTy* add(
llvm::ImutAVLFactory::TreeTy* T,
llvm::ImutAVLFactory::value_type_ref V)
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:395
Parameters
- llvm::ImutAVLFactory::TreeTy* T
- llvm::ImutAVLFactory::value_type_ref V
¶llvm::ImutAVLFactory::TreeTy* add_internal(
llvm::ImutAVLFactory::value_type_ref V,
llvm::ImutAVLFactory::TreeTy* T)
llvm::ImutAVLFactory::TreeTy* add_internal(
llvm::ImutAVLFactory::value_type_ref V,
llvm::ImutAVLFactory::TreeTy* T)
Description
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.
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:530
Parameters
- llvm::ImutAVLFactory::value_type_ref V
- llvm::ImutAVLFactory::TreeTy* T
¶llvm::ImutAVLFactory::TreeTy* balanceTree(
llvm::ImutAVLFactory::TreeTy* L,
llvm::ImutAVLFactory::value_type_ref V,
llvm::ImutAVLFactory::TreeTy* R)
llvm::ImutAVLFactory::TreeTy* balanceTree(
llvm::ImutAVLFactory::TreeTy* L,
llvm::ImutAVLFactory::value_type_ref V,
llvm::ImutAVLFactory::TreeTy* R)
Description
balanceTree - Used by add_internal and remove_internal to balance a newly created tree.
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:486
Parameters
- llvm::ImutAVLFactory::TreeTy* L
- llvm::ImutAVLFactory::value_type_ref V
- llvm::ImutAVLFactory::TreeTy* R
¶llvm::ImutAVLFactory::TreeTy* combineTrees(
llvm::ImutAVLFactory::TreeTy* L,
llvm::ImutAVLFactory::TreeTy* R)
llvm::ImutAVLFactory::TreeTy* combineTrees(
llvm::ImutAVLFactory::TreeTy* L,
llvm::ImutAVLFactory::TreeTy* R)
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:569
Parameters
- llvm::ImutAVLFactory::TreeTy* L
- llvm::ImutAVLFactory::TreeTy* R
¶static bool compareTreeWithSection(
llvm::ImutAVLFactory::TreeTy* T,
typename TreeTy::iterator& TI,
typename TreeTy::iterator& TE)
static bool compareTreeWithSection(
llvm::ImutAVLFactory::TreeTy* T,
typename TreeTy::iterator& TI,
typename TreeTy::iterator& TE)
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:434
Parameters
- llvm::ImutAVLFactory::TreeTy* T
- typename TreeTy::iterator& TI
- typename TreeTy::iterator& TE
¶llvm::ImutAVLFactory::TreeTy* createNode(
llvm::ImutAVLFactory::TreeTy* newLeft,
llvm::ImutAVLFactory::TreeTy* oldTree,
llvm::ImutAVLFactory::TreeTy* newRight)
llvm::ImutAVLFactory::TreeTy* createNode(
llvm::ImutAVLFactory::TreeTy* newLeft,
llvm::ImutAVLFactory::TreeTy* oldTree,
llvm::ImutAVLFactory::TreeTy* newRight)
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:471
Parameters
- llvm::ImutAVLFactory::TreeTy* newLeft
- llvm::ImutAVLFactory::TreeTy* oldTree
- llvm::ImutAVLFactory::TreeTy* newRight
¶llvm::ImutAVLFactory::TreeTy* createNode(
llvm::ImutAVLFactory::TreeTy* L,
llvm::ImutAVLFactory::value_type_ref V,
llvm::ImutAVLFactory::TreeTy* R)
llvm::ImutAVLFactory::TreeTy* createNode(
llvm::ImutAVLFactory::TreeTy* L,
llvm::ImutAVLFactory::value_type_ref V,
llvm::ImutAVLFactory::TreeTy* R)
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:455
Parameters
- llvm::ImutAVLFactory::TreeTy* L
- llvm::ImutAVLFactory::value_type_ref V
- llvm::ImutAVLFactory::TreeTy* R
¶llvm::BumpPtrAllocator& getAllocator() const
llvm::BumpPtrAllocator& getAllocator() const
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:376
¶llvm::ImutAVLFactory::TreeTy* getCanonicalTree(
llvm::ImutAVLFactory::TreeTy* TNew)
llvm::ImutAVLFactory::TreeTy* getCanonicalTree(
llvm::ImutAVLFactory::TreeTy* TNew)
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:600
Parameters
- llvm::ImutAVLFactory::TreeTy* TNew
¶llvm::ImutAVLFactory::TreeTy* getEmptyTree() const
llvm::ImutAVLFactory::TreeTy* getEmptyTree() const
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:409
¶unsigned int getHeight(
llvm::ImutAVLFactory::TreeTy* T) const
unsigned int getHeight(
llvm::ImutAVLFactory::TreeTy* T) const
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:420
Parameters
- llvm::ImutAVLFactory::TreeTy* T
¶llvm::ImutAVLFactory::TreeTy* getLeft(
llvm::ImutAVLFactory::TreeTy* T) const
llvm::ImutAVLFactory::TreeTy* getLeft(
llvm::ImutAVLFactory::TreeTy* T) const
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:421
Parameters
- llvm::ImutAVLFactory::TreeTy* T
¶llvm::ImutAVLFactory::TreeTy* getRight(
llvm::ImutAVLFactory::TreeTy* T) const
llvm::ImutAVLFactory::TreeTy* getRight(
llvm::ImutAVLFactory::TreeTy* T) const
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:422
Parameters
- llvm::ImutAVLFactory::TreeTy* T
¶llvm::ImutAVLFactory::value_type_ref getValue(
llvm::ImutAVLFactory::TreeTy* T) const
llvm::ImutAVLFactory::value_type_ref getValue(
llvm::ImutAVLFactory::TreeTy* T) const
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:423
Parameters
- llvm::ImutAVLFactory::TreeTy* T
¶unsigned int incrementHeight(
llvm::ImutAVLFactory::TreeTy* L,
llvm::ImutAVLFactory::TreeTy* R) const
unsigned int incrementHeight(
llvm::ImutAVLFactory::TreeTy* L,
llvm::ImutAVLFactory::TreeTy* R) const
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:428
Parameters
- llvm::ImutAVLFactory::TreeTy* L
- llvm::ImutAVLFactory::TreeTy* R
¶bool isEmpty(
llvm::ImutAVLFactory::TreeTy* T) const
bool isEmpty(
llvm::ImutAVLFactory::TreeTy* T) const
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:419
Parameters
- llvm::ImutAVLFactory::TreeTy* T
¶void markImmutable(
llvm::ImutAVLFactory::TreeTy* T)
void markImmutable(
llvm::ImutAVLFactory::TreeTy* T)
Description
markImmutable - Clears the mutable bits of a root and all of its descendants.
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:591
Parameters
- llvm::ImutAVLFactory::TreeTy* T
¶static unsigned int maskCacheIndex(unsigned int I)
static unsigned int maskCacheIndex(unsigned int I)
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:426
Parameters
- unsigned int I
¶bool ownsAllocator() const
bool ownsAllocator() const
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:372
¶void recoverNodes()
void recoverNodes()
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:475
¶llvm::ImutAVLFactory::TreeTy* remove(
llvm::ImutAVLFactory::TreeTy* T,
llvm::ImutAVLFactory::key_type_ref V)
llvm::ImutAVLFactory::TreeTy* remove(
llvm::ImutAVLFactory::TreeTy* T,
llvm::ImutAVLFactory::key_type_ref V)
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:402
Parameters
- llvm::ImutAVLFactory::TreeTy* T
- llvm::ImutAVLFactory::key_type_ref V
¶llvm::ImutAVLFactory::TreeTy* removeMinBinding(
llvm::ImutAVLFactory::TreeTy* T,
llvm::ImutAVLFactory::TreeTy*& Noderemoved)
llvm::ImutAVLFactory::TreeTy* removeMinBinding(
llvm::ImutAVLFactory::TreeTy* T,
llvm::ImutAVLFactory::TreeTy*& Noderemoved)
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:579
Parameters
- llvm::ImutAVLFactory::TreeTy* T
- llvm::ImutAVLFactory::TreeTy*& Noderemoved
¶llvm::ImutAVLFactory::TreeTy* remove_internal(
llvm::ImutAVLFactory::key_type_ref K,
llvm::ImutAVLFactory::TreeTy* T)
llvm::ImutAVLFactory::TreeTy* remove_internal(
llvm::ImutAVLFactory::key_type_ref K,
llvm::ImutAVLFactory::TreeTy* T)
Description
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.
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:550
Parameters
- llvm::ImutAVLFactory::key_type_ref K
- llvm::ImutAVLFactory::TreeTy* T
¶~ImutAVLFactory<ImutInfo>()
~ImutAVLFactory<ImutInfo>()
Declared at: llvm/include/llvm/ADT/ImmutableSet.h:391