class ImutAVLFactory

Declaration

template <typename ImutInfo>
class ImutAVLFactory { /* full declaration omitted */ };

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

Templates

ImutInfo

Method Overview

  • public ImutAVLFactory<ImutInfo>(llvm::BumpPtrAllocator & Alloc)
  • public ImutAVLFactory<ImutInfo>()
  • 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)
  • 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)
  • 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>(
    llvm::BumpPtrAllocator& Alloc)

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

Parameters

llvm::BumpPtrAllocator& Alloc

ImutAVLFactory<ImutInfo>()

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

llvm::ImutAVLFactory::TreeTy* add(
    llvm::ImutAVLFactory::TreeTy* T,
    llvm::ImutAVLFactory::value_type_ref V)

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

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:536

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:492

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:575

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:440

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:477

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:461

Parameters

llvm::ImutAVLFactory::TreeTy* L
llvm::ImutAVLFactory::value_type_ref V
llvm::ImutAVLFactory::TreeTy* R

llvm::ImutAVLFactory::TreeTy* getCanonicalTree(
    llvm::ImutAVLFactory::TreeTy* TNew)

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

Parameters

llvm::ImutAVLFactory::TreeTy* TNew

llvm::ImutAVLFactory::TreeTy* getEmptyTree() const

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

unsigned int getHeight(
    llvm::ImutAVLFactory::TreeTy* T) const

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

Parameters

llvm::ImutAVLFactory::TreeTy* T

llvm::ImutAVLFactory::TreeTy* getLeft(
    llvm::ImutAVLFactory::TreeTy* T) const

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

Parameters

llvm::ImutAVLFactory::TreeTy* T

llvm::ImutAVLFactory::TreeTy* getRight(
    llvm::ImutAVLFactory::TreeTy* T) const

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

Parameters

llvm::ImutAVLFactory::TreeTy* T

llvm::ImutAVLFactory::value_type_ref getValue(
    llvm::ImutAVLFactory::TreeTy* T) const

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

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:434

Parameters

llvm::ImutAVLFactory::TreeTy* L
llvm::ImutAVLFactory::TreeTy* R

bool isEmpty(
    llvm::ImutAVLFactory::TreeTy* T) const

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

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:597

Parameters

llvm::ImutAVLFactory::TreeTy* T

static unsigned int maskCacheIndex(unsigned int I)

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

Parameters

unsigned int I

void recoverNodes()

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

llvm::ImutAVLFactory::TreeTy* remove(
    llvm::ImutAVLFactory::TreeTy* T,
    llvm::ImutAVLFactory::key_type_ref V)

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

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:585

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:556

Parameters

llvm::ImutAVLFactory::key_type_ref K
llvm::ImutAVLFactory::TreeTy* T

~ImutAVLFactory<ImutInfo>()

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