LLVM: llvm::IntervalMapOverlaps< MapA, MapB > Class Template Reference (original) (raw)

IntervalMapOverlaps - Iterate over the overlaps of mapped intervals in two IntervalMaps. More...

#include "[llvm/ADT/IntervalMap.h](IntervalMap%5F8h%5Fsource.html)"

Public Member Functions
IntervalMapOverlaps (const MapA &a, const MapB &b)
IntervalMapOverlaps - Create an iterator for the overlaps of a and b.
bool valid () const
valid - Return true if iterator is at an overlap.
const MapA::const_iterator & a () const
a - access the left hand side in the overlap.
const MapB::const_iterator & b () const
b - access the right hand side in the overlap.
KeyType start () const
start - Beginning of the overlapping interval.
KeyType stop () const
stop - End of the overlapping interval.
void skipA ()
skipA - Move to the next overlap that doesn't involve a().
void skipB ()
skipB - Move to the next overlap that doesn't involve b().
IntervalMapOverlaps & operator++ ()
Preincrement - Move to the next overlap.
void advanceTo (KeyType x)
advanceTo - Move to the first overlapping interval with stopLess(x, stop()).

template<typename MapA, typename MapB>
class llvm::IntervalMapOverlaps< MapA, MapB >

IntervalMapOverlaps - Iterate over the overlaps of mapped intervals in two IntervalMaps.

The maps may be different, but the KeyT and Traits types should be the same.

Typical uses:

  1. Test for overlap: bool overlap = IntervalMapOverlaps(a, b).valid();
  2. Enumerate overlaps: for (IntervalMapOverlaps I(a, b); I.valid() ; ++I) { ... }

Definition at line 2111 of file IntervalMap.h.

template<typename MapA, typename MapB>

a()

template<typename MapA, typename MapB>

advanceTo()

template<typename MapA, typename MapB>

advanceTo - Move to the first overlapping interval with stopLess(x, stop()).

Definition at line 2207 of file IntervalMap.h.

References valid().

b()

template<typename MapA, typename MapB>

operator++()

template<typename MapA, typename MapB>

skipA()

template<typename MapA, typename MapB>

skipB()

template<typename MapA, typename MapB>

start()

template<typename MapA, typename MapB>

stop()

template<typename MapA, typename MapB>

valid()

template<typename MapA, typename MapB>


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