LLVM API Documentation

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

#include <IntervalMap.h>

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

List of all members.

Public Member Functions

 const_iterator ()
 const_iterator - Create an iterator that isn't pointing anywhere.
void setMap (const IntervalMap &m)
bool valid () const
 valid - Return true if the current position is valid, false for end().
bool atBegin () const
 atBegin - Return true if the current position is the first map entry.
const KeyTstart () const
 start - Return the beginning of the current interval.
const KeyTstop () const
 stop - Return the end of the current interval.
const ValTvalue () const
 value - Return the mapped value at the current interval.
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.
void goToEnd ()
 goToEnd - Move beyond the last interval in map.
const_iteratoroperator++ ()
 preincrement - move to the next interval.
const_iterator operator++ (int)
 postincrement - Dont do that!
const_iteratoroperator-- ()
 predecrement - move to the previous interval.
const_iterator operator-- (int)
 postdecrement - Dont do that!
void find (KeyT x)
void advanceTo (KeyT x)

Protected Member Functions

 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.
KeyTunsafeStop () const
 unsafeStop - Writable access to stop() for iterator.
ValTunsafeValue () const
 unsafeValue - Writable access to value() for iterator.

Protected Attributes

IntervalMapmap
IntervalMapImpl::Path path

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 >::const_iterator

Definition at line 1295 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 >::const_iterator::const_iterator ( const IntervalMap map) [inline, explicit, protected]

Definition at line 1307 of file IntervalMap.h.

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

const_iterator - Create an iterator that isn't pointing anywhere.

Definition at line 1349 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 >::const_iterator::advanceTo ( KeyT  x) [inline]

advanceTo - Move to the first interval with stop >= x, or end(). The search is started from the current position, and no earlier positions can be found. This is much faster than find() for small moves.

Definition at line 1440 of file IntervalMap.h.

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

atBegin - Return true if the current position is the first map entry.

Definition at line 1359 of file IntervalMap.h.

template<typename KeyT, typename ValT, unsigned N = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize, typename Traits = IntervalMapInfo<KeyT>>
bool llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator::branched ( ) const [inline, protected]

Definition at line 1310 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 >::const_iterator::find ( KeyT  x) [inline]

find - Move to the first interval with stop >= x, or end(). This is a full search from the root, the current position is ignored.

Definition at line 1430 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 >::const_iterator::goToBegin ( ) [inline]

goToBegin - Move to the first interval in map.

Definition at line 1386 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 >::const_iterator::goToEnd ( ) [inline]

goToEnd - Move beyond the last interval in map.

Definition at line 1393 of file IntervalMap.h.

template<typename KeyT, typename ValT, unsigned N = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize, typename Traits = IntervalMapInfo<KeyT>>
bool llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator::operator!= ( const const_iterator RHS) const [inline]

Definition at line 1381 of file IntervalMap.h.

References llvm::operator==().

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

Definition at line 1370 of file IntervalMap.h.

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

preincrement - move to the next interval.

Reimplemented in llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator.

Definition at line 1398 of file IntervalMap.h.

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

postincrement - Dont do that!

Reimplemented in llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator.

Definition at line 1406 of file IntervalMap.h.

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

predecrement - move to the previous interval.

Reimplemented in llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator.

Definition at line 1413 of file IntervalMap.h.

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

postdecrement - Dont do that!

Reimplemented in llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator.

Definition at line 1422 of file IntervalMap.h.

template<typename KeyT, typename ValT, unsigned N = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize, typename Traits = IntervalMapInfo<KeyT>>
bool llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator::operator== ( const const_iterator RHS) const [inline]
template<typename KeyT, typename ValT , unsigned N, typename Traits >
void llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator::pathFillFind ( KeyT  x) [protected]

pathFillFind - Complete path by searching for x.

Parameters:
xKey to search for.

Definition at line 1456 of file IntervalMap.h.

References llvm::IntervalMapImpl::NodeRef::get(), llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >::safeFind(), and llvm::IntervalMapImpl::NodeRef::subtree().

template<typename KeyT, typename ValT, unsigned N = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize, typename Traits = IntervalMapInfo<KeyT>>
void llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator::setMap ( const IntervalMap m) [inline]

setMap - Change the map iterated over. This call must be followed by a call to goToBegin(), goToEnd(), or find()

Definition at line 1353 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 >::const_iterator::setRoot ( unsigned  Offset) [inline, protected]

Definition at line 1315 of file IntervalMap.h.

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

start - Return the beginning of the current interval.

Definition at line 1362 of file IntervalMap.h.

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

stop - Return the end of the current interval.

Definition at line 1365 of file IntervalMap.h.

template<typename KeyT, typename ValT , unsigned N, typename Traits >
void llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator::treeAdvanceTo ( KeyT  x) [protected]

treeAdvanceTo - Find position after the current one.

Parameters:
xKey to search for.

Definition at line 1480 of file IntervalMap.h.

References llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >::stop(), and llvm::IntervalMapImpl::BranchNode< KeyT, ValT, N, Traits >::stop().

template<typename KeyT, typename ValT , unsigned N, typename Traits >
void llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator::treeFind ( KeyT  x) [protected]

treeFind - Find in a branched tree.

Parameters:
xKey to search for.

Definition at line 1470 of file IntervalMap.h.

template<typename KeyT, typename ValT, unsigned N = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize, typename Traits = IntervalMapInfo<KeyT>>
KeyT& llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator::unsafeStart ( ) const [inline, protected]

unsafeStart - Writable access to start() for iterator.

Definition at line 1327 of file IntervalMap.h.

References llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >::start().

template<typename KeyT, typename ValT, unsigned N = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize, typename Traits = IntervalMapInfo<KeyT>>
KeyT& llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator::unsafeStop ( ) const [inline, protected]

unsafeStop - Writable access to stop() for iterator.

Definition at line 1334 of file IntervalMap.h.

References llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >::stop().

template<typename KeyT, typename ValT, unsigned N = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize, typename Traits = IntervalMapInfo<KeyT>>
ValT& llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator::unsafeValue ( ) const [inline, protected]

unsafeValue - Writable access to value() for iterator.

Definition at line 1341 of file IntervalMap.h.

References llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >::value().

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

valid - Return true if the current position is valid, false for end().

Definition at line 1356 of file IntervalMap.h.

Referenced by llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator::operator==().

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

value - Return the mapped value at the current interval.

Definition at line 1368 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 in llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator.

Definition at line 1298 of file IntervalMap.h.


Member Data Documentation

template<typename KeyT, typename ValT, unsigned N = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize, typename Traits = IntervalMapInfo<KeyT>>
IntervalMap* llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator::map [protected]
template<typename KeyT, typename ValT, unsigned N = IntervalMapImpl::NodeSizer<KeyT, ValT>::LeafSize, typename Traits = IntervalMapInfo<KeyT>>
IntervalMapImpl::Path llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator::path [protected]

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