llvm::IntervalMapImpl::BranchNode

Interior B+-tree node holding child NodeRefs and their stop keys.

Synopsis

Declared in <llvm/ADT/IntervalMap.h>

template<
    typename KeyT,
    typename ValT,
    unsigned int N,
    typename Traits>
class BranchNode
    : public NodeBase<NodeRef, KeyT, N>

Base Classes

NameDescription
NodeBase<NodeRef, KeyT, N>Fixed-capacity parallel arrays of keys/values (or child refs) for a tree node.

Member Functions

NameDescription
adjustFromLeftSib adjustFromLeftSib - Adjust the number if elements in this node by moving elements to or from a left sibling node.
copy copy - Copy elements from another node.
erase erase overloads
findFrom findFrom - Find the first subtree after i that may contain x.
insert insert - Insert a new (subtree, stop) pair.
moveLeft moveLeft - Move elements to the left.
moveRight moveRight - Move elements to the right.
safeFind safeFind - Find a subtree that is known to exist. This is the same as findFrom except is it assumed that x is in range.
safeLookup safeLookup - Get the subtree containing x, Assuming that x is in range.
shift shift - Shift elements [i;size) 1 position to the right.]
stop stop overloads
subtree subtree overloads
transferToLeftSib transferToLeftSib - Transfer elements to a left sibling node.
transferToRightSib transferToRightSib - Transfer elements to a right sibling node.

Data Members

NameDescription
first Primary payload array (interval bounds or child NodeRefs).
second Secondary payload array (mapped values or stop keys).

Static Data Members

NameDescription
Capacity Maximum number of elements stored in this node.