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>()

Declared at: llvm/include/llvm/ADT/ImmutableSet.h:385

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)

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)

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)

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)

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)

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)

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)

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

Declared at: llvm/include/llvm/ADT/ImmutableSet.h:376

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

Declared at: llvm/include/llvm/ADT/ImmutableSet.h:409

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

Declared at: llvm/include/llvm/ADT/ImmutableSet.h:421

Parameters

llvm::ImutAVLFactory::TreeTy* T

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

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

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

Declared at: llvm/include/llvm/ADT/ImmutableSet.h:419

Parameters

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)

Declared at: llvm/include/llvm/ADT/ImmutableSet.h:426

Parameters

unsigned int I

bool ownsAllocator() const

Declared at: llvm/include/llvm/ADT/ImmutableSet.h:372

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)

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)

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)

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>()

Declared at: llvm/include/llvm/ADT/ImmutableSet.h:391