#include <EvtStreamInputIterator.hh>
Public Types | |
typedef ptrdiff_t | difference_type |
typedef input_iterator_tag | iterator_category |
typedef const Point * | pointer |
typedef const Point & | reference |
typedef Point | value_type |
Public Member Functions | |
EvtStreamInputIterator (EvtStreamAdapter< Point > &counter) | |
EvtStreamInputIterator (const EvtStreamInputIterator &other) | |
EvtStreamInputIterator () | |
reference | operator * () const |
EvtStreamInputIterator | operator++ (int) |
EvtStreamInputIterator & | operator++ () |
bool | operator== (const EvtStreamInputIterator &other) const |
~EvtStreamInputIterator () | |
Protected Member Functions | |
void | _read () |
bool | pastEnd () const |
Protected Attributes | |
EvtStreamAdapter< Point > * | _counter |
value_type | _currentValue |
|
|
|
|
|
|
|
|
|
|
|
00031 : _counter(0) 00032 {}
|
|
00035 : _counter(other._counter ? other._counter->clone() : 0), 00036 _currentValue(other._currentValue) 00037 {}
|
|
00040 : _counter(counter.clone()) 00041 { 00042 _currentValue = _counter->currentValue(); 00043 }
|
|
00046 { 00047 if(_counter) delete _counter; 00048 }
|
|
00088 { 00089 00090 _counter->advance(); 00091 _currentValue = _counter->currentValue(); 00092 }
|
|
00051 {
00052 return _currentValue;
00053 }
|
|
00062 { 00063 EvtStreamInputIterator tmp = *this; 00064 _read(); 00065 return tmp; 00066 }
|
|
00056 { 00057 _read(); 00058 return *this; 00059 }
|
|
00069 { 00070 // Equality is only defined for two past the end iterators 00071 return (pastEnd() && other.pastEnd()); 00072 }
|
|
00080 { 00081 bool ret = true; 00082 if(_counter) ret = _counter->pastEnd(); 00083 return ret; 00084 }
|
|
|
|
|