| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- /*============================================================================
- 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@_IOStream_hxx
- #define @KWSYS_NAMESPACE@_IOStream_hxx
- #include <@KWSYS_NAMESPACE@/ios/iosfwd>
- /* Define these macros temporarily to keep the code readable. */
- #if !defined (KWSYS_NAMESPACE) && !@KWSYS_NAMESPACE@_NAME_IS_KWSYS
- # define kwsysEXPORT @KWSYS_NAMESPACE@_EXPORT
- # define kwsys_ios @KWSYS_NAMESPACE@_ios
- #endif
- /* Whether istream supports long long. */
- #define @KWSYS_NAMESPACE@_IOS_HAS_ISTREAM_LONG_LONG @KWSYS_IOS_HAS_ISTREAM_LONG_LONG@
- /* Whether ostream supports long long. */
- #define @KWSYS_NAMESPACE@_IOS_HAS_OSTREAM_LONG_LONG @KWSYS_IOS_HAS_OSTREAM_LONG_LONG@
- /* Size of type long long and 0 if not available. */
- #define @KWSYS_NAMESPACE@_IOS_SIZEOF_LONG_LONG @KWSYS_SIZEOF_LONG_LONG@
- /* Determine whether we need to define the streaming operators for
- long long or __int64. */
- #if @KWSYS_NAMESPACE@_IOS_SIZEOF_LONG_LONG
- # if !@KWSYS_NAMESPACE@_IOS_HAS_ISTREAM_LONG_LONG || \
- !@KWSYS_NAMESPACE@_IOS_HAS_OSTREAM_LONG_LONG
- # define @KWSYS_NAMESPACE@_IOS_NEED_OPERATORS_LL 1
- namespace @KWSYS_NAMESPACE@
- {
- typedef long long IOStreamSLL;
- typedef unsigned long long IOStreamULL;
- }
- # endif
- #elif defined(_MSC_VER) && _MSC_VER < 1300
- # define @KWSYS_NAMESPACE@_IOS_NEED_OPERATORS_LL 1
- namespace @KWSYS_NAMESPACE@
- {
- typedef __int64 IOStreamSLL;
- typedef unsigned __int64 IOStreamULL;
- }
- #endif
- #if !defined(@KWSYS_NAMESPACE@_IOS_NEED_OPERATORS_LL)
- # define @KWSYS_NAMESPACE@_IOS_NEED_OPERATORS_LL 0
- #endif
- #if @KWSYS_NAMESPACE@_IOS_NEED_OPERATORS_LL
- # if !@KWSYS_NAMESPACE@_IOS_HAS_ISTREAM_LONG_LONG
- /* Input stream operator implementation functions. */
- namespace @KWSYS_NAMESPACE@
- {
- kwsysEXPORT kwsys_ios::istream& IOStreamScan(kwsys_ios::istream&,
- IOStreamSLL&);
- kwsysEXPORT kwsys_ios::istream& IOStreamScan(kwsys_ios::istream&,
- IOStreamULL&);
- }
- /* Provide input stream operator for long long. */
- # if !defined(@KWSYS_NAMESPACE@_IOS_NO_ISTREAM_LONG_LONG) && \
- !defined(KWSYS_IOS_ISTREAM_LONG_LONG_DEFINED)
- # define KWSYS_IOS_ISTREAM_LONG_LONG_DEFINED
- # define @KWSYS_NAMESPACE@_IOS_ISTREAM_LONG_LONG_DEFINED
- inline kwsys_ios::istream&
- operator>>(kwsys_ios::istream& is, @KWSYS_NAMESPACE@::IOStreamSLL& value)
- {
- return @KWSYS_NAMESPACE@::IOStreamScan(is, value);
- }
- # endif
- /* Provide input stream operator for unsigned long long. */
- # if !defined(@KWSYS_NAMESPACE@_IOS_NO_ISTREAM_UNSIGNED_LONG_LONG) && \
- !defined(KWSYS_IOS_ISTREAM_UNSIGNED_LONG_LONG_DEFINED)
- # define KWSYS_IOS_ISTREAM_UNSIGNED_LONG_LONG_DEFINED
- # define @KWSYS_NAMESPACE@_IOS_ISTREAM_UNSIGNED_LONG_LONG_DEFINED
- inline kwsys_ios::istream&
- operator>>(kwsys_ios::istream& is, @KWSYS_NAMESPACE@::IOStreamULL& value)
- {
- return @KWSYS_NAMESPACE@::IOStreamScan(is, value);
- }
- # endif
- # endif /* !@KWSYS_NAMESPACE@_IOS_HAS_ISTREAM_LONG_LONG */
- # if !@KWSYS_NAMESPACE@_IOS_HAS_OSTREAM_LONG_LONG
- /* Output stream operator implementation functions. */
- namespace @KWSYS_NAMESPACE@
- {
- kwsysEXPORT kwsys_ios::ostream& IOStreamPrint(kwsys_ios::ostream&,
- IOStreamSLL);
- kwsysEXPORT kwsys_ios::ostream& IOStreamPrint(kwsys_ios::ostream&,
- IOStreamULL);
- }
- /* Provide output stream operator for long long. */
- # if !defined(@KWSYS_NAMESPACE@_IOS_NO_OSTREAM_LONG_LONG) && \
- !defined(KWSYS_IOS_OSTREAM_LONG_LONG_DEFINED)
- # define KWSYS_IOS_OSTREAM_LONG_LONG_DEFINED
- # define @KWSYS_NAMESPACE@_IOS_OSTREAM_LONG_LONG_DEFINED
- inline kwsys_ios::ostream&
- operator<<(kwsys_ios::ostream& os, @KWSYS_NAMESPACE@::IOStreamSLL value)
- {
- return @KWSYS_NAMESPACE@::IOStreamPrint(os, value);
- }
- # endif
- /* Provide output stream operator for unsigned long long. */
- # if !defined(@KWSYS_NAMESPACE@_IOS_NO_OSTREAM_UNSIGNED_LONG_LONG) && \
- !defined(KWSYS_IOS_OSTREAM_UNSIGNED_LONG_LONG_DEFINED)
- # define KWSYS_IOS_OSTREAM_UNSIGNED_LONG_LONG_DEFINED
- # define @KWSYS_NAMESPACE@_IOS_OSTREAM_UNSIGNED_LONG_LONG_DEFINED
- inline kwsys_ios::ostream&
- operator<<(kwsys_ios::ostream& os, @KWSYS_NAMESPACE@::IOStreamULL value)
- {
- return @KWSYS_NAMESPACE@::IOStreamPrint(os, value);
- }
- # endif
- # endif /* !@KWSYS_NAMESPACE@_IOS_HAS_OSTREAM_LONG_LONG */
- #endif /* @KWSYS_NAMESPACE@_IOS_NEED_OPERATORS_LL */
- /* Undefine temporary macros. */
- #if !defined (KWSYS_NAMESPACE) && !@KWSYS_NAMESPACE@_NAME_IS_KWSYS
- # undef kwsysEXPORT
- # undef kwsys_ios
- #endif
- /* If building a C++ file in kwsys itself, give the source file
- access to the macros without a configured namespace. */
- #if defined(KWSYS_NAMESPACE)
- # define KWSYS_IOS_SIZEOF_LONG_LONG @KWSYS_NAMESPACE@_IOS_SIZEOF_LONG_LONG
- # define KWSYS_IOS_HAS_ISTREAM_LONG_LONG @KWSYS_NAMESPACE@_IOS_HAS_ISTREAM_LONG_LONG
- # define KWSYS_IOS_HAS_OSTREAM_LONG_LONG @KWSYS_NAMESPACE@_IOS_HAS_OSTREAM_LONG_LONG
- # define KWSYS_IOS_NEED_OPERATORS_LL @KWSYS_NAMESPACE@_IOS_NEED_OPERATORS_LL
- #endif
- #endif
|