wibble::UniqueRange< T > Struct Template Reference

`#include <range.h>`

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

## Public Member Functions

| UniqueRange ()
| UniqueRange (Range< T > r)
void | find () const
void | removeFirst ()
T | head () const
void | setToEmpty ()
bool | operator<= (const UniqueRange &r) const
Public Member Functions inherited from wibble::RangeMixin< T, UniqueRange< T > >
const UniqueRange< T > & | self () const
iterator | begin () const
iterator | end () const
T | head ()
UniqueRange< 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

## Protected Attributes

Range< T > | m_range
bool | m_valid:1

## Additional Inherited Members

Public Types inherited from wibble::RangeMixin< T, UniqueRange< T > >
typedef UniqueRange< T > | RangeImplementation
typedef T | ElementType
typedef IteratorMixin< T, UniqueRange< T > > | Base
typedef RangeIterator< UniqueRange< T > > | iterator

## Constructor & Destructor Documentation

## UniqueRange() [1/2]

template<typename T >

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

inline

## UniqueRange() [2/2]

template<typename T >

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

inline

## Member Function Documentation

## find()

template<typename T >

void wibble::UniqueRange< T >::find | ( |  | ) | const

inline

References wibble::UniqueRange< T >::m_range, and wibble::UniqueRange< T >::m_valid.

Referenced by wibble::UniqueRange< T >::head(), wibble::UniqueRange< T >::operator<=(), and wibble::UniqueRange< T >::removeFirst().

## head()

template<typename T >

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

inline

References wibble::UniqueRange< T >::find(), and wibble::UniqueRange< T >::m_range.

## operator<=()

template<typename T >

bool wibble::UniqueRange< T >::operator<= | ( | const UniqueRange< T > & | r | ) | const

inline

References wibble::UniqueRange< T >::find(), and wibble::UniqueRange< T >::m_range.

## removeFirst()

template<typename T >

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

inline

References wibble::UniqueRange< T >::find(), wibble::UniqueRange< T >::m_range, and wibble::UniqueRange< T >::m_valid.

## setToEmpty()

template<typename T >

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

inline

References wibble::UniqueRange< T >::m_range.

## Member Data Documentation

## m_range

template<typename T >

Range< T > wibble::UniqueRange< T >::m_range

mutable protected

Referenced by wibble::UniqueRange< T >::find(), wibble::UniqueRange< T >::head(), wibble::UniqueRange< T >::operator<=(), wibble::UniqueRange< T >::removeFirst(), and wibble::UniqueRange< T >::setToEmpty().

## m_valid

template<typename T >

bool wibble::UniqueRange< T >::m_valid

mutable protected

Referenced by wibble::UniqueRange< T >::find(), and wibble::UniqueRange< T >::removeFirst().

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

- range.h