LLVM: llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits (original) (raw)

#include "[llvm/ADT/IntervalMap.h](IntervalMap%5F8h%5Fsource.html)"

Public Member Functions
const KeyT & start (unsigned i) const
const KeyT & stop (unsigned i) const
const ValT & value (unsigned i) const
KeyT & start (unsigned i)
KeyT & stop (unsigned i)
ValT & value (unsigned i)
unsigned findFrom (unsigned i, unsigned Size, KeyT x) const
findFrom - Find the first interval after i that may contain x.
unsigned safeFind (unsigned i, KeyT x) const
safeFind - Find an interval that is known to exist.
ValT safeLookup (KeyT x, ValT NotFound) const
safeLookup - Lookup mapped value for a safe key.
unsigned insertFrom (unsigned &Pos, unsigned Size, KeyT a, KeyT b, ValT y)
insertFrom - Add mapping of [a;b] to y if possible, coalescing as much as possible.
Public Member Functions inherited from llvm::IntervalMapImpl::NodeBase< std::pair< KeyT, KeyT >, ValT, N >
void copy (const NodeBase< std::pair< KeyT, KeyT >, ValT, 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< std::pair< KeyT, KeyT >, ValT, N >
std::pair< KeyT, KeyT > first [N]
ValT second [N]
Static Public Attributes inherited from llvm::IntervalMapImpl::NodeBase< std::pair< KeyT, KeyT >, ValT, N >
static constexpr unsigned Capacity

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

Definition at line 567 of file IntervalMap.h.

findFrom()

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

Parameters

i Starting index for the search.
Size Number of elements in node.
x Key to search for.

Returns

First index with !stopLess(key[i].stop, x), or size. This is the first interval that can possibly contain x.

Definition at line 583 of file IntervalMap.h.

insertFrom()

template<typename KeyT, typename ValT, unsigned N, typename Traits>

unsigned llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >::insertFrom ( unsigned & Pos,
unsigned Size,
KeyT a,
KeyT b,
ValT y )

insertFrom - Add mapping of [a;b] to y if possible, coalescing as much as possible.

This may cause the node to grow by 1, or it may cause the node to shrink because of coalescing.

Parameters

Pos Starting index = insertFrom(0, size, a)
Size Number of elements in node.
a Interval start.
b Interval stop.
y Value be mapped.

Returns

(insert position, new size), or (i, Capacity+1) on overflow.

Definition at line 630 of file IntervalMap.h.

References assert(), llvm::erase(), N, llvm::IntervalMapImpl::NodeBase< std::pair< KeyT, KeyT >, ValT, N >::shift(), Size, start(), stop(), and value().

Referenced by llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::insert().

safeFind()

safeFind - Find an interval that is known to exist.

This is the same as findFrom except is it assumed that x is at least within range of the last interval.

Parameters

i Starting index for the search.
x Key to search for.

Returns

First index with !stopLess(key[i].stop, x), never size. This is the first interval that can possibly contain x.

Definition at line 598 of file IntervalMap.h.

safeLookup()

safeLookup - Lookup mapped value for a safe key.

It is assumed that x is within range of the last entry.

Parameters

x Key to search for.
NotFound Value to return if x is not in any interval.

Returns

The mapped value at x or NotFound.

Definition at line 612 of file IntervalMap.h.

start() [1/2]

start() [2/2]

stop() [1/2]

stop() [2/2]

value() [1/2]

value() [2/2]


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