7 #ifndef _MIMETIC_OS_FILE_ITERATOR_H_
8 #define _MIMETIC_OS_FILE_ITERATOR_H_
16 struct ifile_iterator:
public std::iterator<std::input_iterator_tag, char>
19 ifile_iterator(StdFile* f);
20 ifile_iterator(
const ifile_iterator&);
21 ifile_iterator& operator=(
const ifile_iterator&);
23 inline ifile_iterator& operator++();
24 inline ifile_iterator operator++(
int);
25 inline reference operator*();
26 inline bool operator!=(
const ifile_iterator& right)
const;
27 inline bool operator==(
const ifile_iterator& right)
const;
29 void cp(
const ifile_iterator&);
31 enum { defBufsz = 4096 };
43 ifile_iterator ifile_iterator::operator++(
int)
45 ifile_iterator cp = *
this;
52 ifile_iterator& ifile_iterator::operator++()
63 ifile_iterator::reference ifile_iterator::operator*()
69 bool ifile_iterator::operator!=(
const ifile_iterator& right)
const
72 return !operator==(right);
77 bool ifile_iterator::operator==(
const ifile_iterator& right)
const
80 return (m_eof && right.m_eof);