class Path
Declaration
class Path { /* full declaration omitted */ };
Declared at: llvm/include/llvm/ADT/IntervalMap.h:770
Method Overview
- public bool atBegin() const
- public bool atLastEntry(unsigned int Level) const
- public void fillLeft(unsigned int Height)
- public llvm::IntervalMapImpl::NodeRef getLeftSibling(unsigned int Level) const
- public llvm::IntervalMapImpl::NodeRef getRightSibling(unsigned int Level) const
- public unsigned int height() const
- public template <typename NodeT>NodeT & leaf() const
- public unsigned int leafOffset() const
- public unsigned int & leafOffset()
- public unsigned int leafSize() const
- public void legalizeForInsert(unsigned int Level)
- public void moveLeft(unsigned int Level)
- public void moveRight(unsigned int Level)
- public template <typename NodeT>NodeT & node(unsigned int Level) const
- public unsigned int offset(unsigned int Level) const
- public unsigned int & offset(unsigned int Level)
- public void pop()
- public void push(llvm::IntervalMapImpl::NodeRef Node, unsigned int Offset)
- public void replaceRoot(void * Root, unsigned int Size, llvm::IntervalMapImpl::IdxPair Offsets)
- public void reset(unsigned int Level)
- public void setRoot(void * Node, unsigned int Size, unsigned int Offset)
- public void setSize(unsigned int Level, unsigned int Size)
- public unsigned int size(unsigned int Level) const
- public llvm::IntervalMapImpl::NodeRef & subtree(unsigned int Level) const
- public bool valid() const
Methods
¶bool atBegin() const
bool atBegin() const
Description
atBegin - Return true if path is at begin().
Declared at: llvm/include/llvm/ADT/IntervalMap.h:897
¶bool atLastEntry(unsigned int Level) const
bool atLastEntry(unsigned int Level) const
Description
atLastEntry - Return true if the path is at the last entry of the node at Level.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:907
Parameters
- unsigned int Level
- Node to examine.
¶void fillLeft(unsigned int Height)
void fillLeft(unsigned int Height)
Description
fillLeft - Grow path to Height by taking leftmost branches.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:881
Parameters
- unsigned int Height
- The target height.
¶llvm::IntervalMapImpl::NodeRef getLeftSibling(
unsigned int Level) const
llvm::IntervalMapImpl::NodeRef getLeftSibling(
unsigned int Level) const
Description
getLeftSibling - Get the left sibling node at Level, or a null NodeRef.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:872
Parameters
- unsigned int Level
- Get the sibling to node(Level).
Returns
Left sibling, or NodeRef().
¶llvm::IntervalMapImpl::NodeRef getRightSibling(
unsigned int Level) const
llvm::IntervalMapImpl::NodeRef getRightSibling(
unsigned int Level) const
Description
getLeftSibling - Get the left sibling node at Level, or a null NodeRef.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:889
Parameters
- unsigned int Level
- Get the sinbling to node(Level).
Returns
Left sibling, or NodeRef().
¶unsigned int height() const
unsigned int height() const
Description
height - Return the height of the tree corresponding to this path. This matches map->height in a full path.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:816
¶template <typename NodeT>
NodeT& leaf() const
template <typename NodeT>
NodeT& leaf() const
Declared at: llvm/include/llvm/ADT/IntervalMap.h:802
Templates
- NodeT
¶unsigned int leafOffset() const
unsigned int leafOffset() const
Declared at: llvm/include/llvm/ADT/IntervalMap.h:806
¶unsigned int& leafOffset()
unsigned int& leafOffset()
Declared at: llvm/include/llvm/ADT/IntervalMap.h:807
¶unsigned int leafSize() const
unsigned int leafSize() const
Declared at: llvm/include/llvm/ADT/IntervalMap.h:805
¶void legalizeForInsert(unsigned int Level)
void legalizeForInsert(unsigned int Level)
Description
legalizeForInsert - Prepare the path for an insertion at Level. When the path is at end(), node(Level) may not be a legal node. legalizeForInsert ensures that node(Level) is real by moving back to the last node at Level, and setting offset(Level) to size(Level) if required.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:916
Parameters
- unsigned int Level
- The level where an insertion is about to take place.
¶void moveLeft(unsigned int Level)
void moveLeft(unsigned int Level)
Description
moveLeft - Move path to the left sibling at Level. Leave nodes below Level unaltered.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:877
Parameters
- unsigned int Level
- Move node(Level).
¶void moveRight(unsigned int Level)
void moveRight(unsigned int Level)
Description
moveRight - Move path to the left sibling at Level. Leave nodes below Level unaltered.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:894
Parameters
- unsigned int Level
- Move node(Level).
¶template <typename NodeT>
NodeT& node(unsigned int Level) const
template <typename NodeT>
NodeT& node(unsigned int Level) const
Declared at: llvm/include/llvm/ADT/IntervalMap.h:794
Templates
- NodeT
Parameters
- unsigned int Level
¶unsigned int offset(unsigned int Level) const
unsigned int offset(unsigned int Level) const
Declared at: llvm/include/llvm/ADT/IntervalMap.h:798
Parameters
- unsigned int Level
¶unsigned int& offset(unsigned int Level)
unsigned int& offset(unsigned int Level)
Declared at: llvm/include/llvm/ADT/IntervalMap.h:799
Parameters
- unsigned int Level
¶void pop()
void pop()
Description
pop - Remove the last path entry.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:839
¶void push(llvm::IntervalMapImpl::NodeRef Node,
unsigned int Offset)
void push(llvm::IntervalMapImpl::NodeRef Node,
unsigned int Offset)
Description
push - Add entry to path.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:834
Parameters
- llvm::IntervalMapImpl::NodeRef Node
- Node to add, should be subtree(path.size()-1).
- unsigned int Offset
- Offset into Node.
¶void replaceRoot(
void* Root,
unsigned int Size,
llvm::IntervalMapImpl::IdxPair Offsets)
void replaceRoot(
void* Root,
unsigned int Size,
llvm::IntervalMapImpl::IdxPair Offsets)
Description
replaceRoot - Replace the current root node with two new entries after the tree height has increased.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:867
Parameters
- void* Root
- The new root node.
- unsigned int Size
- Number of entries in the new root.
- llvm::IntervalMapImpl::IdxPair Offsets
- Offsets into the root and first branch nodes.
¶void reset(unsigned int Level)
void reset(unsigned int Level)
Description
reset - Reset cached information about node(Level) from subtree(Level -1).
Declared at: llvm/include/llvm/ADT/IntervalMap.h:827
Parameters
- unsigned int Level
- 1..height. THe node to update after parent node changed.
¶void setRoot(void* Node,
unsigned int Size,
unsigned int Offset)
void setRoot(void* Node,
unsigned int Size,
unsigned int Offset)
Description
setRoot - Clear the path and set a new root node.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:857
Parameters
- void* Node
- New root node.
- unsigned int Size
- New root size.
- unsigned int Offset
- Offset into root node.
¶void setSize(unsigned int Level,
unsigned int Size)
void setSize(unsigned int Level,
unsigned int Size)
Description
setSize - Set the size of a node both in the path and in the tree.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:847
Parameters
- unsigned int Level
- 0..height. Note that setting the root size won't change map->rootSize.
- unsigned int Size
- New node size.
¶unsigned int size(unsigned int Level) const
unsigned int size(unsigned int Level) const
Declared at: llvm/include/llvm/ADT/IntervalMap.h:797
Parameters
- unsigned int Level
¶llvm::IntervalMapImpl::NodeRef& subtree(
unsigned int Level) const
llvm::IntervalMapImpl::NodeRef& subtree(
unsigned int Level) const
Description
subtree - Get the subtree referenced from Level. When the path is consistent, node(Level + 1) == subtree(Level).
Declared at: llvm/include/llvm/ADT/IntervalMap.h:821
Parameters
- unsigned int Level
- 0..height-1. The leaves have no subtrees.
¶bool valid() const
bool valid() const
Description
valid - Return true if path is at a valid node, not at end().
Declared at: llvm/include/llvm/ADT/IntervalMap.h:810