diff options
author | nanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-01-16 21:58:52 +0000 |
---|---|---|
committer | nanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-01-16 21:58:52 +0000 |
commit | 23d4755a30435a5ec414a7848022ffb81ea92c02 (patch) | |
tree | d9d8dd0363c39ed498c692d21df8c5a077c0fd10 | |
parent | 12b1517c91443452aaa2a1c6453a69e2fd0b3d48 (diff) | |
download | ATCD-23d4755a30435a5ec414a7848022ffb81ea92c02.tar.gz |
Added patches from James CE Johnson for IOStream.
-rw-r--r-- | ace/IOStream.h | 2 | ||||
-rw-r--r-- | ace/config-win32-common.h | 190 | ||||
-rw-r--r-- | ace/iosfwd.h | 6 | ||||
-rw-r--r-- | ace/streams.h | 7 |
4 files changed, 109 insertions, 96 deletions
diff --git a/ace/IOStream.h b/ace/IOStream.h index 80834742fd8..30560b580a0 100644 --- a/ace/IOStream.h +++ b/ace/IOStream.h @@ -287,7 +287,7 @@ protected: virtual ACE_HANDLE get_handle (void); -#if defined (ACE_HAS_STANDARD_CPP_LIBRARY) && (ACE_HAS_STANDARD_CPP_LIBRARY != 0) +#if defined (ACE_HAS_STANDARD_CPP_LIBRARY) && (ACE_HAS_STANDARD_CPP_LIBRARY != 0) && !defined (ACE_USES_OLD_IOSTREAMS) char *base (void) const { return cur_mode_ == get_mode_ ? eback_saved_ diff --git a/ace/config-win32-common.h b/ace/config-win32-common.h index 3ec24ad2849..46c8c3d0b44 100644 --- a/ace/config-win32-common.h +++ b/ace/config-win32-common.h @@ -145,18 +145,18 @@ // Turns off the tracing feature. #if !defined (ACE_NTRACE) - #define ACE_NTRACE 1 + #define ACE_NTRACE 1 #endif /* ACE_NTRACE */ // #define ACE_NLOGGING // ----------------- "derived" defines and includes ----------- #if defined (ACE_HAS_STANDARD_CPP_LIBRARY) && (ACE_HAS_STANDARD_CPP_LIBRARY != 0) - #if defined (_MSC_VER) + #if defined (_MSC_VER) #if (_MSC_VER > 1020) - // Platform has its Standard C++ library in the namespace std + // Platform has its Standard C++ library in the namespace std #if !defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB) - #define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 + #define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1 #endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */ #else /* (_MSC_VER > 1020) */ #if defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB) @@ -169,87 +169,89 @@ #endif /* ACE_LACKS_STL_DEFAULT_TEMPLATE_PARAMETER */ #define ACE_LACKS_STL_DEFAULT_TEMPLATE_PARAMETER 1 #endif /* (_MSC_VER > 1020) */ - #endif /* _MSC_VER */ + #endif /* _MSC_VER */ - // ace/iostream.h does not work with the standard cpp library (yet). - #define ACE_LACKS_ACE_IOSTREAM + // ace/iostream.h does not work with the standard cpp library (yet). + #if !defined (ACE_USES_OLD_IOSTREAMS) + #define ACE_LACKS_ACE_IOSTREAM + #endif /* ! ACE_USES_OLD_IOSTREAMS */ #else - // iostream header lacks ipfx (), isfx (), etc., declarations - #define ACE_LACKS_IOSTREAM_FX + // iostream header lacks ipfx (), isfx (), etc., declarations + #define ACE_LACKS_IOSTREAM_FX #endif #if defined (_MSC_VER) // While digging the MSVC 4.0 include files, I found how to disable // MSVC warnings: --Amos Shapira - // "C4355: 'this' : used in base member initializer list" - #pragma warning(disable:4355) /* disable C4514 warning */ - // #pragma warning(default:4355) // use this to reenable, if desired + // "C4355: 'this' : used in base member initializer list" + #pragma warning(disable:4355) /* disable C4514 warning */ + // #pragma warning(default:4355) // use this to reenable, if desired - #pragma warning(disable:4201) /* winnt.h uses nameless structs */ + #pragma warning(disable:4201) /* winnt.h uses nameless structs */ #pragma warning(disable:4231) // Disable warning of using Microsoft Extension. - // It seems that this works with MSVC 4.[1,2] - #if (1010 <= _MSC_VER) && (_MSC_VER <= 1020) - #define ACE_HAS_TEMPLATE_TYPEDEFS - #endif - - // MSVC 4.0 or greater - #if (_MSC_VER >= 1000) - // Compiler/Platform supports the "using" keyword. - #define ACE_HAS_USING_KEYWORD - #endif - - // MSVC 2.2 or lower - #if (_MSC_VER < 1000) - // This needs to be here since MSVC++ 2.0 seems to have forgotten to - // include it. Does anybody know which MSC_VER MSVC 2.0 has ? - inline void *operator new (unsigned int, void *p) { return p; } - #endif + // It seems that this works with MSVC 4.[1,2] + #if (1010 <= _MSC_VER) && (_MSC_VER <= 1020) + #define ACE_HAS_TEMPLATE_TYPEDEFS + #endif + + // MSVC 4.0 or greater + #if (_MSC_VER >= 1000) + // Compiler/Platform supports the "using" keyword. + #define ACE_HAS_USING_KEYWORD + #endif + + // MSVC 2.2 or lower + #if (_MSC_VER < 1000) + // This needs to be here since MSVC++ 2.0 seems to have forgotten to + // include it. Does anybody know which MSC_VER MSVC 2.0 has ? + inline void *operator new (unsigned int, void *p) { return p; } + #endif #endif /* _MSC_VER */ // MFC itself defines STRICT. #if defined( ACE_HAS_MFC ) && (ACE_HAS_MFC != 0) - #if !defined(ACE_HAS_STRICT) - #define ACE_HAS_STRICT 1 - #endif - #if (ACE_HAS_STRICT != 1) - #undef ACE_HAS_STRICT - #define ACE_HAS_STRICT 1 - #endif + #if !defined(ACE_HAS_STRICT) + #define ACE_HAS_STRICT 1 + #endif + #if (ACE_HAS_STRICT != 1) + #undef ACE_HAS_STRICT + #define ACE_HAS_STRICT 1 + #endif #endif // If you want to use highres timers, ensure that // Build.Settings.C++.CodeGeneration.Processor is // set to Pentium ! #if (_M_IX86 > 400) - // Used for high resolution timers - #define ACE_HAS_PENTIUM + // Used for high resolution timers + #define ACE_HAS_PENTIUM #endif #if defined(ACE_MT_SAFE) && (ACE_MT_SAFE != 0) - // Platform supports threads. - #define ACE_HAS_THREADS + // Platform supports threads. + #define ACE_HAS_THREADS - // Platform supports Windows32 threads. - #define ACE_HAS_WTHREADS + // Platform supports Windows32 threads. + #define ACE_HAS_WTHREADS - // Compiler/platform has thread-specific storage - #define ACE_HAS_THREAD_SPECIFIC_STORAGE + // Compiler/platform has thread-specific storage + #define ACE_HAS_THREAD_SPECIFIC_STORAGE - // must have _MT defined to include multithreading - // features from win32 headers - #if !defined(_MT) - #define _MT - #endif + // must have _MT defined to include multithreading + // features from win32 headers + #if !defined(_MT) + #define _MT + #endif #endif // We are using STL's min and max (in algobase.h). Therefore the // macros in window.h are extra #if !defined (NOMINMAX) - #define NOMINMAX + #define NOMINMAX #endif /* NOMINMAX */ #if defined (_UNICODE) @@ -266,26 +268,26 @@ // If __ACE_INLINE__ is defined to be 0, we will undefine it #if defined (__ACE_INLINE__) && (__ACE_INLINE__ == 0) - #undef __ACE_INLINE__ + #undef __ACE_INLINE__ #endif /* __ACE_INLINE__ */ #ifdef _DEBUG #if !defined (ACE_HAS_WINCE) - #include /**/ <crtdbg.h> + #include /**/ <crtdbg.h> #endif /* ACE_HAS_WINCE */ #else // If we are making a release, and the user has not specified // inline directives, we will default to inline - #if ! defined (__ACE_INLINE__) - #define __ACE_INLINE__ - #endif /* __ACE_INLINE__ */ + #if ! defined (__ACE_INLINE__) + #define __ACE_INLINE__ + #endif /* __ACE_INLINE__ */ #endif // We are build ACE and want to use MFC (multithreaded) #if (ACE_HAS_DLL != 0) && defined(ACE_BUILD_DLL) && defined(ACE_HAS_MFC) && (ACE_HAS_MFC != 0) && defined (_MT) #if !defined (_AFXDLL) - // force multithreaded MFC DLL - #define _AFXDLL + // force multithreaded MFC DLL + #define _AFXDLL #endif /* _AFXDLL */ #endif @@ -307,20 +309,20 @@ // <windows.h> directly. #if defined (_AFXDLL) || defined (_WINDLL) || \ ( (ACE_HAS_DLL != 0) && defined(ACE_BUILD_DLL) && (ACE_HAS_MFC != 0)) - #include /**/ <afxwin.h> /* He is doing MFC */ - // Windows.h will be included via afxwin.h->afx.h->afx_ver_.h->afxv_w32.h - // #define _INC_WINDOWS // Prevent winsock.h from including windows.h + #include /**/ <afxwin.h> /* He is doing MFC */ + // Windows.h will be included via afxwin.h->afx.h->afx_ver_.h->afxv_w32.h + // #define _INC_WINDOWS // Prevent winsock.h from including windows.h #endif -#if !defined (_INC_WINDOWS) /* Already include windows.h ? */ - // Must define strict before including windows.h ! - #if defined (ACE_HAS_STRICT) && (ACE_HAS_STRICT != 0) - #define STRICT 1 - #endif /* ACE_HAS_STRICT */ +#if !defined (_INC_WINDOWS) /* Already include windows.h ? */ + // Must define strict before including windows.h ! + #if defined (ACE_HAS_STRICT) && (ACE_HAS_STRICT != 0) + #define STRICT 1 + #endif /* ACE_HAS_STRICT */ - #if !defined (WIN32_LEAN_AND_MEAN) - #define WIN32_LEAN_AND_MEAN - #endif /* WIN32_LEAN_AND_MEAN */ + #if !defined (WIN32_LEAN_AND_MEAN) + #define WIN32_LEAN_AND_MEAN + #endif /* WIN32_LEAN_AND_MEAN */ #if defined (_UNICODE) #if !defined (UNICODE) @@ -339,48 +341,48 @@ // Always use WS2 when available #if (ACE_HAS_WINNT4 != 0) - #if !defined(ACE_HAS_WINSOCK2) + #if !defined(ACE_HAS_WINSOCK2) #define ACE_HAS_WINSOCK2 1 - #endif + #endif #endif #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) - #if !defined (_WINSOCK2API_) + #if !defined (_WINSOCK2API_) - #include /**/ <winsock2.h> /* will also include windows.h, if not present */ - #include /**/ <mswsock.h> - #if defined (_MSC_VER) - #pragma comment(lib, "ws2_32.lib") - #pragma comment(lib, "mswsock.lib") - #endif /* _MSC_VER */ - #endif /* _WINSOCK2API */ + #include /**/ <winsock2.h> /* will also include windows.h, if not present */ + #include /**/ <mswsock.h> + #if defined (_MSC_VER) + #pragma comment(lib, "ws2_32.lib") + #pragma comment(lib, "mswsock.lib") + #endif /* _MSC_VER */ + #endif /* _WINSOCK2API */ - #define ACE_WSOCK_VERSION 2, 0 + #define ACE_WSOCK_VERSION 2, 0 #else - #if !defined (_WINSOCKAPI_) - #include /**/ <winsock.h> /* will also include windows.h, if not present */ + #if !defined (_WINSOCKAPI_) + #include /**/ <winsock.h> /* will also include windows.h, if not present */ - #if defined (_MSC_VER) - #pragma comment(lib, "wsock32.lib") - #endif /* _MSC_VER */ - #endif /* _WINSOCKAPI */ + #if defined (_MSC_VER) + #pragma comment(lib, "wsock32.lib") + #endif /* _MSC_VER */ + #endif /* _WINSOCKAPI */ - // Version 1.1 of WinSock - #define ACE_WSOCK_VERSION 1, 1 + // Version 1.1 of WinSock + #define ACE_WSOCK_VERSION 1, 1 #endif /* ACE_HAS_WINSOCK2 */ #if defined (_MSC_VER) - #pragma warning(default: 4201) /* winnt.h uses nameless structs */ + #pragma warning(default: 4201) /* winnt.h uses nameless structs */ #endif /* _MSC_VER */ #if (_WIN32_WINNT >= 0x0400) && !defined (ACE_USES_WINCE_SEMA_SIMULATION) #define ACE_HAS_INTERLOCKED_EXCHANGEADD - #define ACE_HAS_WIN32_TRYLOCK - #define ACE_HAS_SIGNAL_OBJECT_AND_WAIT + #define ACE_HAS_WIN32_TRYLOCK + #define ACE_HAS_SIGNAL_OBJECT_AND_WAIT - // If CancelIO is undefined get the updated sp2-sdk - // from MS - #define ACE_HAS_CANCEL_IO + // If CancelIO is undefined get the updated sp2-sdk + // from MS + #define ACE_HAS_CANCEL_IO #endif #endif /* ACE_WIN32_COMMON_H */ diff --git a/ace/iosfwd.h b/ace/iosfwd.h index 1a1dcfe2003..bb9d3d0f2fb 100644 --- a/ace/iosfwd.h +++ b/ace/iosfwd.h @@ -31,11 +31,14 @@ #if defined (ACE_HAS_STANDARD_CPP_LIBRARY) && (ACE_HAS_STANDARD_CPP_LIBRARY != 0) -#include /**/ <iosfwd> +#if !defined (ACE_USES_OLD_IOSTREAMS) + #include /**/ <iosfwd> +#endif /* ! ACE_USES_OLD_IOSTREAMS */ #if defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB) && \ (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB != 0) +#if !defined (ACE_USES_OLD_IOSTREAMS) // Make these available in the global name space using std::ios; using std::streambuf; @@ -46,6 +49,7 @@ using std::filebuf; using std::ifstream; using std::ofstream; using std::fstream; +#endif /* ! ACE_USES_OLD_IOSTREAMS */ #endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */ diff --git a/ace/streams.h b/ace/streams.h index daaa68d6f73..b4983355841 100644 --- a/ace/streams.h +++ b/ace/streams.h @@ -33,6 +33,10 @@ #pragma warning(disable: 4663 4664 4665 4511 4512) #endif /* _MSC_VER */ +#if defined (ACE_USES_OLD_IOSTREAMS) +#include <iostream.h> +#include <fstream.h> +#else #include /**/ <iomanip> #include /**/ <ios> #include /**/ <iostream> @@ -40,10 +44,12 @@ #include /**/ <ostream> #include /**/ <fstream> #include /**/ <streambuf> +#endif /* ACE_USES_OLD_IOSTREAMS */ #if defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB) && \ (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB != 0) +#if !defined (ACE_USES_OLD_IOSTREAMS) // Make these available in the global name space using std::ios; using std::streambuf; @@ -75,6 +81,7 @@ using std::setw; using std::dec; using std::hex; using std::oct; +#endif /* ! ACE_USES_OLD_IOSTREAMS */ #endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */ |