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::VirtualIterator< _T, _Rt, _Pt > Class Template Referenceabstract

#include <VirtualIterator.h>

Inheritance diagram for Audio::VirtualIterator< _T, _Rt, _Pt >:
Audio::VirtualMappingIterator< _It, _T, _Rt, _Pt > Audio::VirtualMappingIterator< _It, _It::value_type::first_type > Audio::VirtualMappingIterator< _It, _It::value_type::second_type > Audio::VirtualKeysIterator< _It > Audio::VirtualValuesIterator< _It >

Public Types

typedef _T value_type
 
typedef _Rt reference_type
 
typedef _Pt pointer_type
 
typedef VirtualIterator< _T,
_Rt, _Pt > 
iterator_type
 

Public Member Functions

 VirtualIterator ()
 
virtual ~VirtualIterator ()
 
virtual reference_type operator* ()=0
 
virtual pointer_type operator-> ()=0
 
virtual iterator_typeoperator++ ()=0
 
virtual iterator_typeoperator-- ()=0
 
virtual SharedPtr< iterator_typeclone () const =0
 
virtual bool eos () const =0
 End-of-sequence. More...
 
virtual bool sos () const =0
 Start-of-sequence. More...
 
reference_type get ()
 
pointer_type getPtr ()
 
iterator_typenext ()
 
iterator_typeprev ()
 

Detailed Description

template<class _T, class _Rt = _T&, class _Pt = _T*>
class Audio::VirtualIterator< _T, _Rt, _Pt >

Used to derive virtual iterator types 
Remarks
Since all operators are virtual, it is recommended not to use these iterators for iterating through large collections...
Note
By necessity, due to design constraints, no postfix increment/decrement operators are defined: those don't get along with virtuality.

Definition at line 17 of file VirtualIterator.h.

Member Typedef Documentation

template<class _T, class _Rt = _T&, class _Pt = _T*>
typedef VirtualIterator<_T,_Rt,_Pt> Audio::VirtualIterator< _T, _Rt, _Pt >::iterator_type

Definition at line 23 of file VirtualIterator.h.

template<class _T, class _Rt = _T&, class _Pt = _T*>
typedef _Pt Audio::VirtualIterator< _T, _Rt, _Pt >::pointer_type

Definition at line 22 of file VirtualIterator.h.

template<class _T, class _Rt = _T&, class _Pt = _T*>
typedef _Rt Audio::VirtualIterator< _T, _Rt, _Pt >::reference_type

Definition at line 21 of file VirtualIterator.h.

template<class _T, class _Rt = _T&, class _Pt = _T*>
typedef _T Audio::VirtualIterator< _T, _Rt, _Pt >::value_type

Definition at line 20 of file VirtualIterator.h.

Constructor & Destructor Documentation

template<class _T, class _Rt = _T&, class _Pt = _T*>
Audio::VirtualIterator< _T, _Rt, _Pt >::VirtualIterator ( )
inline

Definition at line 25 of file VirtualIterator.h.

25 {}
template<class _T, class _Rt = _T&, class _Pt = _T*>
virtual Audio::VirtualIterator< _T, _Rt, _Pt >::~VirtualIterator ( )
inlinevirtual

Definition at line 26 of file VirtualIterator.h.

26 {}

Member Function Documentation

template<class _T, class _Rt = _T&, class _Pt = _T*>
virtual SharedPtr<iterator_type> Audio::VirtualIterator< _T, _Rt, _Pt >::clone ( ) const
pure virtual
template<class _T, class _Rt = _T&, class _Pt = _T*>
reference_type Audio::VirtualIterator< _T, _Rt, _Pt >::get ( )
inline

Definition at line 48 of file VirtualIterator.h.

48 { return operator*(); }
template<class _T, class _Rt = _T&, class _Pt = _T*>
pointer_type Audio::VirtualIterator< _T, _Rt, _Pt >::getPtr ( )
inline

Definition at line 49 of file VirtualIterator.h.

49 { return operator->(); }
template<class _T, class _Rt = _T&, class _Pt = _T*>
iterator_type& Audio::VirtualIterator< _T, _Rt, _Pt >::next ( )
inline

Definition at line 51 of file VirtualIterator.h.

51 { return operator++(); }
template<class _T, class _Rt = _T&, class _Pt = _T*>
iterator_type& Audio::VirtualIterator< _T, _Rt, _Pt >::prev ( )
inline

Definition at line 52 of file VirtualIterator.h.

52 { return operator--(); }

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