kwsys_ios_iostream.h.in 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. /*============================================================================
  2. KWSys - Kitware System Library
  3. Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
  4. Distributed under the OSI-approved BSD License (the "License");
  5. see accompanying file Copyright.txt for details.
  6. This software is distributed WITHOUT ANY WARRANTY; without even the
  7. implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  8. See the License for more information.
  9. ============================================================================*/
  10. #ifndef @KWSYS_NAMESPACE@_ios_iostream
  11. #define @KWSYS_NAMESPACE@_ios_iostream
  12. #include <@KWSYS_NAMESPACE@/Configure.hxx>
  13. #ifdef _MSC_VER
  14. # pragma warning (push, 1)
  15. # pragma warning (disable: 4702)
  16. # pragma warning (disable: 4995) /* Old streams are deprecated. */
  17. #endif
  18. #if @KWSYS_NAMESPACE@_IOS_USE_ANSI
  19. # include <iostream>
  20. #else
  21. # include <iostream.h>
  22. #endif
  23. // The HP implementation of iostream defines cin, cout, cerr, and clog
  24. // as macros in order to do thread-private streams.
  25. // See /opt/aCC/include/iostream/iostream.h for details.
  26. // This block redefines the macros in a safe way that is also compatible
  27. // with the HP definitions and the using declarations below.
  28. #if !@KWSYS_NAMESPACE@_IOS_USE_SSTREAM
  29. # if defined(__HP_aCC) && (defined(HP_THREAD_SAFE) || defined(_THREAD_SAFE))
  30. # if defined(cin) && !defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_CIN)
  31. # define @KWSYS_NAMESPACE@_IOS_HP_HACK_CIN
  32. # undef cin
  33. # define cin __tcin.ref()
  34. # endif
  35. # if defined(cout) && !defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_COUT)
  36. # define @KWSYS_NAMESPACE@_IOS_HP_HACK_COUT
  37. # undef cout
  38. # define cout __tcout.ref()
  39. # endif
  40. # if defined(cerr) && !defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_CERR)
  41. # define @KWSYS_NAMESPACE@_IOS_HP_HACK_CERR
  42. # undef cerr
  43. # define cerr __tcerr.ref()
  44. # endif
  45. # if defined(clog) && !defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_CLOG)
  46. # define @KWSYS_NAMESPACE@_IOS_HP_HACK_CLOG
  47. # undef clog
  48. # define clog __tclog.ref()
  49. # endif
  50. # endif
  51. #endif
  52. // If using our own sstream emulation code, put the standard
  53. // streams in the same namespace.
  54. #if !@KWSYS_NAMESPACE@_IOS_USE_SSTREAM
  55. namespace @KWSYS_NAMESPACE@_ios
  56. {
  57. typedef int streamsize;
  58. typedef int streamoff;
  59. using @KWSYS_NAMESPACE@_ios_namespace::ostream;
  60. using @KWSYS_NAMESPACE@_ios_namespace::istream;
  61. using @KWSYS_NAMESPACE@_ios_namespace::ios;
  62. using @KWSYS_NAMESPACE@_ios_namespace::endl;
  63. using @KWSYS_NAMESPACE@_ios_namespace::flush;
  64. # if defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_CIN)
  65. using @KWSYS_NAMESPACE@_ios_namespace::__tcin;
  66. # else
  67. using @KWSYS_NAMESPACE@_ios_namespace::cin;
  68. # endif
  69. # if defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_COUT)
  70. using @KWSYS_NAMESPACE@_ios_namespace::__tcout;
  71. # else
  72. using @KWSYS_NAMESPACE@_ios_namespace::cout;
  73. # endif
  74. # if defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_CERR)
  75. using @KWSYS_NAMESPACE@_ios_namespace::__tcerr;
  76. # else
  77. using @KWSYS_NAMESPACE@_ios_namespace::cerr;
  78. # endif
  79. # if defined(@KWSYS_NAMESPACE@_IOS_HP_HACK_CLOG)
  80. using @KWSYS_NAMESPACE@_ios_namespace::__tclog;
  81. # else
  82. using @KWSYS_NAMESPACE@_ios_namespace::clog;
  83. # endif
  84. }
  85. #endif
  86. #ifdef _MSC_VER
  87. # pragma warning(pop)
  88. #endif
  89. #endif