13 #ifndef EVT_STREAM_INPUT_ITERATOR_HH
14 #define EVT_STREAM_INPUT_ITERATOR_HH
16 #include "EvtGenBase/EvtStreamAdapter.hh"
21 using std::input_iterator_tag;
23 template <
class Po
int>
27 typedef input_iterator_tag iterator_category;
28 typedef Point value_type;
29 typedef ptrdiff_t difference_type;
30 typedef const Point* pointer;
31 typedef const Point& reference;
38 : _counter(other._counter ? other._counter->clone() : 0),
39 _currentValue(other._currentValue)
43 : _counter(counter.clone())
45 _currentValue = _counter->currentValue();
50 if(_counter)
delete _counter;
53 reference operator*()
const
74 return (pastEnd() && other.pastEnd());
80 value_type _currentValue;
85 if(_counter) ret = _counter->pastEnd();
94 _currentValue = _counter->currentValue();
102 template <
class Generator>
105 typedef typename Generator::result_type Point;