LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Friends | List of all members
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]

Public Member Functions

 iterator ()
 iterator - Create null iterator. More...
 
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. More...
 
void erase ()
 erase - Erase the current interval. More...
 
iteratoroperator++ ()
 
iterator operator++ (int)
 
iteratoroperator-- ()
 
iterator operator-- (int)
 
- Public Member Functions inherited from llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator
 const_iterator ()
 const_iterator - Create an iterator that isn't pointing anywhere. More...
 
void setMap (const IntervalMap &m)
 
bool valid () const
 valid - Return true if the current position is valid, false for end(). More...
 
bool atBegin () const
 atBegin - Return true if the current position is the first map entry. More...
 
const KeyTstart () const
 start - Return the beginning of the current interval. More...
 
const KeyTstop () const
 stop - Return the end of the current interval. More...
 
const ValTvalue () const
 value - Return the mapped value at the current interval. More...
 
const ValToperator* () const
 
bool operator== (const const_iterator &RHS) const
 
bool operator!= (const const_iterator &RHS) const
 
void goToBegin ()
 goToBegin - Move to the first interval in map. More...
 
void goToEnd ()
 goToEnd - Move beyond the last interval in map. More...
 
const_iteratoroperator++ ()
 preincrement - move to the next interval. More...
 
const_iterator operator++ (int)
 postincrement - Dont do that! More...
 
const_iteratoroperator-- ()
 predecrement - move to the previous interval. More...
 
const_iterator operator-- (int)
 postdecrement - Dont do that! More...
 
void find (KeyT x)
 
void advanceTo (KeyT x)
 

Friends

class IntervalMap
 

Additional Inherited Members

- Protected Member Functions inherited from llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator
 const_iterator (const IntervalMap &map)
 
bool branched () const
 
void setRoot (unsigned Offset)
 
void pathFillFind (KeyT x)
 
void treeFind (KeyT x)
 
void treeAdvanceTo (KeyT x)
 
KeyTunsafeStart () const
 unsafeStart - Writable access to start() for iterator. More...
 
KeyTunsafeStop () const
 unsafeStop - Writable access to stop() for iterator. More...
 
ValTunsafeValue () const
 unsafeValue - Writable access to value() for iterator. More...
 
- Protected Attributes inherited from llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator
IntervalMapmap
 
IntervalMapImpl::Path path
 

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 = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize, typename Traits = IntervalMapInfo<KeyT>>
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 = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize, typename Traits = IntervalMapInfo<KeyT>>
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

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

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

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

Definition at line 1597 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::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 = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize, typename Traits = IntervalMapInfo<KeyT>>
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 = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize, typename Traits = IntervalMapInfo<KeyT>>
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

Definition at line 1520 of file IntervalMap.h.


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