Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Audio::ChainingIterator< _It1, _It2 > Class Template Reference

#include <VirtualIterator.h>

Inheritance diagram for Audio::ChainingIterator< _It1, _It2 >:
Audio::VirtualIterator< _It1::value_type, _It1::reference_type, _It1::pointer_type >

Public Types

typedef _It1::value_type value_type
 
typedef _It1::reference_type reference_type
 
typedef _It1::pointer_type pointer_type
 
typedef VirtualIterator
< value_type, reference_type,
pointer_type
iterator_type
 
- Public Types inherited from Audio::VirtualIterator< _It1::value_type, _It1::reference_type, _It1::pointer_type >
typedef _It1::value_type value_type
 
typedef _It1::reference_type reference_type
 
typedef _It1::pointer_type pointer_type
 
typedef VirtualIterator
< _It1::value_type,
_It1::reference_type,
_It1::pointer_type > 
iterator_type
 

Public Member Functions

 ChainingIterator ()
 
 ChainingIterator (const ChainingIterator< _It1, _It2 > &o)
 
 ChainingIterator (_It1 _it1, _It2 _it2)
 
virtual ~ChainingIterator ()
 
virtual reference_type operator* ()
 
virtual pointer_type operator-> ()
 
virtual iterator_typeoperator++ ()
 
virtual iterator_typeoperator-- ()
 
virtual SharedPtr< iterator_typeclone () const
 
virtual bool eos () const
 End-of-sequence. More...
 
virtual bool sos () const
 Start-of-sequence. More...
 
- Public Member Functions inherited from Audio::VirtualIterator< _It1::value_type, _It1::reference_type, _It1::pointer_type >
 VirtualIterator ()
 
virtual ~VirtualIterator ()
 
reference_type get ()
 
pointer_type getPtr ()
 
iterator_typenext ()
 
iterator_typeprev ()
 

Detailed Description

template<typename _It1, typename _It2 = _It1>
class Audio::ChainingIterator< _It1, _It2 >

Definition at line 164 of file VirtualIterator.h.

Member Typedef Documentation

template<typename _It1, typename _It2 = _It1>
typedef VirtualIterator<value_type, reference_type, pointer_type> Audio::ChainingIterator< _It1, _It2 >::iterator_type

Definition at line 179 of file VirtualIterator.h.

template<typename _It1, typename _It2 = _It1>
typedef _It1::pointer_type Audio::ChainingIterator< _It1, _It2 >::pointer_type

Definition at line 178 of file VirtualIterator.h.

template<typename _It1, typename _It2 = _It1>
typedef _It1::reference_type Audio::ChainingIterator< _It1, _It2 >::reference_type

Definition at line 177 of file VirtualIterator.h.

template<typename _It1, typename _It2 = _It1>
typedef _It1::value_type Audio::ChainingIterator< _It1, _It2 >::value_type

Definition at line 176 of file VirtualIterator.h.

Constructor & Destructor Documentation

template<typename _It1, typename _It2 = _It1>
Audio::ChainingIterator< _It1, _It2 >::ChainingIterator ( )
inline

Definition at line 181 of file VirtualIterator.h.

181 {}
template<typename _It1, typename _It2 = _It1>
Audio::ChainingIterator< _It1, _It2 >::ChainingIterator ( const ChainingIterator< _It1, _It2 > &  o)
inline

Definition at line 182 of file VirtualIterator.h.

182 : it1(o.it1), it2(o.it2) {}
template<typename _It1, typename _It2 = _It1>
Audio::ChainingIterator< _It1, _It2 >::ChainingIterator ( _It1  _it1,
_It2  _it2 
)
inline

Definition at line 183 of file VirtualIterator.h.

183 : it1(_it1), it2(_it2) {}
template<typename _It1, typename _It2 = _It1>
virtual Audio::ChainingIterator< _It1, _It2 >::~ChainingIterator ( )
inlinevirtual

Definition at line 184 of file VirtualIterator.h.

184 {}

Member Function Documentation

template<typename _It1, typename _It2 = _It1>
virtual SharedPtr<iterator_type> Audio::ChainingIterator< _It1, _It2 >::clone ( ) const
inlinevirtual

Implements Audio::VirtualIterator< _It1::value_type, _It1::reference_type, _It1::pointer_type >.

Definition at line 208 of file VirtualIterator.h.

209  { return SharedPtr<iterator_type>(new ChainingIterator<_It1,_It2>(it1, it2)); }
template<typename _It1, typename _It2 = _It1>
virtual bool Audio::ChainingIterator< _It1, _It2 >::eos ( ) const
inlinevirtual

End-of-sequence.

Implements Audio::VirtualIterator< _It1::value_type, _It1::reference_type, _It1::pointer_type >.

Definition at line 211 of file VirtualIterator.h.

212  { return (it1.eos() && it2.eos()); }
template<typename _It1, typename _It2 = _It1>
virtual reference_type Audio::ChainingIterator< _It1, _It2 >::operator* ( )
inlinevirtual

Implements Audio::VirtualIterator< _It1::value_type, _It1::reference_type, _It1::pointer_type >.

Definition at line 186 of file VirtualIterator.h.

187  { return (it1.eos() ? *it2 : *it1); }
template<typename _It1, typename _It2 = _It1>
virtual iterator_type& Audio::ChainingIterator< _It1, _It2 >::operator++ ( )
inlinevirtual

Implements Audio::VirtualIterator< _It1::value_type, _It1::reference_type, _It1::pointer_type >.

Definition at line 192 of file VirtualIterator.h.

193  {
194  if (it1.eos())
195  ++it2; else
196  ++it1;
197  return *this;
198  }
template<typename _It1, typename _It2 = _It1>
virtual iterator_type& Audio::ChainingIterator< _It1, _It2 >::operator-- ( )
inlinevirtual

Implements Audio::VirtualIterator< _It1::value_type, _It1::reference_type, _It1::pointer_type >.

Definition at line 200 of file VirtualIterator.h.

201  {
202  if (it1.eos() && !it2.sos())
203  --it2; else
204  --it1;
205  return *this;
206  }
template<typename _It1, typename _It2 = _It1>
virtual pointer_type Audio::ChainingIterator< _It1, _It2 >::operator-> ( )
inlinevirtual

Implements Audio::VirtualIterator< _It1::value_type, _It1::reference_type, _It1::pointer_type >.

Definition at line 189 of file VirtualIterator.h.

190  { return (it1.eos() ? it2.operator->() : it1.operator->()); }
template<typename _It1, typename _It2 = _It1>
virtual bool Audio::ChainingIterator< _It1, _It2 >::sos ( ) const
inlinevirtual

Start-of-sequence.

Implements Audio::VirtualIterator< _It1::value_type, _It1::reference_type, _It1::pointer_type >.

Definition at line 214 of file VirtualIterator.h.

215  { return (it1.sos() && it2.sos()); }

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