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: