Coalescing map from key intervals to values, stored as a compact B+‐tree.
Synopsis
Declared in <llvm/ADT/IntervalMap.h>
template<
typename KeyT,
typename ValT,
unsigned int N = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize,
typename Traits = IntervalMapInfo<KeyT>>
class IntervalMap;
Types
Name |
Description |
Read‐only bidirectional iterator over coalesced intervals in an IntervalMap. |
|
Mutable bidirectional iterator over coalesced intervals in an IntervalMap. |
Type Aliases
Member Functions
Name |
Description |
|
Constructors |
|
Destroy the map and free all allocated nodes. |
Assignment operators |
|
|
|
clear ‐ Remove all entries. |
|
empty ‐ Return true when no intervals are mapped. |
|
|
|
find ‐ Return an iterator pointing to the first interval ending at or after x, or end(). |
|
Add a mapping of [a;b]to y, coalescing with adjacent intervals. |
|
lookup ‐ Return the mapped value at x or NotFound. |
|
overlaps(a, b) ‐ Return true if the intervals in this map overlap with the interval [a;b]. |
|
start ‐ Return the smallest mapped key in a non‐empty map. |
|
stop ‐ Return the largest mapped key in a non‐empty map. |
Data Members
Name |
Description |
|
Root branch payload once the map has grown beyond the inline leaf. |
|
Inline leaf storage used while the map is unbranched. |
Friends
Name |
Description |
Mutable bidirectional iterator over coalesced intervals in an IntervalMap. |
|
Read‐only bidirectional iterator over coalesced intervals in an IntervalMap. |
Created with MrDocs