LLVM: llvm::IntervalMapImpl::Path Class Reference (original) (raw)
#include "[llvm/ADT/IntervalMap.h](IntervalMap%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| template | |
| NodeT & | node (unsigned Level) const |
| unsigned | size (unsigned Level) const |
| unsigned | offset (unsigned Level) const |
| unsigned & | offset (unsigned Level) |
| template | |
| NodeT & | leaf () const |
| unsigned | leafSize () const |
| unsigned | leafOffset () const |
| unsigned & | leafOffset () |
| bool | valid () const |
| valid - Return true if path is at a valid node, not at end(). | |
| unsigned | height () const |
| height - Return the height of the tree corresponding to this path. | |
| NodeRef & | subtree (unsigned Level) const |
| subtree - Get the subtree referenced from Level. | |
| void | reset (unsigned Level) |
| reset - Reset cached information about node(Level) from subtree(Level -1). | |
| void | push (NodeRef Node, unsigned Offset) |
| push - Add entry to path. | |
| void | pop () |
| pop - Remove the last path entry. | |
| void | setSize (unsigned Level, unsigned Size) |
| setSize - Set the size of a node both in the path and in the tree. | |
| void | setRoot (void *Node, unsigned Size, unsigned Offset) |
| setRoot - Clear the path and set a new root node. | |
| LLVM_ABI void | replaceRoot (void *Root, unsigned Size, IdxPair Offsets) |
| replaceRoot - Replace the current root node with two new entries after the tree height has increased. | |
| LLVM_ABI NodeRef | getLeftSibling (unsigned Level) const |
| getLeftSibling - Get the left sibling node at Level, or a null NodeRef. | |
| LLVM_ABI void | moveLeft (unsigned Level) |
| moveLeft - Move path to the left sibling at Level. | |
| void | fillLeft (unsigned Height) |
| fillLeft - Grow path to Height by taking leftmost branches. | |
| LLVM_ABI NodeRef | getRightSibling (unsigned Level) const |
| getLeftSibling - Get the left sibling node at Level, or a null NodeRef. | |
| LLVM_ABI void | moveRight (unsigned Level) |
| moveRight - Move path to the left sibling at Level. | |
| bool | atBegin () const |
| atBegin - Return true if path is at begin(). | |
| bool | atLastEntry (unsigned Level) const |
| atLastEntry - Return true if the path is at the last entry of the node at Level. | |
| void | legalizeForInsert (unsigned Level) |
| legalizeForInsert - Prepare the path for an insertion at Level. |
Definition at line 774 of file IntervalMap.h.
◆ atBegin()
| bool llvm::IntervalMapImpl::Path::atBegin ( ) const | inline |
|---|
◆ atLastEntry()
| bool llvm::IntervalMapImpl::Path::atLastEntry ( unsigned Level) const | inline |
|---|
◆ fillLeft()
| void llvm::IntervalMapImpl::Path::fillLeft ( unsigned Height) | inline |
|---|
◆ getLeftSibling()
| NodeRef llvm::IntervalMapImpl::Path::getLeftSibling | ( | unsigned | Level | ) | const |
|---|
◆ getRightSibling()
| NodeRef llvm::IntervalMapImpl::Path::getRightSibling | ( | unsigned | Level | ) | const |
|---|
◆ height()
| unsigned llvm::IntervalMapImpl::Path::height ( ) const | inline |
|---|
height - Return the height of the tree corresponding to this path.
This matches map->height in a full path.
Definition at line 820 of file IntervalMap.h.
Referenced by fillLeft(), and moveLeft().
◆ leaf()
template
| NodeT & llvm::IntervalMapImpl::Path::leaf ( ) const | inline |
|---|
◆ leafOffset() [1/2]
| unsigned & llvm::IntervalMapImpl::Path::leafOffset ( ) | inline |
|---|
◆ leafOffset() [2/2]
| unsigned llvm::IntervalMapImpl::Path::leafOffset ( ) const | inline |
|---|
◆ leafSize()
| unsigned llvm::IntervalMapImpl::Path::leafSize ( ) const | inline |
|---|
◆ legalizeForInsert()
| void llvm::IntervalMapImpl::Path::legalizeForInsert ( unsigned Level) | inline |
|---|
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.
Parameters
| Level | The level where an insertion is about to take place. |
|---|
Definition at line 920 of file IntervalMap.h.
References moveLeft(), and valid().
◆ moveLeft()
| void llvm::IntervalMapImpl::Path::moveLeft | ( | unsigned | Level | ) |
|---|
◆ moveRight()
| void llvm::IntervalMapImpl::Path::moveRight | ( | unsigned | Level | ) |
|---|
◆ node()
template
| NodeT & llvm::IntervalMapImpl::Path::node ( unsigned Level) const | inline |
|---|
◆ offset() [1/2]
◆ offset() [2/2]
◆ pop()
| void llvm::IntervalMapImpl::Path::pop ( ) | inline |
|---|
◆ push()
◆ replaceRoot()
| void llvm::IntervalMapImpl::Path::replaceRoot | ( | void * | Root, |
|---|---|---|---|
| unsigned | Size, | ||
| IdxPair | Offsets ) |
replaceRoot - Replace the current root node with two new entries after the tree height has increased.
Parameters
| Root | The new root node. |
|---|---|
| Size | Number of entries in the new root. |
| Offsets | Offsets into the root and first branch nodes. |
Definition at line 19 of file IntervalMap.cpp.
References assert(), Size, and subtree().
◆ reset()
| void llvm::IntervalMapImpl::Path::reset ( unsigned Level) | inline |
|---|
reset - Reset cached information about node(Level) from subtree(Level -1).
Parameters
| Level | 1..height. The node to update after parent node changed. |
|---|
Definition at line 831 of file IntervalMap.h.
References offset(), and subtree().
◆ setRoot()
| void llvm::IntervalMapImpl::Path::setRoot ( void * Node, unsigned Size, unsigned Offset ) | inline |
|---|
setRoot - Clear the path and set a new root node.
Parameters
| Node | New root node. |
|---|---|
| Size | New root size. |
| Offset | Offset into root node. |
Definition at line 861 of file IntervalMap.h.
References llvm::Offset, and Size.
◆ setSize()
setSize - Set the size of a node both in the path and in the tree.
Parameters
| Level | 0..height. Note that setting the root size won't change map->rootSize. |
|---|---|
| Size | New node size. |
Definition at line 851 of file IntervalMap.h.
References Size, and subtree().
◆ size()
◆ subtree()
| NodeRef & llvm::IntervalMapImpl::Path::subtree ( unsigned Level) const | inline |
|---|
◆ valid()
| bool llvm::IntervalMapImpl::Path::valid ( ) const | inline |
|---|
The documentation for this class was generated from the following files:
- include/llvm/ADT/IntervalMap.h
- lib/Support/IntervalMap.cpp