LLVM API Documentation
#include <IntervalMap.h>
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) |
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 2058 of file IntervalMap.h.
llvm::IntervalMapOverlaps< MapA, MapB >::IntervalMapOverlaps | ( | const MapA & | a, |
const MapB & | b | ||
) | [inline] |
IntervalMapOverlaps - Create an iterator for the overlaps of a and b.
Definition at line 2099 of file IntervalMap.h.
References advance().
const MapA::const_iterator& llvm::IntervalMapOverlaps< MapA, MapB >::a | ( | ) | const [inline] |
a - access the left hand side in the overlap.
Definition at line 2109 of file IntervalMap.h.
void llvm::IntervalMapOverlaps< MapA, MapB >::advanceTo | ( | KeyType | x | ) | [inline] |
advanceTo - Move to the first overlapping interval with stopLess(x, stop()).
Definition at line 2152 of file IntervalMap.h.
References advance().
const MapB::const_iterator& llvm::IntervalMapOverlaps< MapA, MapB >::b | ( | ) | const [inline] |
b - access the right hand side in the overlap.
Definition at line 2112 of file IntervalMap.h.
IntervalMapOverlaps& llvm::IntervalMapOverlaps< MapA, MapB >::operator++ | ( | ) | [inline] |
Preincrement - Move to the next overlap.
Definition at line 2141 of file IntervalMap.h.
void llvm::IntervalMapOverlaps< MapA, MapB >::skipA | ( | ) | [inline] |
skipA - Move to the next overlap that doesn't involve a().
Definition at line 2129 of file IntervalMap.h.
References advance().
void llvm::IntervalMapOverlaps< MapA, MapB >::skipB | ( | ) | [inline] |
skipB - Move to the next overlap that doesn't involve b().
Definition at line 2135 of file IntervalMap.h.
References advance().
KeyType llvm::IntervalMapOverlaps< MapA, MapB >::start | ( | ) | const [inline] |
start - Beginning of the overlapping interval.
Definition at line 2115 of file IntervalMap.h.
KeyType llvm::IntervalMapOverlaps< MapA, MapB >::stop | ( | ) | const [inline] |
stop - End of the overlapping interval.
Definition at line 2122 of file IntervalMap.h.
bool llvm::IntervalMapOverlaps< MapA, MapB >::valid | ( | ) | const [inline] |
valid - Return true if iterator is at an overlap.
Definition at line 2104 of file IntervalMap.h.