Imported Upstream version 1.72.0
[platform/upstream/boost.git] / boost / config / stdlib / libcomo.hpp
1 //  (C) Copyright John Maddock 2002 - 2003. 
2 //  (C) Copyright Jens Maurer 2002 - 2003. 
3 //  (C) Copyright Beman Dawes 2002 - 2003. 
4 //  Use, modification and distribution are subject to the 
5 //  Boost Software License, Version 1.0. (See accompanying file 
6 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7
8 //  See http://www.boost.org for most recent version.
9
10 //  Comeau STL:
11
12 #if !defined(__LIBCOMO__)
13 #  include <boost/config/no_tr1/utility.hpp>
14 #  if !defined(__LIBCOMO__)
15 #      error "This is not the Comeau STL!"
16 #  endif
17 #endif
18
19 //
20 // std::streambuf<wchar_t> is non-standard
21 // NOTE: versions of libcomo prior to beta28 have octal version numbering,
22 // e.g. version 25 is 21 (dec)
23 #if __LIBCOMO_VERSION__ <= 22
24 #  define BOOST_NO_STD_WSTREAMBUF
25 #endif
26
27 #if (__LIBCOMO_VERSION__ <= 31) && defined(_WIN32)
28 #define BOOST_NO_SWPRINTF
29 #endif
30
31 #if __LIBCOMO_VERSION__ >= 31
32 #  define BOOST_HAS_HASH
33 #  define BOOST_HAS_SLIST
34 #endif
35
36 //  C++0x headers not yet implemented
37 //
38 #  define BOOST_NO_CXX11_HDR_ARRAY
39 #  define BOOST_NO_CXX11_HDR_CHRONO
40 #  define BOOST_NO_CXX11_HDR_CODECVT
41 #  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
42 #  define BOOST_NO_CXX11_HDR_EXCEPTION
43 #  define BOOST_NO_CXX11_HDR_FORWARD_LIST
44 #  define BOOST_NO_CXX11_HDR_FUTURE
45 #  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
46 #  define BOOST_NO_CXX11_HDR_MUTEX
47 #  define BOOST_NO_CXX11_HDR_RANDOM
48 #  define BOOST_NO_CXX11_HDR_RATIO
49 #  define BOOST_NO_CXX11_HDR_REGEX
50 #  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
51 #  define BOOST_NO_CXX11_HDR_THREAD
52 #  define BOOST_NO_CXX11_HDR_TUPLE
53 #  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
54 #  define BOOST_NO_CXX11_HDR_TYPEINDEX
55 #  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
56 #  define BOOST_NO_CXX11_HDR_UNORDERED_SET
57 #  define BOOST_NO_CXX11_NUMERIC_LIMITS
58 #  define BOOST_NO_CXX11_ALLOCATOR
59 #  define BOOST_NO_CXX11_POINTER_TRAITS
60 #  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
61 #  define BOOST_NO_CXX11_SMART_PTR
62 #  define BOOST_NO_CXX11_HDR_FUNCTIONAL
63 #  define BOOST_NO_CXX11_HDR_ATOMIC
64 #  define BOOST_NO_CXX11_STD_ALIGN
65 #  define BOOST_NO_CXX11_ADDRESSOF
66
67 #if defined(__has_include)
68 #if !__has_include(<shared_mutex>)
69 #  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
70 #elif __cplusplus < 201402
71 #  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
72 #endif
73 #else
74 #  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
75 #endif
76
77 // C++14 features
78 #  define BOOST_NO_CXX14_STD_EXCHANGE
79
80 // C++17 features
81 #  define BOOST_NO_CXX17_STD_APPLY
82 #  define BOOST_NO_CXX17_STD_INVOKE
83 #  define BOOST_NO_CXX17_ITERATOR_TRAITS
84
85 //
86 // Intrinsic type_traits support.
87 // The SGI STL has it's own __type_traits class, which
88 // has intrinsic compiler support with SGI's compilers.
89 // Whatever map SGI style type traits to boost equivalents:
90 //
91 #define BOOST_HAS_SGI_TYPE_TRAITS
92
93 #define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__)