iosfwd.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    iosfwd.h
00006  *
00007  *  iosfwd.h,v 1.21 2006/01/25 19:48:59 jwillemsen Exp
00008  *
00009  *  @author Irfan Pyarali
00010  *
00011  *  This file contains the portability ugliness for the Standard C++
00012  *  Library.  As implementations of the "standard" emerge, this file
00013  *  will need to be updated.
00014  *
00015  *  This files deals with forward declaration for the stream
00016  *  classes.  Remember that since the new Standard C++ Library code
00017  *  for streams uses templates, simple forward declaration will not
00018  *  work.
00019  */
00020 //=============================================================================
00021 
00022 
00023 #ifndef ACE_IOSFWD_H
00024 #define ACE_IOSFWD_H
00025 
00026 #include /**/ "ace/pre.h"
00027 
00028 #include "ace/config-all.h"
00029 
00030 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00031 # pragma once
00032 #endif /* ACE_LACKS_PRAGMA_ONCE */
00033 
00034 #if !defined (ACE_LACKS_IOSTREAM_TOTALLY)
00035 
00036 #if defined (__APPLE_CC__)
00037 // Should this really be here?  dhinton
00038 // FUZZ: disable check_for_streams_include
00039 # include "ace/streams.h"
00040 #endif
00041 
00042 #if defined (ACE_HAS_STANDARD_CPP_LIBRARY)  && \
00043     (ACE_HAS_STANDARD_CPP_LIBRARY != 0)
00044 
00045 # if !defined (ACE_USES_OLD_IOSTREAMS)
00046 #   include /**/ <iosfwd>
00047 # else
00048   // @note If these forward declarations don't work (e.g. aren't
00049   //       portable), we may have to include "ace/streams.h" as a last
00050   //       resort.  Doing so would defeat the purpose of this header,
00051   //       unfortunately.
00052   class ios;
00053   class streambuf;
00054   class istream;
00055   class ostream;
00056   class iostream;
00057   class filebuf;
00058   class ifstream;
00059   class ofstream;
00060   class fstream;
00061 # endif /* ! ACE_USES_OLD_IOSTREAMS */
00062 
00063 # if defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB) && \
00064              (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB != 0)
00065 
00066 #   if !defined (ACE_USES_OLD_IOSTREAMS)
00067       // Make these available in the global name space
00068       using std::ios;
00069       using std::streambuf;
00070       using std::istream;
00071       using std::ostream;
00072       using std::iostream;
00073       using std::filebuf;
00074       using std::ifstream;
00075       using std::ofstream;
00076       using std::fstream;
00077 #   endif /* ! ACE_USES_OLD_IOSTREAMS */
00078 
00079 # endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */
00080 
00081 #else /* ! ACE_HAS_STANDARD_CPP_LIBRARY */
00082 
00083   class ios;
00084   class streambuf;
00085   class istream;
00086   class ostream;
00087   class iostream;
00088   class filebuf;
00089   class ifstream;
00090   class ofstream;
00091   class fstream;
00092 
00093 # endif /* ! ACE_HAS_STANDARD_CPP_LIBRARY */
00094 
00095 #include /**/ "ace/post.h"
00096 
00097 #endif /* ACE_LACKS_IOSTREAM_TOTALLY */
00098 
00099 #endif /* ACE_IOSFWD_H */

Generated on Thu Nov 9 09:41:52 2006 for ACE by doxygen 1.3.6