LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
llvm::IntervalMapOverlaps< MapA, MapB > Class Template Reference

#include <IntervalMap.h>

Public Member Functions

 IntervalMapOverlaps (const MapA &a, const MapB &b)
 IntervalMapOverlaps - Create an iterator for the overlaps of a and b. More...
 
bool valid () const
 valid - Return true if iterator is at an overlap. More...
 
const MapA::const_iterator & a () const
 a - access the left hand side in the overlap. More...
 
const MapB::const_iterator & b () const
 b - access the right hand side in the overlap. More...
 
KeyType start () const
 start - Beginning of the overlapping interval. More...
 
KeyType stop () const
 stop - End of the overlapping interval. More...
 
void skipA ()
 skipA - Move to the next overlap that doesn't involve a(). More...
 
void skipB ()
 skipB - Move to the next overlap that doesn't involve b(). More...
 
IntervalMapOverlapsoperator++ ()
 Preincrement - Move to the next overlap. More...
 
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 llvm::object::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 llvm::object::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 llvm::object::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 llvm::object::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: