|
LLVM 23.0.0git
|
#include "llvm/ADT/ImmutableSet.h"
Public Member Functions | |
| ImutAVLFactory () | |
| ImutAVLFactory (BumpPtrAllocator &Alloc) | |
| ~ImutAVLFactory () | |
| TreeTy * | add (TreeTy *T, value_type_ref V) |
| TreeTy * | remove (TreeTy *T, key_type_ref V) |
| TreeTy * | getEmptyTree () const |
| TreeTy * | getCanonicalTree (TreeTy *TNew) |
Protected Member Functions | |
| bool | isEmpty (TreeTy *T) const |
| unsigned | getHeight (TreeTy *T) const |
| TreeTy * | getLeft (TreeTy *T) const |
| TreeTy * | getRight (TreeTy *T) const |
| value_type_ref | getValue (TreeTy *T) const |
| unsigned | incrementHeight (TreeTy *L, TreeTy *R) const |
| TreeTy * | createNode (TreeTy *L, value_type_ref V, TreeTy *R) |
| TreeTy * | createNode (TreeTy *newLeft, TreeTy *oldTree, TreeTy *newRight) |
| void | recoverNodes () |
| TreeTy * | balanceTree (TreeTy *L, value_type_ref V, TreeTy *R) |
| Used by add_internal and remove_internal to balance a newly created tree. | |
| TreeTy * | add_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. | |
| TreeTy * | remove_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. | |
| TreeTy * | combineTrees (TreeTy *L, TreeTy *R) |
| TreeTy * | removeMinBinding (TreeTy *T, TreeTy *&Noderemoved) |
| void | markImmutable (TreeTy *T) |
| 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 > |
Definition at line 358 of file ImmutableSet.h.
|
inline |
Definition at line 384 of file ImmutableSet.h.
|
inline |
Definition at line 387 of file ImmutableSet.h.
References llvm::Alloc.
|
inline |
Definition at line 390 of file ImmutableSet.h.
|
inline |
Definition at line 394 of file ImmutableSet.h.
References add_internal(), markImmutable(), recoverNodes(), and T.
|
inlineprotected |
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 528 of file ImmutableSet.h.
References add_internal(), assert(), balanceTree(), createNode(), getLeft(), getRight(), getValue(), isEmpty(), and T.
Referenced by add(), and add_internal().
|
inlineprotected |
Used by add_internal and remove_internal to balance a newly created tree.
Definition at line 484 of file ImmutableSet.h.
References assert(), createNode(), getHeight(), getLeft(), getRight(), and isEmpty().
Referenced by add_internal(), combineTrees(), remove_internal(), and removeMinBinding().
|
inlineprotected |
Definition at line 588 of file ImmutableSet.h.
References balanceTree(), getValue(), isEmpty(), and removeMinBinding().
Referenced by remove_internal().
|
inlinestaticprotected |
Definition at line 433 of file ImmutableSet.h.
Referenced by getCanonicalTree().
|
inlineprotected |
Definition at line 454 of file ImmutableSet.h.
References A(), assert(), incrementHeight(), and T.
Referenced by add_internal(), balanceTree(), and createNode().
|
inlineprotected |
Definition at line 470 of file ImmutableSet.h.
References createNode(), and getValue().
|
inline |
Definition at line 618 of file ImmutableSet.h.
References compareTreeWithSection(), llvm::ImutAVLTree< ImutInfo >::destroy(), maskCacheIndex(), and T.
|
inline |
Definition at line 408 of file ImmutableSet.h.
|
inlineprotected |
Definition at line 419 of file ImmutableSet.h.
References T.
Referenced by balanceTree(), and incrementHeight().
|
inlineprotected |
Definition at line 420 of file ImmutableSet.h.
References T.
Referenced by add_internal(), balanceTree(), markImmutable(), remove_internal(), and removeMinBinding().
|
inlineprotected |
Definition at line 421 of file ImmutableSet.h.
References T.
Referenced by add_internal(), balanceTree(), markImmutable(), remove_internal(), and removeMinBinding().
|
inlineprotected |
Definition at line 422 of file ImmutableSet.h.
References T.
Referenced by add_internal(), combineTrees(), createNode(), remove_internal(), and removeMinBinding().
|
inlineprotected |
|
inlineprotected |
Definition at line 418 of file ImmutableSet.h.
References T.
Referenced by add_internal(), balanceTree(), combineTrees(), remove_internal(), and removeMinBinding().
|
inlineprotected |
Clears the mutable bits of a root and all of its descendants.
Definition at line 609 of file ImmutableSet.h.
References getLeft(), getRight(), markImmutable(), and T.
Referenced by add(), markImmutable(), and remove().
|
inlinestaticprotected |
|
inlineprotected |
|
inline |
Definition at line 401 of file ImmutableSet.h.
References markImmutable(), recoverNodes(), remove_internal(), and T.
|
inlineprotected |
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 563 of file ImmutableSet.h.
References assert(), balanceTree(), combineTrees(), getLeft(), getRight(), getValue(), isEmpty(), remove_internal(), and T.
Referenced by remove(), and remove_internal().
|
inlineprotected |
Definition at line 598 of file ImmutableSet.h.
References assert(), balanceTree(), getLeft(), getRight(), getValue(), isEmpty(), removeMinBinding(), and T.
Referenced by combineTrees(), and removeMinBinding().
|
friend |
Definition at line 350 of file ImmutableSet.h.
References llvm::Tree.