Rasterfarm-SDK
Loading...
Searching...
No Matches
Engine::Circulator< C > Class Template Reference

#include <circulator.h>

Inheritance diagram for Engine::Circulator< C >:

Public Member Functions

 Circulator ()
 
 Circulator (C &container)
 
 Circulator (typename C::iterator itBegin, typename C::iterator itEnd)
 
 Circulator (typename C::iterator itBegin, typename C::iterator itEnd, typename C::iterator position)
 
void setRange (C &container)
 
void setRange (C &container, typename C::iterator position)
 
void setRange (typename C::iterator itBegin, typename C::iterator itEnd)
 
void setRange (typename C::iterator itBegin, typename C::iterator itEnd, typename C::iterator position)
 
void operator= (C &container)
 
void operator= (const typename C::iterator &it)
 
void operator= (const Circulator< C > &ci)
 
uint getIndex () const
 
size_t cycleLength () const
 
Circulator< C > operator+ (uint n) const
 
Circulator< C > & operator+= (uint n)
 
Circulator< C > operator++ (int)
 
Circulator< C > & operator++ ()
 
Circulator< C > operator- (uint n) const
 
Circulator< C > & operator-= (uint n)
 
Circulator< C > operator-- (int)
 
Circulator< C > & operator-- ()
 
Circulator< C > prev () const
 
Circulator< C > next () const
 

Public Attributes

C::iterator itBegin
 
C::iterator itEnd
 

Detailed Description

template<class C>
class Engine::Circulator< C >

A generic implementation of a circular-iterator.

Template Parameters
Anystl iterator with limitations on arithmetic operators depending on the container.

Constructor & Destructor Documentation

◆ Circulator() [1/4]

template<class C >
Engine::Circulator< C >::Circulator ( )
inline

◆ Circulator() [2/4]

template<class C >
Engine::Circulator< C >::Circulator ( C & container)
inline

◆ Circulator() [3/4]

template<class C >
Engine::Circulator< C >::Circulator ( typename C::iterator itBegin,
typename C::iterator itEnd )
inline

◆ Circulator() [4/4]

template<class C >
Engine::Circulator< C >::Circulator ( typename C::iterator itBegin,
typename C::iterator itEnd,
typename C::iterator position )
inline

Member Function Documentation

◆ cycleLength()

template<class C >
size_t Engine::Circulator< C >::cycleLength ( ) const
inline

◆ getIndex()

template<class C >
uint Engine::Circulator< C >::getIndex ( ) const
inline

◆ next()

template<class C >
Circulator< C > Engine::Circulator< C >::next ( ) const
inline

◆ operator+()

template<class C >
Circulator< C > Engine::Circulator< C >::operator+ ( uint n) const
inline

◆ operator++() [1/2]

template<class C >
Circulator< C > & Engine::Circulator< C >::operator++ ( )
inline

◆ operator++() [2/2]

template<class C >
Circulator< C > Engine::Circulator< C >::operator++ ( int )
inline

◆ operator+=()

template<class C >
Circulator< C > & Engine::Circulator< C >::operator+= ( uint n)
inline

◆ operator-()

template<class C >
Circulator< C > Engine::Circulator< C >::operator- ( uint n) const
inline

◆ operator--() [1/2]

template<class C >
Circulator< C > & Engine::Circulator< C >::operator-- ( )
inline

◆ operator--() [2/2]

template<class C >
Circulator< C > Engine::Circulator< C >::operator-- ( int )
inline

◆ operator-=()

template<class C >
Circulator< C > & Engine::Circulator< C >::operator-= ( uint n)
inline

◆ operator=() [1/3]

template<class C >
void Engine::Circulator< C >::operator= ( C & container)
inline

◆ operator=() [2/3]

template<class C >
void Engine::Circulator< C >::operator= ( const Circulator< C > & ci)
inline

◆ operator=() [3/3]

template<class C >
void Engine::Circulator< C >::operator= ( const typename C::iterator & it)
inline

◆ prev()

template<class C >
Circulator< C > Engine::Circulator< C >::prev ( ) const
inline

◆ setRange() [1/4]

template<class C >
void Engine::Circulator< C >::setRange ( C & container)
inline

◆ setRange() [2/4]

template<class C >
void Engine::Circulator< C >::setRange ( C & container,
typename C::iterator position )
inline

◆ setRange() [3/4]

template<class C >
void Engine::Circulator< C >::setRange ( typename C::iterator itBegin,
typename C::iterator itEnd )
inline

◆ setRange() [4/4]

template<class C >
void Engine::Circulator< C >::setRange ( typename C::iterator itBegin,
typename C::iterator itEnd,
typename C::iterator position )
inline

Member Data Documentation

◆ itBegin

template<class C >
C::iterator Engine::Circulator< C >::itBegin

◆ itEnd

template<class C >
C::iterator Engine::Circulator< C >::itEnd

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