LLVM 22.0.0git
llvm::IntervalMapImpl::BranchNode< KeyT, ValT, N, Traits > Class Template Reference

#include "llvm/ADT/IntervalMap.h"

Inheritance diagram for llvm::IntervalMapImpl::BranchNode< KeyT, ValT, N, Traits >:
[legend]

Public Member Functions

const KeyTstop (unsigned i) const
const NodeRefsubtree (unsigned i) const
KeyTstop (unsigned i)
NodeRefsubtree (unsigned i)
unsigned findFrom (unsigned i, unsigned Size, KeyT x) const
 findFrom - Find the first subtree after i that may contain x.
unsigned safeFind (unsigned i, KeyT x) const
 safeFind - Find a subtree that is known to exist.
NodeRef safeLookup (KeyT x) const
 safeLookup - Get the subtree containing x, Assuming that x is in range.
void insert (unsigned i, unsigned Size, NodeRef Node, KeyT Stop)
 insert - Insert a new (subtree, stop) pair.
Public Member Functions inherited from llvm::IntervalMapImpl::NodeBase< NodeRef, KeyT, N >
void copy (const NodeBase< NodeRef, KeyT, M > &Other, unsigned i, unsigned j, unsigned Count)
 copy - Copy elements from another node.
void moveLeft (unsigned i, unsigned j, unsigned Count)
 moveLeft - Move elements to the left.
void moveRight (unsigned i, unsigned j, unsigned Count)
 moveRight - Move elements to the right.
void erase (unsigned i, unsigned j, unsigned Size)
 erase - Erase elements [i;j).
void shift (unsigned i, unsigned Size)
 shift - Shift elements [i;size) 1 position to the right.
void transferToLeftSib (unsigned Size, NodeBase &Sib, unsigned SSize, unsigned Count)
 transferToLeftSib - Transfer elements to a left sibling node.
void transferToRightSib (unsigned Size, NodeBase &Sib, unsigned SSize, unsigned Count)
 transferToRightSib - Transfer elements to a right sibling node.
int adjustFromLeftSib (unsigned Size, NodeBase &Sib, unsigned SSize, int Add)
 adjustFromLeftSib - Adjust the number if elements in this node by moving elements to or from a left sibling node.

Additional Inherited Members

Public Attributes inherited from llvm::IntervalMapImpl::NodeBase< NodeRef, KeyT, N >
NodeRef first [N]
KeyT second [N]
Static Public Attributes inherited from llvm::IntervalMapImpl::NodeBase< NodeRef, KeyT, N >
static constexpr unsigned Capacity

Detailed Description

template<typename KeyT, typename ValT, unsigned N, typename Traits>
class llvm::IntervalMapImpl::BranchNode< KeyT, ValT, N, Traits >

Definition at line 704 of file IntervalMap.h.

Member Function Documentation

◆ findFrom()

template<typename KeyT, typename ValT, unsigned N, typename Traits>
unsigned llvm::IntervalMapImpl::BranchNode< KeyT, ValT, N, Traits >::findFrom ( unsigned i,
unsigned Size,
KeyT x ) const
inline

findFrom - Find the first subtree after i that may contain x.

Parameters
iStarting index for the search.
SizeNumber of elements in node.
xKey to search for.
Returns
First index with !stopLess(key[i], x), or size. This is the first subtree that can possibly contain x.

Definition at line 718 of file IntervalMap.h.

◆ insert()

template<typename KeyT, typename ValT, unsigned N, typename Traits>
void llvm::IntervalMapImpl::BranchNode< KeyT, ValT, N, Traits >::insert ( unsigned i,
unsigned Size,
NodeRef Node,
KeyT Stop )
inline

insert - Insert a new (subtree, stop) pair.

Parameters
iInsert position, following entries will be shifted.
SizeNumber of elements in node.
NodeSubtree to insert.
StopLast key in subtree.

Definition at line 753 of file IntervalMap.h.

◆ safeFind()

template<typename KeyT, typename ValT, unsigned N, typename Traits>
unsigned llvm::IntervalMapImpl::BranchNode< KeyT, ValT, N, Traits >::safeFind ( unsigned i,
KeyT x ) const
inline

safeFind - Find a subtree that is known to exist.

This is the same as findFrom except is it assumed that x is in range.

Parameters
iStarting index for the search.
xKey to search for.
Returns
First index with !stopLess(key[i], x), never size. This is the first subtree that can possibly contain x.

Definition at line 732 of file IntervalMap.h.

◆ safeLookup()

template<typename KeyT, typename ValT, unsigned N, typename Traits>
NodeRef llvm::IntervalMapImpl::BranchNode< KeyT, ValT, N, Traits >::safeLookup ( KeyT x) const
inline

safeLookup - Get the subtree containing x, Assuming that x is in range.

Parameters
xKey to search for.
Returns
Subtree containing x

Definition at line 744 of file IntervalMap.h.

◆ stop() [1/2]

template<typename KeyT, typename ValT, unsigned N, typename Traits>
KeyT & llvm::IntervalMapImpl::BranchNode< KeyT, ValT, N, Traits >::stop ( unsigned i)
inline

Definition at line 709 of file IntervalMap.h.

◆ stop() [2/2]

template<typename KeyT, typename ValT, unsigned N, typename Traits>
const KeyT & llvm::IntervalMapImpl::BranchNode< KeyT, ValT, N, Traits >::stop ( unsigned i) const
inline

Definition at line 706 of file IntervalMap.h.

◆ subtree() [1/2]

template<typename KeyT, typename ValT, unsigned N, typename Traits>
NodeRef & llvm::IntervalMapImpl::BranchNode< KeyT, ValT, N, Traits >::subtree ( unsigned i)
inline

Definition at line 710 of file IntervalMap.h.

◆ subtree() [2/2]

template<typename KeyT, typename ValT, unsigned N, typename Traits>
const NodeRef & llvm::IntervalMapImpl::BranchNode< KeyT, ValT, N, Traits >::subtree ( unsigned i) const
inline

Definition at line 707 of file IntervalMap.h.


The documentation for this class was generated from the following file: