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:
- Test for overlap: bool overlap = IntervalMapOverlaps(a, b).valid();
- 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:
- include/llvm/ADT/IntervalMap.h