libcomo.hpp 2.7 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_FORWARD_LIST
  36. # define BOOST_NO_CXX11_HDR_FUTURE
  37. # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
  38. # define BOOST_NO_CXX11_HDR_MUTEX
  39. # define BOOST_NO_CXX11_HDR_RANDOM
  40. # define BOOST_NO_CXX11_HDR_RATIO
  41. # define BOOST_NO_CXX11_HDR_REGEX
  42. # define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
  43. # define BOOST_NO_CXX11_HDR_THREAD
  44. # define BOOST_NO_CXX11_HDR_TUPLE
  45. # define BOOST_NO_CXX11_HDR_TYPE_TRAITS
  46. # define BOOST_NO_CXX11_HDR_TYPEINDEX
  47. # define BOOST_NO_CXX11_HDR_UNORDERED_MAP
  48. # define BOOST_NO_CXX11_HDR_UNORDERED_SET
  49. # define BOOST_NO_CXX11_NUMERIC_LIMITS
  50. # define BOOST_NO_CXX11_ALLOCATOR
  51. # define BOOST_NO_CXX11_POINTER_TRAITS
  52. # define BOOST_NO_CXX11_ATOMIC_SMART_PTR
  53. # define BOOST_NO_CXX11_SMART_PTR
  54. # define BOOST_NO_CXX11_HDR_FUNCTIONAL
  55. # define BOOST_NO_CXX11_HDR_ATOMIC
  56. # define BOOST_NO_CXX11_STD_ALIGN
  57. # define BOOST_NO_CXX11_ADDRESSOF
  58. #if defined(__has_include)
  59. #if !__has_include(<shared_mutex>)
  60. # define BOOST_NO_CXX14_HDR_SHARED_MUTEX
  61. #elif __cplusplus < 201402
  62. # define BOOST_NO_CXX14_HDR_SHARED_MUTEX
  63. #endif
  64. #else
  65. # define BOOST_NO_CXX14_HDR_SHARED_MUTEX
  66. #endif
  67. // C++14 features
  68. # define BOOST_NO_CXX14_STD_EXCHANGE
  69. // C++17 features
  70. # define BOOST_NO_CXX17_STD_APPLY
  71. # define BOOST_NO_CXX17_STD_INVOKE
  72. # define BOOST_NO_CXX17_ITERATOR_TRAITS
  73. //
  74. // Intrinsic type_traits support.
  75. // The SGI STL has it's own __type_traits class, which
  76. // has intrinsic compiler support with SGI's compilers.
  77. // Whatever map SGI style type traits to boost equivalents:
  78. //
  79. #define BOOST_HAS_SGI_TYPE_TRAITS
  80. #define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__)