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:
- include/llvm/ADT/IntervalMap.h