parser-inc: properly namespace iostream definitions

This commit is contained in:
rdb 2018-06-06 11:27:46 +02:00
parent f990f816b8
commit 036d2c2548
2 changed files with 54 additions and 49 deletions

View File

@ -44,9 +44,12 @@ namespace std {
typedef basic_stringstream<char> stringstream; typedef basic_stringstream<char> stringstream;
typedef basic_filebuf<char> filebuf; typedef basic_filebuf<char> filebuf;
typedef basic_ifstream<char> ifstream; //typedef basic_ifstream<char> ifstream;
typedef basic_ofstream<char> ofstream; //typedef basic_ofstream<char> ofstream;
typedef basic_fstream<char> fstream; //typedef basic_fstream<char> fstream;
class ifstream;
class ofstream;
class fstream;
typedef basic_syncbuf<char> syncbuf; typedef basic_syncbuf<char> syncbuf;
typedef basic_osyncstream<char> osyncstream; typedef basic_osyncstream<char> osyncstream;

View File

@ -29,59 +29,61 @@
// iostream classes, but we do need to know the classnames that are // iostream classes, but we do need to know the classnames that are
// available. // available.
class ostream : virtual public ios { namespace std {
__published: class ostream : virtual public ios {
ostream(const ostream&) = delete; __published:
ostream(const ostream&) = delete;
void put(char c); void put(char c);
void flush(); void flush();
streampos tellp(); streampos tellp();
void seekp(streampos pos); void seekp(streampos pos);
void seekp(streamoff off, ios_base::seekdir dir); void seekp(streamoff off, ios_base::seekdir dir);
protected: protected:
ostream(ostream &&); ostream(ostream &&);
}; };
class istream : virtual public ios { class istream : virtual public ios {
__published: __published:
istream(const istream&) = delete; istream(const istream&) = delete;
int get(); int get();
streampos tellg(); streampos tellg();
void seekg(streampos pos); void seekg(streampos pos);
void seekg(streamoff off, ios_base::seekdir dir); void seekg(streamoff off, ios_base::seekdir dir);
protected: protected:
istream(istream &&); istream(istream &&);
}; };
class iostream : public istream, public ostream { class iostream : public istream, public ostream {
__published: __published:
iostream(const iostream&) = delete; iostream(const iostream&) = delete;
void flush(); void flush();
protected: protected:
iostream(iostream &&); iostream(iostream &&);
}; };
class ofstream : public ostream { class ofstream : public ostream {
__published: __published:
ofstream(); ofstream();
void close(); void close();
}; };
class ifstream : public istream { class ifstream : public istream {
__published: __published:
ifstream(); ifstream();
void close(); void close();
}; };
class fstream : public iostream { class fstream : public iostream {
__published: __published:
fstream(); fstream();
void close(); void close();
}; };
extern istream cin; extern istream cin;
extern ostream cout; extern ostream cout;
extern ostream cerr; extern ostream cerr;
}
#endif #endif