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( __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)