LLVM API Documentation
#include <ImmutableSet.h>
Definition at line 38 of file ImmutableSet.h.
typedef ImutAVLFactory<ImutInfo> llvm::ImutAVLTree< ImutInfo >::Factory |
Definition at line 44 of file ImmutableSet.h.
typedef ImutAVLTreeInOrderIterator<ImutInfo> llvm::ImutAVLTree< ImutInfo >::iterator |
Definition at line 50 of file ImmutableSet.h.
typedef ImutInfo::key_type_ref llvm::ImutAVLTree< ImutInfo >::key_type_ref |
Definition at line 40 of file ImmutableSet.h.
typedef ImutInfo::value_type llvm::ImutAVLTree< ImutInfo >::value_type |
Definition at line 41 of file ImmutableSet.h.
typedef ImutInfo::value_type_ref llvm::ImutAVLTree< ImutInfo >::value_type_ref |
Definition at line 42 of file ImmutableSet.h.
iterator llvm::ImutAVLTree< ImutInfo >::begin | ( | ) | const [inline] |
begin - Returns an iterator that iterates over the nodes of the tree in an inorder traversal. The returned iterator thus refers to the the tree node with the minimum data element.
Definition at line 110 of file ImmutableSet.h.
Referenced by llvm::ImutAVLFactory< ImutInfo >::compareTreeWithSection(), and llvm::ImutAVLTree< ImutInfo >::isEqual().
bool llvm::ImutAVLTree< ImutInfo >::contains | ( | key_type_ref | K | ) | [inline] |
contains - Returns true if this tree contains a subtree (node) that has an data element that matches the specified key. Complexity is logarithmic in the size of the tree.
Definition at line 168 of file ImmutableSet.h.
References llvm::ImutAVLTree< ImutInfo >::find().
Referenced by llvm::ImmutableMap< KeyT, ValT, ValInfo >::contains(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::contains(), llvm::ImmutableSet< ValT, ValInfo >::contains(), and llvm::ImmutableSetRef< ValT, ValInfo >::contains().
void llvm::ImutAVLTree< ImutInfo >::destroy | ( | ) | [inline] |
Definition at line 337 of file ImmutableSet.h.
References llvm::ImutAVLFactory< ImutInfo >::maskCacheIndex(), and llvm::ImutAVLTree< ImutInfo >::release().
Referenced by llvm::ImutAVLFactory< ImutInfo >::getCanonicalTree(), llvm::ImutAVLFactory< ImutInfo >::recoverNodes(), and llvm::ImutAVLTree< ImutInfo >::release().
iterator llvm::ImutAVLTree< ImutInfo >::end | ( | ) | const [inline] |
end - Returns an iterator for the tree that denotes the end of an inorder traversal.
Definition at line 114 of file ImmutableSet.h.
Referenced by llvm::ImutAVLFactory< ImutInfo >::compareTreeWithSection(), and llvm::ImutAVLTree< ImutInfo >::isEqual().
ImutAVLTree* llvm::ImutAVLTree< ImutInfo >::find | ( | key_type_ref | K | ) | [inline] |
find - Finds the subtree associated with the specified key value. This method returns NULL if no matching subtree is found.
Definition at line 73 of file ImmutableSet.h.
References llvm::ImutAVLTree< ImutInfo >::getLeft(), llvm::ImutAVLTree< ImutInfo >::getRight(), and llvm::ImutAVLTree< ImutInfo >::getValue().
Referenced by llvm::ImutAVLTree< ImutInfo >::contains(), llvm::ImmutableMap< KeyT, ValT, ValInfo >::lookup(), and llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::lookup().
void llvm::ImutAVLTree< ImutInfo >::foreach | ( | Callback & | C | ) | [inline] |
foreach - A member template the accepts invokes operator() on a functor object (specifed by Callback) for every node/subtree in the tree. Nodes are visited using an inorder traversal.
Definition at line 174 of file ImmutableSet.h.
References llvm::CallingConv::C, llvm::ImutAVLTree< ImutInfo >::getLeft(), and llvm::ImutAVLTree< ImutInfo >::getRight().
Referenced by llvm::ImmutableMap< KeyT, ValT, ValInfo >::foreach(), and llvm::ImmutableSet< ValT, ValInfo >::foreach().
unsigned llvm::ImutAVLTree< ImutInfo >::getHeight | ( | ) | const [inline] |
getHeight - Returns the height of the tree. A tree with no subtrees has a height of 1.
Definition at line 66 of file ImmutableSet.h.
Referenced by llvm::ImmutableMap< KeyT, ValT, ValInfo >::getHeight(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::getHeight(), llvm::ImutAVLFactory< ImutInfo >::getHeight(), llvm::ImmutableSet< ValT, ValInfo >::getHeight(), llvm::ImmutableSetRef< ValT, ValInfo >::getHeight(), and llvm::ImutAVLTree< ImutInfo >::validateTree().
ImutAVLTree* llvm::ImutAVLTree< ImutInfo >::getLeft | ( | ) | const [inline] |
Return a pointer to the left subtree. This value is NULL if there is no left subtree.
Definition at line 58 of file ImmutableSet.h.
Referenced by llvm::ImutAVLTree< ImutInfo >::find(), llvm::ImutAVLTree< ImutInfo >::foreach(), llvm::ImutAVLFactory< ImutInfo >::getLeft(), llvm::ImutAVLTreeGenericIterator< ImutInfo >::operator++(), llvm::ImutAVLTreeGenericIterator< ImutInfo >::operator--(), llvm::ImutAVLTree< ImutInfo >::size(), and llvm::ImutAVLTree< ImutInfo >::validateTree().
ImutAVLTree* llvm::ImutAVLTree< ImutInfo >::getMaxElement | ( | ) | [inline] |
getMaxElement - Find the subtree associated with the highest ranged key value.
Definition at line 89 of file ImmutableSet.h.
References llvm::ImutAVLTree< ImutInfo >::getRight(), and T.
Referenced by llvm::ImmutableMap< KeyT, ValT, ValInfo >::getMaxElement(), and llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::getMaxElement().
ImutAVLTree* llvm::ImutAVLTree< ImutInfo >::getRight | ( | ) | const [inline] |
Return a pointer to the right subtree. This value is NULL if there is no right subtree.
Definition at line 62 of file ImmutableSet.h.
Referenced by llvm::ImutAVLTree< ImutInfo >::find(), llvm::ImutAVLTree< ImutInfo >::foreach(), llvm::ImutAVLTree< ImutInfo >::getMaxElement(), llvm::ImutAVLFactory< ImutInfo >::getRight(), llvm::ImutAVLTreeGenericIterator< ImutInfo >::operator++(), llvm::ImutAVLTreeGenericIterator< ImutInfo >::operator--(), llvm::ImutAVLTree< ImutInfo >::size(), and llvm::ImutAVLTree< ImutInfo >::validateTree().
const value_type& llvm::ImutAVLTree< ImutInfo >::getValue | ( | ) | const [inline] |
getValue - Returns the data value associated with the tree node.
Definition at line 69 of file ImmutableSet.h.
Referenced by llvm::ImutAVLTree< ImutInfo >::find(), llvm::ImmutableMap< KeyT, ValT, ValInfo >::iterator::getData(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::iterator::getData(), llvm::ImmutableMap< KeyT, ValT, ValInfo >::iterator::getKey(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::iterator::getKey(), llvm::ImmutableMap< KeyT, ValT, ValInfo >::getMaxElement(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::getMaxElement(), llvm::ImutAVLTree< ImutInfo >::isElementEqual(), llvm::ImmutableMap< KeyT, ValT, ValInfo >::lookup(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::lookup(), llvm::ImmutableMap< KeyT, ValT, ValInfo >::iterator::operator*(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::iterator::operator*(), llvm::ImmutableSet< ValT, ValInfo >::iterator::operator*(), llvm::ImmutableSetRef< ValT, ValInfo >::iterator::operator*(), llvm::ImmutableMap< KeyT, ValT, ValInfo >::iterator::operator->(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::iterator::operator->(), and llvm::ImutAVLTree< ImutInfo >::validateTree().
bool llvm::ImutAVLTree< ImutInfo >::isElementEqual | ( | value_type_ref | V | ) | const [inline] |
Definition at line 116 of file ImmutableSet.h.
References llvm::ImutAVLTree< ImutInfo >::getValue().
Referenced by llvm::ImutAVLFactory< ImutInfo >::compareTreeWithSection(), llvm::ImutAVLTree< ImutInfo >::isElementEqual(), and llvm::ImutAVLTree< ImutInfo >::isEqual().
bool llvm::ImutAVLTree< ImutInfo >::isElementEqual | ( | const ImutAVLTree< ImutInfo > * | RHS | ) | const [inline] |
Definition at line 130 of file ImmutableSet.h.
References llvm::ImutAVLTree< ImutInfo >::getValue(), and llvm::ImutAVLTree< ImutInfo >::isElementEqual().
bool llvm::ImutAVLTree< ImutInfo >::isEqual | ( | const ImutAVLTree< ImutInfo > & | RHS | ) | const [inline] |
isEqual - Compares two trees for structural equality and returns true if they are equal. This worst case performance of this operation is
Definition at line 137 of file ImmutableSet.h.
References llvm::ImutAVLTree< ImutInfo >::begin(), llvm::ImutAVLTree< ImutInfo >::end(), llvm::ImutAVLTree< ImutInfo >::isElementEqual(), and llvm::ImutAVLTreeInOrderIterator< ImutInfo >::skipSubTree().
Referenced by llvm::ImutAVLTree< ImutInfo >::isNotEqual(), llvm::ImmutableMap< KeyT, ValT, ValInfo >::operator==(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::operator==(), llvm::ImmutableSet< ValT, ValInfo >::operator==(), and llvm::ImmutableSetRef< ValT, ValInfo >::operator==().
bool llvm::ImutAVLTree< ImutInfo >::isNotEqual | ( | const ImutAVLTree< ImutInfo > & | RHS | ) | const [inline] |
isNotEqual - Compares two trees for structural inequality. Performance is the same is isEqual.
Definition at line 163 of file ImmutableSet.h.
References llvm::ImutAVLTree< ImutInfo >::isEqual().
Referenced by llvm::ImmutableMap< KeyT, ValT, ValInfo >::operator!=(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::operator!=(), llvm::ImmutableSet< ValT, ValInfo >::operator!=(), and llvm::ImmutableSetRef< ValT, ValInfo >::operator!=().
void llvm::ImutAVLTree< ImutInfo >::release | ( | ) | [inline] |
Definition at line 332 of file ImmutableSet.h.
References llvm::ImutAVLTree< ImutInfo >::destroy().
Referenced by llvm::ImutAVLTree< ImutInfo >::destroy(), llvm::ImmutableMap< KeyT, ValT, ValInfo >::manualRelease(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::manualRelease(), llvm::ImmutableMap< KeyT, ValT, ValInfo >::operator=(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::operator=(), llvm::ImmutableSet< ValT, ValInfo >::operator=(), llvm::ImmutableSetRef< ValT, ValInfo >::operator=(), llvm::ImmutableMap< KeyT, ValT, ValInfo >::~ImmutableMap(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::~ImmutableMapRef(), llvm::ImmutableSet< ValT, ValInfo >::~ImmutableSet(), and llvm::ImmutableSetRef< ValT, ValInfo >::~ImmutableSetRef().
void llvm::ImutAVLTree< ImutInfo >::retain | ( | ) | [inline] |
Definition at line 331 of file ImmutableSet.h.
Referenced by llvm::ImmutableMap< KeyT, ValT, ValInfo >::getRoot(), llvm::ImmutableSet< ValT, ValInfo >::getRoot(), llvm::ImmutableMap< KeyT, ValT, ValInfo >::ImmutableMap(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::ImmutableMapRef(), llvm::ImmutableSet< ValT, ValInfo >::ImmutableSet(), llvm::ImmutableSetRef< ValT, ValInfo >::ImmutableSetRef(), llvm::ImmutableMap< KeyT, ValT, ValInfo >::manualRetain(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::manualRetain(), llvm::ImmutableMap< KeyT, ValT, ValInfo >::operator=(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::operator=(), llvm::ImmutableSet< ValT, ValInfo >::operator=(), and llvm::ImmutableSetRef< ValT, ValInfo >::operator=().
unsigned llvm::ImutAVLTree< ImutInfo >::size | ( | ) | const [inline] |
size - Returns the number of nodes in the tree, which includes both leaves and non-leaf nodes.
Definition at line 98 of file ImmutableSet.h.
References llvm::ImutAVLTree< ImutInfo >::getLeft(), and llvm::ImutAVLTree< ImutInfo >::getRight().
unsigned llvm::ImutAVLTree< ImutInfo >::validateTree | ( | ) | const [inline] |
validateTree - A utility method that checks that the balancing and ordering invariants of the tree are satisifed. It is a recursive method that returns the height of the tree, which is then consumed by the enclosing validateTree call. External callers should ignore the return value. An invalid tree will cause an assertion to fire in a debug build.
Definition at line 190 of file ImmutableSet.h.
References llvm::ImutAVLTree< ImutInfo >::getHeight(), llvm::ImutAVLTree< ImutInfo >::getLeft(), llvm::ImutAVLTree< ImutInfo >::getRight(), llvm::ImutAVLTree< ImutInfo >::getValue(), and llvm::ImutAVLTree< ImutInfo >::validateTree().
Referenced by llvm::ImutAVLTree< ImutInfo >::validateTree(), llvm::ImmutableSet< ValT, ValInfo >::validateTree(), and llvm::ImmutableSetRef< ValT, ValInfo >::validateTree().
friend class ImutAVLFactory< ImutInfo > [friend] |
Definition at line 45 of file ImmutableSet.h.
friend class ImutAVLTreeGenericIterator< ImutInfo > [friend] |
Definition at line 48 of file ImmutableSet.h.
friend class ImutIntervalAVLFactory< ImutInfo > [friend] |
Definition at line 46 of file ImmutableSet.h.