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

Description

atBegin - Return true if path is at begin().

Declared at: llvm/include/llvm/ADT/IntervalMap.h:897

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)

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

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

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

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

Declared at: llvm/include/llvm/ADT/IntervalMap.h:802

Templates

NodeT

unsigned int leafOffset() const

Declared at: llvm/include/llvm/ADT/IntervalMap.h:806

unsigned int& leafOffset()

Declared at: llvm/include/llvm/ADT/IntervalMap.h:807

unsigned int leafSize() const

Declared at: llvm/include/llvm/ADT/IntervalMap.h:805

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)

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)

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

Declared at: llvm/include/llvm/ADT/IntervalMap.h:794

Templates

NodeT

Parameters

unsigned int Level

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)

Declared at: llvm/include/llvm/ADT/IntervalMap.h:799

Parameters

unsigned int Level

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)

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)

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)

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)

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)

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

Declared at: llvm/include/llvm/ADT/IntervalMap.h:797

Parameters

unsigned int Level

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

Description

valid - Return true if path is at a valid node, not at end().

Declared at: llvm/include/llvm/ADT/IntervalMap.h:810