libcomo.hpp 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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. // See http://www.boost.org for most recent version.
  8. // Comeau STL:
  9. #if !defined(__LIBCOMO__)
  10. # include <boost/config/no_tr1/utility.hpp>
  11. # if !defined(__LIBCOMO__)
  12. # error "This is not the Comeau STL!"
  13. # endif
  14. #endif
  15. //
  16. // std::streambuf<wchar_t> is non-standard
  17. // NOTE: versions of libcomo prior to beta28 have octal version numbering,
  18. // e.g. version 25 is 21 (dec)
  19. #if __LIBCOMO_VERSION__ <= 22
  20. # define BOOST_NO_STD_WSTREAMBUF
  21. #endif
  22. #if (__LIBCOMO_VERSION__ <= 31) && defined(_WIN32)
  23. #define BOOST_NO_SWPRINTF
  24. #endif
  25. #if __LIBCOMO_VERSION__ >= 31
  26. # define BOOST_HAS_HASH
  27. # define BOOST_HAS_SLIST
  28. #endif
  29. // C++0x headers not yet implemented
  30. //
  31. # define BOOST_NO_CXX11_HDR_ARRAY
  32. # define BOOST_NO_CXX11_HDR_CHRONO
  33. # define BOOST_NO_CXX11_HDR_CODECVT
  34. # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
  35. # define BOOST_NO_CXX11_HDR_EXCEPTION
  36. # define BOOST_NO_CXX11_HDR_FORWARD_LIST
  37. # define BOOST_NO_CXX11_HDR_FUTURE
  38. # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
  39. # define BOOST_NO_CXX11_HDR_MUTEX
  40. # define BOOST_NO_CXX11_HDR_RANDOM
  41. # define BOOST_NO_CXX11_HDR_RATIO
  42. # define BOOST_NO_CXX11_HDR_REGEX
  43. # define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
  44. # define BOOST_NO_CXX11_HDR_THREAD
  45. # define BOOST_NO_CXX11_HDR_TUPLE
  46. # define BOOST_NO_CXX11_HDR_TYPE_TRAITS
  47. # define BOOST_NO_CXX11_HDR_TYPEINDEX
  48. # define BOOST_NO_CXX11_HDR_UNORDERED_MAP
  49. # define BOOST_NO_CXX11_HDR_UNORDERED_SET
  50. # define BOOST_NO_CXX11_NUMERIC_LIMITS
  51. # define BOOST_NO_CXX11_ALLOCATOR
  52. # define BOOST_NO_CXX11_POINTER_TRAITS
  53. # define BOOST_NO_CXX11_ATOMIC_SMART_PTR
  54. # define BOOST_NO_CXX11_SMART_PTR
  55. # define BOOST_NO_CXX11_HDR_FUNCTIONAL
  56. # define BOOST_NO_CXX11_HDR_ATOMIC
  57. # define BOOST_NO_CXX11_STD_ALIGN
  58. # define BOOST_NO_CXX11_ADDRESSOF
  59. #if defined(__has_include)
  60. #if !__has_include(<shared_mutex>)
  61. # define BOOST_NO_CXX14_HDR_SHARED_MUTEX
  62. #elif __cplusplus < 201402
  63. # define BOOST_NO_CXX14_HDR_SHARED_MUTEX
  64. #endif
  65. #else
  66. # define BOOST_NO_CXX14_HDR_SHARED_MUTEX
  67. #endif
  68. // C++14 features
  69. # define BOOST_NO_CXX14_STD_EXCHANGE
  70. // C++17 features
  71. # define BOOST_NO_CXX17_STD_APPLY
  72. # define BOOST_NO_CXX17_STD_INVOKE
  73. # define BOOST_NO_CXX17_ITERATOR_TRAITS
  74. //
  75. // Intrinsic type_traits support.
  76. // The SGI STL has it's own __type_traits class, which
  77. // has intrinsic compiler support with SGI's compilers.
  78. // Whatever map SGI style type traits to boost equivalents:
  79. //
  80. #define BOOST_HAS_SGI_TYPE_TRAITS
  81. #define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__)