github.com/searKing/golang/go@v1.2.117/os/signal/cgo/include/boost/config/stdlib/roguewave.hpp (about)

     1  //  (C) Copyright John Maddock 2001 - 2003. 
     2  //  (C) Copyright Jens Maurer 2001. 
     3  //  (C) Copyright David Abrahams 2003. 
     4  //  (C) Copyright Boris Gubenko 2007. 
     5  //  Use, modification and distribution are subject to the 
     6  //  Boost Software License, Version 1.0. (See accompanying file 
     7  //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
     8  
     9  //  See http://www.boost.org for most recent version.
    10  
    11  //  Rogue Wave std lib:
    12  
    13  #define BOOST_RW_STDLIB 1 
    14  
    15  #if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)
    16  #  include <boost/config/no_tr1/utility.hpp>
    17  #  if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)
    18  #     error This is not the Rogue Wave standard library
    19  #  endif
    20  #endif
    21  //
    22  // figure out a consistent version number:
    23  //
    24  #ifndef _RWSTD_VER
    25  #  define BOOST_RWSTD_VER 0x010000
    26  #elif _RWSTD_VER < 0x010000
    27  #  define BOOST_RWSTD_VER (_RWSTD_VER << 8)
    28  #else
    29  #  define BOOST_RWSTD_VER _RWSTD_VER
    30  #endif
    31  
    32  #ifndef _RWSTD_VER
    33  #  define BOOST_STDLIB "Rogue Wave standard library version (Unknown version)"
    34  #elif _RWSTD_VER < 0x04010200
    35   #  define BOOST_STDLIB "Rogue Wave standard library version " BOOST_STRINGIZE(_RWSTD_VER)
    36  #else
    37  #  ifdef _RWSTD_VER_STR
    38  #    define BOOST_STDLIB "Apache STDCXX standard library version " _RWSTD_VER_STR
    39  #  else
    40  #    define BOOST_STDLIB "Apache STDCXX standard library version " BOOST_STRINGIZE(_RWSTD_VER)
    41  #  endif
    42  #endif
    43  
    44  //
    45  // Prior to version 2.2.0 the primary template for std::numeric_limits
    46  // does not have compile time constants, even though specializations of that
    47  // template do:
    48  //
    49  #if BOOST_RWSTD_VER < 0x020200
    50  #  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
    51  #endif
    52  
    53  // Sun CC 5.5 patch 113817-07 adds long long specialization, but does not change the
    54  // library version number (http://sunsolve6.sun.com/search/document.do?assetkey=1-21-113817):
    55  #if BOOST_RWSTD_VER <= 0x020101 && (!defined(__SUNPRO_CC) || (__SUNPRO_CC < 0x550))
    56  #  define BOOST_NO_LONG_LONG_NUMERIC_LIMITS
    57  # endif
    58  
    59  //
    60  // Borland version of numeric_limits lacks __int64 specialisation:
    61  //
    62  #ifdef BOOST_BORLANDC
    63  #  define BOOST_NO_MS_INT64_NUMERIC_LIMITS
    64  #endif
    65  
    66  //
    67  // No std::iterator if it can't figure out default template args:
    68  //
    69  #if defined(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || defined(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || (BOOST_RWSTD_VER < 0x020000)
    70  #  define BOOST_NO_STD_ITERATOR
    71  #endif
    72  
    73  //
    74  // No iterator traits without partial specialization:
    75  //
    76  #if defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) || defined(RWSTD_NO_CLASS_PARTIAL_SPEC)
    77  #  define BOOST_NO_STD_ITERATOR_TRAITS
    78  #endif
    79  
    80  //
    81  // Prior to version 2.0, std::auto_ptr was buggy, and there were no
    82  // new-style iostreams, and no conformant std::allocator:
    83  //
    84  #if (BOOST_RWSTD_VER < 0x020000)
    85  #  define BOOST_NO_AUTO_PTR
    86  #  define BOOST_NO_STRINGSTREAM
    87  #  define BOOST_NO_STD_ALLOCATOR
    88  #  define BOOST_NO_STD_LOCALE
    89  #endif
    90  
    91  //
    92  // No template iterator constructors without member template support:
    93  //
    94  #if defined(RWSTD_NO_MEMBER_TEMPLATES) || defined(_RWSTD_NO_MEMBER_TEMPLATES)
    95  #  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
    96  #endif
    97  
    98  //
    99  // RW defines _RWSTD_ALLOCATOR if the allocator is conformant and in use
   100  // (the or _HPACC_ part is a hack - the library seems to define _RWSTD_ALLOCATOR
   101  // on HP aCC systems even though the allocator is in fact broken):
   102  //
   103  #if !defined(_RWSTD_ALLOCATOR) || (defined(__HP_aCC) && __HP_aCC <= 33100)
   104  #  define BOOST_NO_STD_ALLOCATOR
   105  #endif
   106  
   107  //
   108  // If we have a std::locale, we still may not have std::use_facet:
   109  //
   110  #if defined(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE) && !defined(BOOST_NO_STD_LOCALE)
   111  #  define BOOST_NO_STD_USE_FACET
   112  #  define BOOST_HAS_TWO_ARG_USE_FACET
   113  #endif
   114  
   115  //
   116  // There's no std::distance prior to version 2, or without
   117  // partial specialization support:
   118  //
   119  #if (BOOST_RWSTD_VER < 0x020000) || defined(_RWSTD_NO_CLASS_PARTIAL_SPEC)
   120      #define BOOST_NO_STD_DISTANCE
   121  #endif
   122  
   123  //
   124  // Some versions of the rogue wave library don't have assignable
   125  // OutputIterators:
   126  //
   127  #if BOOST_RWSTD_VER < 0x020100
   128  #  define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
   129  #endif
   130  
   131  //
   132  // Disable BOOST_HAS_LONG_LONG when the library has no support for it.
   133  //
   134  #if !defined(_RWSTD_LONG_LONG) && defined(BOOST_HAS_LONG_LONG)
   135  #  undef BOOST_HAS_LONG_LONG
   136  #endif
   137  
   138  //
   139  // check that on HP-UX, the proper RW library is used
   140  //
   141  #if defined(__HP_aCC) && !defined(_HP_NAMESPACE_STD)
   142  #  error "Boost requires Standard RW library. Please compile and link with -AA"
   143  #endif
   144  
   145  //
   146  // Define macros specific to RW V2.2 on HP-UX
   147  //
   148  #if defined(__HP_aCC) && (BOOST_RWSTD_VER == 0x02020100)
   149  #  ifndef __HP_TC1_MAKE_PAIR
   150  #    define __HP_TC1_MAKE_PAIR
   151  #  endif
   152  #  ifndef _HP_INSTANTIATE_STD2_VL
   153  #    define _HP_INSTANTIATE_STD2_VL
   154  #  endif
   155  #endif
   156  
   157  #if _RWSTD_VER < 0x05000000
   158  #  define BOOST_NO_CXX11_HDR_ARRAY
   159  #endif
   160  // type_traits header is incomplete:
   161  #  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
   162  //
   163  //  C++0x headers not yet implemented
   164  //
   165  #  define BOOST_NO_CXX11_HDR_CHRONO
   166  #  define BOOST_NO_CXX11_HDR_CODECVT
   167  #  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
   168  #  define BOOST_NO_CXX11_HDR_FORWARD_LIST
   169  #  define BOOST_NO_CXX11_HDR_FUTURE
   170  #  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
   171  #  define BOOST_NO_CXX11_HDR_MUTEX
   172  #  define BOOST_NO_CXX11_HDR_RANDOM
   173  #  define BOOST_NO_CXX11_HDR_RATIO
   174  #  define BOOST_NO_CXX11_HDR_REGEX
   175  #  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
   176  #  define BOOST_NO_CXX11_HDR_THREAD
   177  #  define BOOST_NO_CXX11_HDR_TUPLE
   178  #  define BOOST_NO_CXX11_HDR_TYPEINDEX
   179  #  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
   180  #  define BOOST_NO_CXX11_HDR_UNORDERED_SET
   181  #  define BOOST_NO_CXX11_NUMERIC_LIMITS
   182  #  define BOOST_NO_CXX11_ALLOCATOR
   183  #  define BOOST_NO_CXX11_POINTER_TRAITS
   184  #  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
   185  #  define BOOST_NO_CXX11_SMART_PTR
   186  #  define BOOST_NO_CXX11_HDR_FUNCTIONAL
   187  #  define BOOST_NO_CXX11_HDR_ATOMIC
   188  #  define BOOST_NO_CXX11_STD_ALIGN
   189  #  define BOOST_NO_CXX11_ADDRESSOF
   190  #  define BOOST_NO_CXX11_HDR_EXCEPTION
   191  
   192  #if defined(__has_include)
   193  #if !__has_include(<shared_mutex>)
   194  #  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
   195  #elif __cplusplus < 201402
   196  #  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
   197  #endif
   198  #else
   199  #  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
   200  #endif
   201  
   202  // C++14 features
   203  #  define BOOST_NO_CXX14_STD_EXCHANGE
   204  
   205  // C++17 features
   206  #  define BOOST_NO_CXX17_STD_APPLY
   207  #  define BOOST_NO_CXX17_STD_INVOKE
   208  #  define BOOST_NO_CXX17_ITERATOR_TRAITS