18 template <
class TmplData>
19 IStreamIterator<TmplData>::IStreamIterator(std::istream &iStream,
int numParticles)
20 : m_pIStream(&iStream),
21 m_numRemaining(numParticles)
25 template <
class TmplData>
26 IStreamIterator<TmplData>::~IStreamIterator()
30 template <
class TmplData>
33 return (m_numRemaining > 0);
36 template <
class TmplData>
39 m_data.read(*m_pIStream);
42 template <
class TmplData>
50 template <
class TmplData>
53 return m_numRemaining;
57 template <
class TmplIterator>
65 template <
class TmplIterator>
66 IterativeReader<TmplIterator>::~IterativeReader()
70 template <
class TmplIterator>
76 template <
class TmplIterator>
79 m_numElements = numElements;
82 template <
class TmplIterator>
83 std::istream &IterativeReader<TmplIterator>::getIStream()
88 template <
class TmplIterator>
89 const std::istream &IterativeReader<TmplIterator>::getIStream()
const
94 template <
class TmplIterator>
97 return new TmplIterator(*m_pIStream, getNumElements());
100 template <
class TmplIterator>
103 m_iteratorPtr = IteratorAutoPtr(createNewIterator());
106 template <
class TmplIterator>
109 return (m_iteratorPtr.get() != NULL);
112 template <
class TmplIterator>
115 if (!isInitialised())
119 return (*(m_iteratorPtr));