clang API Documentation

Classes | Public Types | Public Member Functions | Friends
clang::ContinuousRangeMap< Int, V, InitialCapacity > Class Template Reference

A map from continuous integer ranges to some value, with a very specialized interface. More...

#include <ContinuousRangeMap.h>

Inheritance diagram for clang::ContinuousRangeMap< Int, V, InitialCapacity >:
Inheritance graph
[legend]

List of all members.

Classes

class  Builder
 An object that helps properly build a continuous range map from a set of values. More...
struct  Compare

Public Types

typedef std::pair< Int, V > value_type
typedef value_typereference
typedef const value_typeconst_reference
typedef value_typepointer
typedef const value_typeconst_pointer
typedef Representation::iterator iterator
typedef
Representation::const_iterator 
const_iterator

Public Member Functions

void insert (const value_type &Val)
void insertOrReplace (const value_type &Val)
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
iterator find (Int K)
const_iterator find (Int K) const
reference back ()
const_reference back () const

Friends

class Builder

Detailed Description

template<typename Int, typename V, unsigned InitialCapacity>
class clang::ContinuousRangeMap< Int, V, InitialCapacity >

A map from continuous integer ranges to some value, with a very specialized interface.

CRM maps from integer ranges to values. The ranges are continuous, i.e. where one ends, the next one begins. So if the map contains the stops I0-3, the first range is from I0 to I1, the second from I1 to I2, the third from I2 to I3 and the last from I3 to infinity.

Ranges must be inserted in order. Inserting a new stop I4 into the map will shrink the fourth range to I3 to I4 and add the new range I4 to inf.

Definition at line 36 of file ContinuousRangeMap.h.


Member Typedef Documentation

template<typename Int, typename V, unsigned InitialCapacity>
typedef Representation::const_iterator clang::ContinuousRangeMap< Int, V, InitialCapacity >::const_iterator

Definition at line 84 of file ContinuousRangeMap.h.

template<typename Int, typename V, unsigned InitialCapacity>
typedef const value_type* clang::ContinuousRangeMap< Int, V, InitialCapacity >::const_pointer

Definition at line 42 of file ContinuousRangeMap.h.

template<typename Int, typename V, unsigned InitialCapacity>
typedef const value_type& clang::ContinuousRangeMap< Int, V, InitialCapacity >::const_reference

Definition at line 40 of file ContinuousRangeMap.h.

template<typename Int, typename V, unsigned InitialCapacity>
typedef Representation::iterator clang::ContinuousRangeMap< Int, V, InitialCapacity >::iterator

Definition at line 83 of file ContinuousRangeMap.h.

template<typename Int, typename V, unsigned InitialCapacity>
typedef value_type* clang::ContinuousRangeMap< Int, V, InitialCapacity >::pointer

Definition at line 41 of file ContinuousRangeMap.h.

template<typename Int, typename V, unsigned InitialCapacity>
typedef value_type& clang::ContinuousRangeMap< Int, V, InitialCapacity >::reference

Definition at line 39 of file ContinuousRangeMap.h.

template<typename Int, typename V, unsigned InitialCapacity>
typedef std::pair<Int, V> clang::ContinuousRangeMap< Int, V, InitialCapacity >::value_type

Definition at line 38 of file ContinuousRangeMap.h.


Member Function Documentation

template<typename Int, typename V, unsigned InitialCapacity>
reference clang::ContinuousRangeMap< Int, V, InitialCapacity >::back ( ) [inline]

Definition at line 104 of file ContinuousRangeMap.h.

template<typename Int, typename V, unsigned InitialCapacity>
const_reference clang::ContinuousRangeMap< Int, V, InitialCapacity >::back ( ) const [inline]

Definition at line 105 of file ContinuousRangeMap.h.

template<typename Int, typename V, unsigned InitialCapacity>
iterator clang::ContinuousRangeMap< Int, V, InitialCapacity >::begin ( ) [inline]

Definition at line 86 of file ContinuousRangeMap.h.

Referenced by dumpLocalRemap().

template<typename Int, typename V, unsigned InitialCapacity>
const_iterator clang::ContinuousRangeMap< Int, V, InitialCapacity >::begin ( ) const [inline]

Definition at line 88 of file ContinuousRangeMap.h.

template<typename Int, typename V, unsigned InitialCapacity>
iterator clang::ContinuousRangeMap< Int, V, InitialCapacity >::end ( ) [inline]
template<typename Int, typename V, unsigned InitialCapacity>
const_iterator clang::ContinuousRangeMap< Int, V, InitialCapacity >::end ( ) const [inline]

Definition at line 89 of file ContinuousRangeMap.h.

template<typename Int, typename V, unsigned InitialCapacity>
iterator clang::ContinuousRangeMap< Int, V, InitialCapacity >::find ( Int  K) [inline]
template<typename Int, typename V, unsigned InitialCapacity>
const_iterator clang::ContinuousRangeMap< Int, V, InitialCapacity >::find ( Int  K) const [inline]

Definition at line 100 of file ContinuousRangeMap.h.

template<typename Int, typename V, unsigned InitialCapacity>
void clang::ContinuousRangeMap< Int, V, InitialCapacity >::insert ( const value_type Val) [inline]

Definition at line 64 of file ContinuousRangeMap.h.

template<typename Int, typename V, unsigned InitialCapacity>
void clang::ContinuousRangeMap< Int, V, InitialCapacity >::insertOrReplace ( const value_type Val) [inline]

Definition at line 73 of file ContinuousRangeMap.h.


Friends And Related Function Documentation

template<typename Int, typename V, unsigned InitialCapacity>
friend class Builder [friend]

Definition at line 134 of file ContinuousRangeMap.h.


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