7#ifndef _MIMETIC_OS_FILE_ITERATOR_H_
8#define _MIMETIC_OS_FILE_ITERATOR_H_
18 typedef std::input_iterator_tag iterator_category;
19 typedef char value_type;
20 typedef std::ptrdiff_t difference_type;
21 typedef char* pointer;
22 typedef char& reference;
25 ifile_iterator(StdFile* f);
26 ifile_iterator(
const ifile_iterator&);
27 ifile_iterator& operator=(
const ifile_iterator&);
29 inline ifile_iterator& operator++();
30 inline ifile_iterator operator++(
int);
31 inline reference operator*();
32 inline bool operator!=(
const ifile_iterator& right)
const;
33 inline bool operator==(
const ifile_iterator& right)
const;
35 void cp(
const ifile_iterator&);
37 enum { defBufsz = 4096 };
49ifile_iterator ifile_iterator::operator++(
int)
51 ifile_iterator cp = *
this;
58ifile_iterator& ifile_iterator::operator++()
69ifile_iterator::reference ifile_iterator::operator*()
75bool ifile_iterator::operator!=(
const ifile_iterator& right)
const
78 return !operator==(right);
83bool ifile_iterator::operator==(
const ifile_iterator& right)
const
86 return (m_eof && right.m_eof);