LLVM  8.0.1
Public Member Functions | Friends | List of all members
llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator Class Reference

#include "llvm/ADT/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 ()=default
 iterator - Create null iterator. More...
 
void setStart (KeyT a)
 setStart - Move the start of the current interval. More...
 
void setStop (KeyT b)
 setStop - Move the end of the current interval. More...
 
void setValue (ValT x)
 setValue - Change the mapped value of the current interval. More...
 
void setStartUnchecked (KeyT a)
 setStartUnchecked - Move the start of the current interval without checking for coalescing or overlaps. More...
 
void setStopUnchecked (KeyT b)
 setStopUnchecked - Move the end of the current interval without checking for coalescing or overlaps. More...
 
void setValueUnchecked (ValT x)
 setValueUnchecked - Change the mapped value of the current interval without checking for coalescing. More...
 
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 ()=default
 const_iterator - Create an iterator that isn't pointing anywhere. More...
 
void setMap (const IntervalMap &m)
 setMap - Change the map iterated over. More...
 
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 KeyT & start () const
 start - Return the beginning of the current interval. More...
 
const KeyT & stop () 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)
 find - Move to the first interval with stop >= x, or end(). More...
 
void advanceTo (KeyT x)
 advanceTo - Move to the first interval with stop >= x, or end(). More...
 

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)
 pathFillFind - Complete path by searching for x. More...
 
void treeFind (KeyT x)
 treeFind - Find in a branched tree. More...
 
void treeAdvanceTo (KeyT x)
 treeAdvanceTo - Find position after the current one. More...
 
KeyT & unsafeStart () const
 unsafeStart - Writable access to start() for iterator. More...
 
KeyT & unsafeStop () 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 = nullptr
 
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 1521 of file IntervalMap.h.

Constructor & Destructor Documentation

◆ iterator()

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

iterator - Create null iterator.

Member Function Documentation

◆ erase()

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

◆ insert()

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

◆ operator++() [1/2]

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 1584 of file IntervalMap.h.

◆ operator++() [2/2]

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 1589 of file IntervalMap.h.

◆ operator--() [1/2]

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 1595 of file IntervalMap.h.

◆ operator--() [2/2]

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 1600 of file IntervalMap.h.

◆ setStart()

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 1683 of file IntervalMap.h.

References assert(), and llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::setStop().

◆ setStartUnchecked()

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 1560 of file IntervalMap.h.

Referenced by llvm::LiveDebugVariables::~LiveDebugVariables().

◆ setStop()

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 1699 of file IntervalMap.h.

References assert(), and llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::setValue().

Referenced by llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::setStart().

◆ setStopUnchecked()

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 1566 of file IntervalMap.h.

Referenced by llvm::LiveDebugVariables::~LiveDebugVariables().

◆ setValue()

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 1714 of file IntervalMap.h.

References assert(), llvm::IntervalMapImpl::BranchNode< KeyT, ValT, N, Traits >::insert(), and llvm::IntervalMapImpl::Path::offset().

Referenced by llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::setStop(), and llvm::LiveDebugVariables::~LiveDebugVariables().

◆ setValueUnchecked()

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 1576 of file IntervalMap.h.

Referenced by llvm::LiveDebugVariables::~LiveDebugVariables().

Friends And Related Function Documentation

◆ IntervalMap

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

Definition at line 1522 of file IntervalMap.h.


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