LLVM API Documentation

Public Member Functions | Friends
llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator Class Reference

#include <IntervalMap.h>

Inheritance diagram for llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator:
Inheritance graph
[legend]
Collaboration diagram for llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 iterator ()
 iterator - Create null iterator.
void setStart (KeyT a)
void setStop (KeyT b)
void setValue (ValT x)
void setStartUnchecked (KeyT a)
void setStopUnchecked (KeyT b)
void setValueUnchecked (ValT x)
void insert (KeyT a, KeyT b, ValT y)
 insert - Insert mapping [a;b] -> y before the current position.
void erase ()
 erase - Erase the current interval.
iteratoroperator++ ()
 preincrement - move to the next interval.
iterator operator++ (int)
 postincrement - Dont do that!
iteratoroperator-- ()
 predecrement - move to the previous interval.
iterator operator-- (int)
 postdecrement - Dont do that!

Friends

class IntervalMap

Detailed Description

template<typename KeyT, typename ValT, unsigned N = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize, typename Traits = IntervalMapInfo<KeyT>>
class llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator

Definition at line 1519 of file IntervalMap.h.


Constructor & Destructor Documentation

template<typename KeyT, typename ValT, unsigned N = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize, typename Traits = IntervalMapInfo<KeyT>>
llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::iterator ( ) [inline]

iterator - Create null iterator.

Definition at line 1536 of file IntervalMap.h.


Member Function Documentation

template<typename KeyT , typename ValT , unsigned N, typename Traits >
void llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::erase ( )

erase - Erase the current interval.

erase - erase the current interval and move to the next position.

Definition at line 1870 of file IntervalMap.h.

References llvm::IntervalMapImpl::NodeBase< T1, T2, N >::erase(), llvm::IntervalMapImpl::Path::leafOffset(), llvm::IntervalMapImpl::Path::setSize(), and llvm::IntervalMapImpl::Path::valid().

template<typename KeyT, typename ValT, unsigned N, typename Traits >
void llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::insert ( KeyT  a,
KeyT  b,
ValT  y 
)
template<typename KeyT, typename ValT, unsigned N = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize, typename Traits = IntervalMapInfo<KeyT>>
iterator& llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::operator++ ( ) [inline]

preincrement - move to the next interval.

Reimplemented from llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator.

Definition at line 1581 of file IntervalMap.h.

template<typename KeyT, typename ValT, unsigned N = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize, typename Traits = IntervalMapInfo<KeyT>>
iterator llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::operator++ ( int  ) [inline]

postincrement - Dont do that!

Reimplemented from llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator.

Definition at line 1586 of file IntervalMap.h.

template<typename KeyT, typename ValT, unsigned N = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize, typename Traits = IntervalMapInfo<KeyT>>
iterator& llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::operator-- ( ) [inline]

predecrement - move to the previous interval.

Reimplemented from llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator.

Definition at line 1592 of file IntervalMap.h.

template<typename KeyT, typename ValT, unsigned N = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize, typename Traits = IntervalMapInfo<KeyT>>
iterator llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::operator-- ( int  ) [inline]

postdecrement - Dont do that!

Reimplemented from llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator.

Definition at line 1597 of file IntervalMap.h.

template<typename KeyT, typename ValT , unsigned N, typename Traits >
void llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::setStart ( KeyT  a)

setStart - Move the start of the current interval. This may cause coalescing with the previous interval.

Parameters:
aNew start key, must not overlap the previous interval.

Definition at line 1681 of file IntervalMap.h.

template<typename KeyT, typename ValT, unsigned N = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize, typename Traits = IntervalMapInfo<KeyT>>
void llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::setStartUnchecked ( KeyT  a) [inline]

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.

Parameters:
aNew start key.

Definition at line 1557 of file IntervalMap.h.

template<typename KeyT, typename ValT , unsigned N, typename Traits >
void llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::setStop ( KeyT  b)

setStop - Move the end of the current interval. This may cause coalescing with the following interval.

Parameters:
bNew stop key, must not overlap the following interval.

Definition at line 1697 of file IntervalMap.h.

template<typename KeyT, typename ValT, unsigned N = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize, typename Traits = IntervalMapInfo<KeyT>>
void llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::setStopUnchecked ( KeyT  b) [inline]

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.

Parameters:
bNew stop key.

Definition at line 1563 of file IntervalMap.h.

template<typename KeyT , typename ValT, unsigned N, typename Traits >
void llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::setValue ( ValT  x)

setValue - Change the mapped value of the current interval. This may cause coalescing with the previous and following intervals.

Parameters:
xNew value.

Definition at line 1712 of file IntervalMap.h.

template<typename KeyT, typename ValT, unsigned N = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize, typename Traits = IntervalMapInfo<KeyT>>
void llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::setValueUnchecked ( ValT  x) [inline]

setValueUnchecked - Change the mapped value of the current interval without checking for coalescing.

Parameters:
xNew value.

Definition at line 1573 of file IntervalMap.h.


Friends And Related Function Documentation

template<typename KeyT, typename ValT, unsigned N = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize, typename Traits = IntervalMapInfo<KeyT>>
friend class IntervalMap [friend]

Reimplemented from llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator.

Definition at line 1520 of file IntervalMap.h.


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