sc_iostream.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002 
00003   The following code is derived, directly or indirectly, from the SystemC
00004   source code Copyright (c) 1996-2006 by all Contributors.
00005   All Rights reserved.
00006 
00007   The contents of this file are subject to the restrictions and limitations
00008   set forth in the SystemC Open Source License Version 2.4 (the "License");
00009   You may not use this file except in compliance with such restrictions and
00010   limitations. You may obtain instructions on how to receive a copy of the
00011   License at http://www.systemc.org/. Software distributed by Contributors
00012   under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
00013   ANY KIND, either express or implied. See the License for the specific
00014   language governing rights and limitations under the License.
00015 
00016  *****************************************************************************/
00017 
00018 /*****************************************************************************
00019 
00020   sc_iostream.h - Portable iostream header file wrapper.
00021 
00022   Original Author: Martin Janssen, Synopsys, Inc.
00023 
00024  *****************************************************************************/
00025 
00026 /*****************************************************************************
00027 
00028   MODIFICATION LOG - modifiers, enter your name, affiliation, date and
00029   changes you are making here.
00030 
00031       Name, Affiliation, Date:
00032   Description of Modification:
00033 
00034  *****************************************************************************/
00035 
00036 // $Log: sc_iostream.h,v $
00037 // Revision 1.1.1.1  2006/12/15 20:31:39  acg
00038 // SystemC 2.2
00039 //
00040 // Revision 1.3  2006/01/13 18:53:10  acg
00041 // Andy Goodrich: Added $Log command so that CVS comments are reproduced in
00042 // the source.
00043 //
00044 
00045 #ifndef SC_IOSTREAM_H
00046 #define SC_IOSTREAM_H
00047 
00048 #if !defined( _MSC_VER ) && /*!defined( __HP_aCC ) &&*/ !defined( __BORLANDC__ )
00049 
00050 #   include <iostream>
00051 
00052 #   if defined(__GNUC__) && (__GNUC__ == 2) // Maintain compatibility for 2.95.x
00053 #       include <strstream>
00054 #   else
00055 #       include <sstream>
00056 #   endif
00057 
00058 #   include <fstream>
00059 #   include <cstddef>
00060 #   include <cstring>
00061 
00062 #else
00063 #if defined( _MSC_VER )
00064     // VC++6 with standard library
00065 
00066 #  include <iostream>
00067 #  include <strstream>
00068     
00069 #  include <fstream>
00070 
00071 #  include <cstddef>
00072 
00073 #else
00074 /*
00075 #if defined( __HP_aCC )
00076     // HP aCC
00077 
00078 #   include <iostream.h>
00079 #   include <strstream.h>
00080 #   include <fstream.h>
00081 
00082 #endif // HP
00083 */
00084 #endif // MSC
00085 #endif // Everyone else
00086 
00087 
00088 // shortcuts that save some typing
00089 
00090 #ifdef CCAST
00091 #    undef CCAST
00092 #endif
00093 #define CCAST       const_cast
00094 
00095 #ifdef DCAST
00096 #    undef DCAST
00097 #endif
00098 #define DCAST     dynamic_cast
00099 
00100 #ifdef RCAST
00101 #    undef RCAST
00102 #endif
00103 #define RCAST reinterpret_cast
00104 
00105 #ifdef SCAST
00106 #    undef SCAST
00107 #endif
00108 #define SCAST      static_cast
00109 
00110 #endif // !defined(SC_IOSTREAM_H)

Generated on Wed Jan 21 15:32:10 2009 for SystemC by  doxygen 1.5.5