// Filename: iostream // Created by: drose (12May00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// // This file, and all the other files in this directory, aren't // intended to be compiled--they're just parsed by CPPParser (and // interrogate) in lieu of the actual system headers, to generate the // interrogate database. #ifndef IOSTREAM_H #define IOSTREAM_H // We don't care (much) about the actual definition of the various // iostream classes, but we do need to know the classnames that are // available. // We need to expose one method in each class to force it to publish. // But we'd like to expose some of these methods anyway, so no // problem. class ios_base { __published: enum seekdir { beg = 0, cur = 1, end = 2, }; enum openmode { }; }; class ios : public ios_base { __published: typedef long fmtflags; typedef unsigned long streampos; typedef long streamoff; bool good() const; bool eof() const; bool fail() const; bool bad() const; void clear(); }; class ostream : virtual public ios { __published: void put(char c); void flush(); streampos tellp(); void seekp(streampos pos); void seekp(streamoff off, ios_base::seekdir dir); }; class istream : virtual public ios { __published: int get(); streampos tellg(); void seekg(streampos pos); void seekg(streamoff off, ios_base::seekdir dir); }; class iostream : public istream, public ostream { __published: void flush(); }; class ofstream : public ostream { __published: ofstream(); void close(); }; class ifstream : public istream { __published: ifstream(); void close(); }; class fstream : public iostream { __published: fstream(); void close(); }; class ostringstream : public ostream {}; class istringstream : public istream {}; class stringstream : public iostream {}; class streambuf {}; extern istream cin; extern ostream cout; extern ostream cerr; typedef int streampos; #endif