#ifndef __STRMERR_HPP #define __STRMERR_HPP #include class ios; class istream; class ostream; class aStreamError { static char msg[512]; public: long fPos; ios *stream; const char *desc; const char *where; const char *rw; aStreamError(); void error(istream& is, const char *where, const char *desc); void errorf(istream& is, const char *where, const char *fmt, ...); void error(ostream& os, const char *where, const char *desc); void errorf(ostream& os, const char *where, const char *fmt, ...); void reset(void); operator int(); void output(); private: void ef1(ios& s, const char *inOrOut, long fpos, const char *where, const char *desc); void ef2(ios& s, const char *inOrOut, long fpos, const char *where, const char *fmt, va_list ap); }; extern aStreamError streamError; #endif