msl.hpp 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. // (C) Copyright John Maddock 2001.
  2. // (C) Copyright Darin Adler 2001.
  3. // Use, modification and distribution are subject to the
  4. // Boost Software License, Version 1.0. (See accompanying file
  5. // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  6. // See http://www.boost.org for most recent version.
  7. // Metrowerks standard library:
  8. #ifndef __MSL_CPP__
  9. # include <boost/config/no_tr1/utility.hpp>
  10. # ifndef __MSL_CPP__
  11. # error This is not the MSL standard library!
  12. # endif
  13. #endif
  14. #if __MSL_CPP__ >= 0x6000 // Pro 6
  15. # define BOOST_HAS_HASH
  16. # define BOOST_STD_EXTENSION_NAMESPACE Metrowerks
  17. #endif
  18. #define BOOST_HAS_SLIST
  19. #if __MSL_CPP__ < 0x6209
  20. # define BOOST_NO_STD_MESSAGES
  21. #endif
  22. // check C lib version for <stdint.h>
  23. #include <cstddef>
  24. #if defined(__MSL__) && (__MSL__ >= 0x5000)
  25. # define BOOST_HAS_STDINT_H
  26. # if !defined(__PALMOS_TRAPS__)
  27. # define BOOST_HAS_UNISTD_H
  28. # endif
  29. // boilerplate code:
  30. # include <boost/config/posix_features.hpp>
  31. #endif
  32. #if defined(_MWMT) || _MSL_THREADSAFE
  33. # define BOOST_HAS_THREADS
  34. #endif
  35. #ifdef _MSL_NO_EXPLICIT_FUNC_TEMPLATE_ARG
  36. # define BOOST_NO_STD_USE_FACET
  37. # define BOOST_HAS_TWO_ARG_USE_FACET
  38. #endif
  39. // C++0x headers not yet implemented
  40. //
  41. # define BOOST_NO_CXX11_HDR_ARRAY
  42. # define BOOST_NO_CXX11_HDR_CHRONO
  43. # define BOOST_NO_CXX11_HDR_CODECVT
  44. # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
  45. # define BOOST_NO_CXX11_HDR_FORWARD_LIST
  46. # define BOOST_NO_CXX11_HDR_FUTURE
  47. # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
  48. # define BOOST_NO_CXX11_HDR_MUTEX
  49. # define BOOST_NO_CXX11_HDR_RANDOM
  50. # define BOOST_NO_CXX11_HDR_RATIO
  51. # define BOOST_NO_CXX11_HDR_REGEX
  52. # define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
  53. # define BOOST_NO_CXX11_HDR_THREAD
  54. # define BOOST_NO_CXX11_HDR_TUPLE
  55. # define BOOST_NO_CXX11_HDR_TYPE_TRAITS
  56. # define BOOST_NO_CXX11_HDR_TYPEINDEX
  57. # define BOOST_NO_CXX11_HDR_UNORDERED_MAP
  58. # define BOOST_NO_CXX11_HDR_UNORDERED_SET
  59. # define BOOST_NO_CXX11_NUMERIC_LIMITS
  60. # define BOOST_NO_CXX11_ALLOCATOR
  61. # define BOOST_NO_CXX11_ATOMIC_SMART_PTR
  62. # define BOOST_NO_CXX11_SMART_PTR
  63. # define BOOST_NO_CXX11_HDR_FUNCTIONAL
  64. # define BOOST_NO_CXX11_HDR_ATOMIC
  65. # define BOOST_NO_CXX11_STD_ALIGN
  66. # define BOOST_NO_CXX11_ADDRESSOF
  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. #define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)