/*========================================================================= Program: KWSys - Kitware System Library Module: $RCSfile: kwsys_ios_iostream.h.in,v $ Copyright (c) Kitware, Inc., Insight Consortium. All rights reserved. See Copyright.txt or http://www.kitware.com/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ #ifndef @KWSYS_NAMESPACE@_ios_iostream #define @KWSYS_NAMESPACE@_ios_iostream #include <@KWSYS_NAMESPACE@/Configure.hxx> #ifdef _MSC_VER # pragma warning (push, 1) # pragma warning (disable: 4702) # pragma warning (disable: 4995) /* Old streams are deprecated. */ #endif #if @KWSYS_NAMESPACE@_IOS_USE_ANSI # include #else # include #endif // The HP implementation of iostream defines cin, cout, cerr, and clog // as macros in order to do thread-private streams. // See /opt/aCC/include/iostream/iostream.h for details. // This block redefines the macros in a safe way that is also compatible // with the HP definitions and the using declarations below. #if !@KWSYS_NAMESPACE@_IOS_USE_SSTREAM # if defined(__HP_aCC) && (defined(HP_THREAD_SAFE) || defined(_THREAD_SAFE)) # if defined(cin) && !defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_CIN) # define @KWSYS_NAMESPACE@_IOS_HP_HACK_CIN # undef cin # define cin __tcin.ref() # endif # if defined(cout) && !defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_COUT) # define @KWSYS_NAMESPACE@_IOS_HP_HACK_COUT # undef cout # define cout __tcout.ref() # endif # if defined(cerr) && !defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_CERR) # define @KWSYS_NAMESPACE@_IOS_HP_HACK_CERR # undef cerr # define cerr __tcerr.ref() # endif # if defined(clog) && !defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_CLOG) # define @KWSYS_NAMESPACE@_IOS_HP_HACK_CLOG # undef clog # define clog __tclog.ref() # endif # endif #endif // If using our own sstream emulation code, put the standard // streams in the same namespace. #if !@KWSYS_NAMESPACE@_IOS_USE_SSTREAM namespace @KWSYS_NAMESPACE@_ios { typedef int streamsize; typedef int streamoff; using @KWSYS_NAMESPACE@_ios_namespace::ostream; using @KWSYS_NAMESPACE@_ios_namespace::istream; using @KWSYS_NAMESPACE@_ios_namespace::ios; using @KWSYS_NAMESPACE@_ios_namespace::endl; using @KWSYS_NAMESPACE@_ios_namespace::flush; # if defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_CIN) using @KWSYS_NAMESPACE@_ios_namespace::__tcin; # else using @KWSYS_NAMESPACE@_ios_namespace::cin; # endif # if defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_COUT) using @KWSYS_NAMESPACE@_ios_namespace::__tcout; # else using @KWSYS_NAMESPACE@_ios_namespace::cout; # endif # if defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_CERR) using @KWSYS_NAMESPACE@_ios_namespace::__tcerr; # else using @KWSYS_NAMESPACE@_ios_namespace::cerr; # endif # if defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_CLOG) using @KWSYS_NAMESPACE@_ios_namespace::__tclog; # else using @KWSYS_NAMESPACE@_ios_namespace::clog; # endif } #endif #ifdef _MSC_VER # pragma warning(pop) #endif #endif