class IntervalMap::iterator
Declaration
class IntervalMap::iterator : public const_iterator { /* full declaration omitted */ };
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1533
Inherits from: IntervalMap::const_iterator
Member Variables
Inherited from IntervalMap::const_iterator:
- protected map = nullptr
- protected path
Method Overview
- private bool canCoalesceLeft(KeyT Start, ValT x)
- private bool canCoalesceRight(KeyT Stop, ValT x)
- public void erase()
- private void eraseNode(unsigned int Level)
- public void insert(KeyT a, KeyT b, ValT y)
- private bool insertNode(unsigned int Level, IntervalMapImpl::NodeRef Node, KeyT Stop)
- private iterator(IntervalMap<KeyT, ValT, N, Traits> & map)
- public iterator()
- private template <typename NodeT>bool overflow(unsigned int Level)
- private void setNodeStop(unsigned int Level, KeyT Stop)
- public void setStart(KeyT a)
- public void setStartUnchecked(KeyT a)
- public void setStop(KeyT b)
- public void setStopUnchecked(KeyT b)
- public void setValue(ValT x)
- public void setValueUnchecked(ValT x)
- private void treeErase(bool UpdateRoot = true)
- private void treeInsert(KeyT a, KeyT b, ValT y)
Inherited from IntervalMap::const_iterator:
- public advanceTo
- public atBegin
- protected branched
- public find
- public goToBegin
- public goToEnd
- protected pathFillFind
- public setMap
- protected setRoot
- public start
- public stop
- protected treeAdvanceTo
- protected treeFind
- protected unsafeStart
- protected unsafeStop
- protected unsafeValue
- public valid
- public value
Methods
¶bool canCoalesceLeft(KeyT Start, ValT x)
bool canCoalesceLeft(KeyT Start, ValT x)
Description
canCoalesceLeft - Can the current interval coalesce to the left after changing start or value?
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1546
Parameters
- KeyT Start
- New start of current interval.
- ValT x
Returns
True when updating the current interval would enable coalescing.
¶bool canCoalesceRight(KeyT Stop, ValT x)
bool canCoalesceRight(KeyT Stop, ValT x)
Description
canCoalesceRight - Can the current interval coalesce to the right after changing stop or value?
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1547
Parameters
- KeyT Stop
- New stop of current interval.
- ValT x
Returns
True when updating the current interval would enable coalescing.
¶void erase()
void erase()
Description
erase - Erase the current interval.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1594
¶void eraseNode(unsigned int Level)
void eraseNode(unsigned int Level)
Description
eraseNode - Erase the current node at Level from its parent and move path to the first entry of the next sibling node. The node must be deallocated by the caller.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1544
Parameters
- unsigned int Level
- 1..height, the root node cannot be erased.
¶void insert(KeyT a, KeyT b, ValT y)
void insert(KeyT a, KeyT b, ValT y)
Description
insert - Insert mapping [a;b] -> y before the current position.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1591
Parameters
- KeyT a
- KeyT b
- ValT y
¶bool insertNode(unsigned int Level,
IntervalMapImpl::NodeRef Node,
KeyT Stop)
bool insertNode(unsigned int Level,
IntervalMapImpl::NodeRef Node,
KeyT Stop)
Description
insertNode - insert a node before the current path at level. Leave the current path pointing at the new node.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1541
Parameters
- unsigned int Level
- path index of the node to be inserted.
- IntervalMapImpl::NodeRef Node
- The node to be inserted.
- KeyT Stop
- The last index in the new node.
Returns
True if the tree height was increased.
¶iterator(IntervalMap<KeyT, ValT, N, Traits>& map)
iterator(IntervalMap<KeyT, ValT, N, Traits>& map)
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1538
Parameters
- IntervalMap<KeyT, ValT, N, Traits>& map
¶iterator()
iterator()
Description
iterator - Create null iterator.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1551
¶template <typename NodeT>
bool overflow(unsigned int Level)
template <typename NodeT>
bool overflow(unsigned int Level)
Description
overflow - Distribute entries of the current node evenly among its siblings and ensure that the current node is not full. This may require allocating a new node.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1542
Templates
- NodeT
- The type of node at Level (Leaf or Branch).
Parameters
- unsigned int Level
- path index of the overflowing node.
Returns
True when the tree height was changed.
¶void setNodeStop(unsigned int Level, KeyT Stop)
void setNodeStop(unsigned int Level, KeyT Stop)
Description
setNodeStop - Update the stop key of the current node at level and above.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1540
Parameters
- unsigned int Level
- KeyT Stop
¶void setStart(KeyT a)
void setStart(KeyT a)
Description
setStart - Move the start of the current interval. This may cause coalescing with the previous interval.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1556
Parameters
- KeyT a
- New start key, must not overlap the previous interval.
¶void setStartUnchecked(KeyT a)
void setStartUnchecked(KeyT a)
Description
setStartUnchecked - Move the start of the current interval without checking for coalescing or overlaps. This should only be used when it is known that coalescing is not required.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1572
Parameters
- KeyT a
- New start key.
¶void setStop(KeyT b)
void setStop(KeyT b)
Description
setStop - Move the end of the current interval. This may cause coalescing with the following interval.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1561
Parameters
- KeyT b
- New stop key, must not overlap the following interval.
¶void setStopUnchecked(KeyT b)
void setStopUnchecked(KeyT b)
Description
setStopUnchecked - Move the end of the current interval without checking for coalescing or overlaps. This should only be used when it is known that coalescing is not required.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1578
Parameters
- KeyT b
- New stop key.
¶void setValue(ValT x)
void setValue(ValT x)
Description
setValue - Change the mapped value of the current interval. This may cause coalescing with the previous and following intervals.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1566
Parameters
- ValT x
- New value.
¶void setValueUnchecked(ValT x)
void setValueUnchecked(ValT x)
Description
setValueUnchecked - Change the mapped value of the current interval without checking for coalescing.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1588
Parameters
- ValT x
- New value.
¶void treeErase(bool UpdateRoot = true)
void treeErase(bool UpdateRoot = true)
Description
treeErase - erase() for a branched tree.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1545
Parameters
- bool UpdateRoot = true
¶void treeInsert(KeyT a, KeyT b, ValT y)
void treeInsert(KeyT a, KeyT b, ValT y)
Declared at: llvm/include/llvm/ADT/IntervalMap.h:1543
Parameters
- KeyT a
- KeyT b
- ValT y