wibble::Range< T > Struct Template Reference

`#include <range.h>`

Inheritance diagram for wibble::Range< T >:
[legend]
Collaboration diagram for wibble::Range< T >:
[legend]

## Public Types

typedef Amorph< Range< T >, RangeInterface< T > > | Super
Public Types inherited from wibble::Amorph< Range< T >, RangeInterface< T > >
typedef RangeInterface< T > | Interface
Public Types inherited from wibble::RangeMixin< T, Range< T > >
typedef Range< T > | RangeImplementation
typedef T | ElementType
typedef IteratorMixin< T, Range< T > > | Base
typedef RangeIterator< Range< T > > | iterator

## Public Member Functions

template<typename C >
| Range (const C &i, typename IsType< int, typename C::RangeImplementation >::T fake=0)
| Range ()
T | head () const
void | removeFirst ()
void | setToEmpty ()
template<typename C >
| operator Range< C > ()
Public Member Functions inherited from wibble::Amorph< Range< T >, RangeInterface< T > >
| Amorph (const MorphInterface< Interface > &b)
| Amorph (const Amorph &a)
| Amorph ()
const Range< T > & | self () const
Range< T > & | self ()
bool | leq (const Range< T > &i) const
bool | operator<= (const Range< T > &i) const
void | setInterfacePointer (const Interface *i)
void | setMorphInterfacePointer (const MorphInterface< Interface > *i)
Amorph & | operator= (const Amorph &i)
| ~Amorph ()
Maybe< typename F::result_type > | ifType (F func)
const Interface * | implementation () const
Interface * | implementation ()
MorphInterface< Interface > * | morphInterface () const
const Interface & | wrapped () const
Interface & | wrapped ()
bool | is () const
bool | isVoid () const
T * | impl () const
Public Member Functions inherited from wibble::RangeMixin< T, Range< T > >
const Range< T > & | self () const
iterator | begin () const
iterator | end () const
T | head ()
Range< T > | tail () const
void | output (Consumer< T > t) const
bool | empty () const
| ~RangeMixin ()
Public Member Functions inherited from wibble::mixin::Comparable< Self >
const Self & | cmpSelf () const
bool | operator!= (const Self &o) const
bool | operator== (const Self &o) const
bool | operator< (const Self &o) const
bool | operator> (const Self &o) const
bool | operator>= (const Self &o) const

## Member Typedef Documentation

## Super

template<typename T >

typedef Amorph< Range< T >, RangeInterface< T > > wibble::Range< T >::Super

## Constructor & Destructor Documentation

## Range() [1/2]

template<typename T >
template<typename C >

wibble::Range< T >::Range | ( | const C & | i,
|  | typename IsType< int, typename C::RangeImplementation >::T | fake = `0`
| ) |  |

inline

## Range() [2/2]

template<typename T >

wibble::Range< T >::Range | ( |  | ) |

inline

## Member Function Documentation

## head()

template<typename T >

T wibble::Range< T >::head | ( |  | ) | const

inline

References wibble::RangeInterface< T >::head(), and wibble::Amorph< Range< T >, RangeInterface< T > >::implementation().

Referenced by wibble::ConsumerMorph< T, W >::consume(), wibble::CastedRange< T, Casted >::head(), and wibble::TransformedRange< Transform >::head().

## operator Range< C >()

template<typename T >
template<typename C >

wibble::Range< T >::operator Range< C >

## removeFirst()

template<typename T >

void wibble::Range< T >::removeFirst | ( |  | ) |

inline

References wibble::Amorph< Range< T >, RangeInterface< T > >::implementation(), and wibble::RangeInterface< T >::removeFirst().

Referenced by wibble::CastedRange< T, Casted >::removeFirst(), and wibble::TransformedRange< Transform >::removeFirst().

## setToEmpty()

template<typename T >

void wibble::Range< T >::setToEmpty | ( |  | ) |

inline

References wibble::Amorph< Range< T >, RangeInterface< T > >::implementation(), and wibble::RangeInterface< T >::setToEmpty().

Referenced by wibble::CastedRange< T, Casted >::setToEmpty(), and wibble::TransformedRange< Transform >::setToEmpty().

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

- range.h