LLVM API Documentation

Public Member Functions
llvm::IntervalMapOverlaps< MapA, MapB > Class Template Reference

#include <IntervalMap.h>

List of all members.

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().
IntervalMapOverlapsoperator++ ()
 Preincrement - Move to the next overlap.
void advanceTo (KeyType x)

Detailed Description

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


Constructor & Destructor Documentation

template<typename MapA , typename MapB >
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().


Member Function Documentation

template<typename MapA , typename MapB >
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.

template<typename MapA , typename MapB >
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().

template<typename MapA , typename MapB >
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.

template<typename MapA , typename MapB >
IntervalMapOverlaps& llvm::IntervalMapOverlaps< MapA, MapB >::operator++ ( ) [inline]

Preincrement - Move to the next overlap.

Definition at line 2141 of file IntervalMap.h.

template<typename MapA , typename MapB >
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().

template<typename MapA , typename MapB >
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().

template<typename MapA , typename MapB >
KeyType llvm::IntervalMapOverlaps< MapA, MapB >::start ( ) const [inline]

start - Beginning of the overlapping interval.

Definition at line 2115 of file IntervalMap.h.

template<typename MapA , typename MapB >
KeyType llvm::IntervalMapOverlaps< MapA, MapB >::stop ( ) const [inline]

stop - End of the overlapping interval.

Definition at line 2122 of file IntervalMap.h.

template<typename MapA , typename MapB >
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.


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