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

Inherited from IntervalMap::const_iterator:

Methods

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)

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()

Description

erase - Erase the current interval.

Declared at: llvm/include/llvm/ADT/IntervalMap.h:1594

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)

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)

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)

Declared at: llvm/include/llvm/ADT/IntervalMap.h:1538

Parameters

IntervalMap<KeyT, ValT, N, Traits>& map

iterator()

Description

iterator - Create null iterator.

Declared at: llvm/include/llvm/ADT/IntervalMap.h:1551

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)

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)

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)

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)

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)

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)

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)

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)

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)

Declared at: llvm/include/llvm/ADT/IntervalMap.h:1543

Parameters

KeyT a
KeyT b
ValT y