Changes to attempt to silence bcc64x
[ACE_TAO.git] / ACE / ace / iosfwd.h
blob467d822d213f4d2f1c4745320b0ad08d729b8451
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file iosfwd.h
7 * @author Irfan Pyarali
9 * This file contains the portability ugliness for the Standard C++
10 * Library. As implementations of the "standard" emerge, this file
11 * will need to be updated.
13 * This files deals with forward declaration for the stream
14 * classes. Remember that since the new Standard C++ Library code
15 * for streams uses templates, simple forward declaration will not
16 * work.
18 //=============================================================================
21 #ifndef ACE_IOSFWD_H
22 #define ACE_IOSFWD_H
24 #include /**/ "ace/pre.h"
26 #include /**/ "ace/config-all.h"
28 #if !defined (ACE_LACKS_PRAGMA_ONCE)
29 # pragma once
30 #endif /* ACE_LACKS_PRAGMA_ONCE */
32 // We except that each platform does support std streams
33 #define ACE_HAS_CPP98_IOSTREAMS 1
35 #if !defined (ACE_LACKS_IOSTREAM_TOTALLY)
37 #if !defined (ACE_USES_OLD_IOSTREAMS)
38 # include /**/ <iosfwd>
39 #else
40 // @note If these forward declarations don't work (e.g. aren't
41 // portable), we may have to include "ace/streams.h" as a last
42 // resort. Doing so would defeat the purpose of this header,
43 // unfortunately.
44 class ios;
45 class streambuf;
46 class istream;
47 class ostream;
48 class iostream;
49 class filebuf;
50 class ifstream;
51 class ofstream;
52 class fstream;
53 #endif /* ! ACE_USES_OLD_IOSTREAMS */
55 #if !defined (ACE_USES_OLD_IOSTREAMS)
56 // Make these available in the global name space
57 using std::ios;
58 using std::streambuf;
59 using std::istream;
60 using std::ostream;
61 using std::iostream;
62 using std::filebuf;
63 using std::ifstream;
64 using std::ofstream;
65 using std::fstream;
66 #endif /* ! ACE_USES_OLD_IOSTREAMS */
68 #include /**/ "ace/post.h"
70 #endif /* ACE_LACKS_IOSTREAM_TOTALLY */
72 #endif /* ACE_IOSFWD_H */