class IntervalMapOverlaps
Declaration
template <typename MapA, typename MapB>
class IntervalMapOverlaps { /* full declaration omitted */ };
Description
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) { ... }
Declared at: llvm/include/llvm/ADT/IntervalMap.h:2058
Templates
- MapA
- MapB
Method Overview
- public IntervalMapOverlaps<MapA, MapB>(const MapA & a, const MapB & b)
- public const typename MapA::const_iterator & a() const
- public void advanceTo(llvm::IntervalMapOverlaps::KeyType x)
- public const typename MapB::const_iterator & b() const
- public void skipA()
- public void skipB()
- public llvm::IntervalMapOverlaps::KeyType start() const
- public llvm::IntervalMapOverlaps::KeyType stop() const
- public bool valid() const
Methods
¶IntervalMapOverlaps<MapA, MapB>(const MapA& a,
const MapB& b)
IntervalMapOverlaps<MapA, MapB>(const MapA& a,
const MapB& b)
Description
IntervalMapOverlaps - Create an iterator for the overlaps of a and b.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:2100
Parameters
- const MapA& a
- const MapB& b
¶const typename MapA::const_iterator& a() const
const typename MapA::const_iterator& a() const
Description
a - access the left hand side in the overlap.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:2110
¶void advanceTo(
llvm::IntervalMapOverlaps::KeyType x)
void advanceTo(
llvm::IntervalMapOverlaps::KeyType x)
Description
advanceTo - Move to the first overlapping interval with stopLess(x, stop()).
Declared at: llvm/include/llvm/ADT/IntervalMap.h:2153
Parameters
- llvm::IntervalMapOverlaps::KeyType x
¶const typename MapB::const_iterator& b() const
const typename MapB::const_iterator& b() const
Description
b - access the right hand side in the overlap.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:2113
¶void skipA()
void skipA()
Description
skipA - Move to the next overlap that doesn't involve a().
Declared at: llvm/include/llvm/ADT/IntervalMap.h:2130
¶void skipB()
void skipB()
Description
skipB - Move to the next overlap that doesn't involve b().
Declared at: llvm/include/llvm/ADT/IntervalMap.h:2136
¶llvm::IntervalMapOverlaps::KeyType start() const
llvm::IntervalMapOverlaps::KeyType start() const
Description
start - Beginning of the overlapping interval.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:2116
¶llvm::IntervalMapOverlaps::KeyType stop() const
llvm::IntervalMapOverlaps::KeyType stop() const
Description
stop - End of the overlapping interval.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:2123
¶bool valid() const
bool valid() const
Description
valid - Return true if iterator is at an overlap.
Declared at: llvm/include/llvm/ADT/IntervalMap.h:2105