// Filename: iostream
// Created by:  drose (12May00)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) 2001, Disney Enterprises, Inc.  All rights reserved
//
// All use of this software is subject to the terms of the Panda 3d
// Software license.  You should have received a copy of this license
// along with this source code; you will also find a current copy of
// the license at http://www.panda3d.org/license.txt .
//
// To contact the maintainers of this program write to
// panda3d@yahoogroups.com .
//
////////////////////////////////////////////////////////////////////

// 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 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.
// We should fix that sometime.
class ios {
  typedef long fmtflags;
};
class ostream {
__published:
  void put(char c);
  void flush();
};
class istream {
__published:
  int get();
};
class iostream : public istream, public ostream {
__published:
  void flush();
};


class ofstream : public ostream {};
class ifstream : public istream {};
class fstream : public iostream {};
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
