3 #include "g_cont_it_base.h"
10 template <
class T >
class ref;
13 template <
class T >
class base;
14 template <
class T ,
class REF ,
class REF_C >
class it_ref;
16 template <
class T ,
class REF = ref<T> ,
class REF_C = ref_const<T> >
class it_ref_const :
public it_base<REF,REF,REF_C>
23 typedef REF_C RefConst_t;
26 it_ref_const (
const RecipientBase_t& aRecipient , IterFrom_t from = head ) { this->mInit ( aRecipient , from ); }
34 it_ref_const& operator ++ (
int ){ this->moveOf(1);
return*
this; }
35 it_ref_const& operator -- (
int ){ this->moveOf(1);
return*
this; }
36 it_ref_const& operator ++ ( ){ this->moveOf(1);
return*
this; }
37 it_ref_const& operator -- ( ){ this->moveOf(1);
return*
this; }
38 it_ref_const& operator += (
int inc ){ this->moveOf(inc);
return*
this; }
39 it_ref_const& operator -= (
int dec ){ this->moveOf(-dec);
return*
this; }
41 Ref_t& underlying ( ) {
return *this->mRecipientP->mPositionerP->getPtr ( this->mIndex ); }
42 RefConst_t underlying ( )
const {
return RefConst_t(*this->mRecipientP->mPositionerP->getPtr ( this->mIndex )); }
44 operator RefConst_t ( )
const {
return this->underlying(); }
46 const T* operator -> ( )
const {
return this->underlying().operator ->(); }
47 const T& operator * ( )
const {
return this->underlying().operator * (); }
50 template <
class T ,
class REF = ref<T> ,
class REF_C = ref_const<T> >
class it_ref :
public it_base<REF,REF,REF_C>
55 typedef REF_C RefConst_t;
58 it_ref (RecipientBase_t& aRecipient , IterFrom_t from = head ) { this->mInit ( aRecipient , from ); }
59 it_ref (
const it_ref& other){ this->mCopy(other); }
61 it_ref& operator = (
const it_ref& aOther){ this->mCopy(aOther);
return *
this;}
63 it_ref operator + (
int inc) { it_ref result(*
this); result.moveOf(inc);
return result; }
64 it_ref operator - (
int dec) { it_ref result(*
this); result.moveOf(-dec);
return result; }
65 it_ref& operator ++ (
int ){ this->moveOf(1);
return*
this; }
66 it_ref& operator -- (
int ){ this->moveOf(1);
return*
this; }
67 it_ref& operator ++ ( ){ this->moveOf(1);
return*
this; }
68 it_ref& operator -- ( ){ this->moveOf(1);
return*
this; }
69 it_ref& operator += (
int inc ){ this->moveOf(inc);
return*
this; }
70 it_ref& operator -= (
int dec ){ this->moveOf(-dec);
return*
this; }
72 Ref_t& underlying ( ) {
return *this->mRecipientP->mPositionerP->getPtr ( this->mIndex ); }
73 RefConst_t underlying ( )
const {
return RefConst_t(*this->mRecipientP->mPositionerP->getPtr ( this->mIndex )); }
75 operator Ref_t& ( ) {
return this->underlying (); }
76 operator const Ref_t& ( )
const {
return this->underlying (); }
78 const T* operator -> ( )
const {
return this->underlying().operator ->(); }
79 const T& operator * ( )
const {
return this->underlying().operator * (); }
81 T* operator -> ( ) {
return this->underlying().operator ->(); }
82 T& operator * ( ) {
return this->underlying().operator * (); }
Definition: g_cont_it_ref.h:16
Definition: g.mthread.ThreadSimpleEvent.h:5
Definition: g_cont_it_ref.h:11
Definition: g_cont_it_ref.h:14
Definition: g_cont_it_ref.h:13
Definition: g_cont_base_cont.h:13
Definition: g_cont_it_ref.h:10