Skip to content
Snippets Groups Projects
Forked from Utils / KWSys
1126 commits behind the upstream repository.
  • Brad King's avatar
    62db264e
    Convert KWSys to OSI-approved BSD License · 62db264e
    Brad King authored
    This converts the KWSys license to a pure 3-clause OSI-approved BSD
    License.  We drop the previous license clause requiring modified
    versions to be plainly marked.  We also update the KWSys copyright to
    cover the full development time range.
    62db264e
    History
    Convert KWSys to OSI-approved BSD License
    Brad King authored
    This converts the KWSys license to a pure 3-clause OSI-approved BSD
    License.  We drop the previous license clause requiring modified
    versions to be plainly marked.  We also update the KWSys copyright to
    cover the full development time range.
kwsys_ios_iostream.h.in 3.13 KiB
/*============================================================================
  KWSys - Kitware System Library
  Copyright 2000-2009 Kitware, Inc., Insight Software Consortium

  Distributed under the OSI-approved BSD License (the "License");
  see accompanying file Copyright.txt for details.

  This software is distributed WITHOUT ANY WARRANTY; without even the
  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  See the License 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 <iostream>
#else
# include <iostream.h>
#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