std_ns_begin.hpp 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #//////////////////////////////////////////////////////////////////////////////
  2. #//
  3. #// (C) Copyright Ion Gaztanaga 2015-2015.
  4. #// Distributed under the Boost Software License, Version 1.0.
  5. #// (See accompanying file LICENSE_1_0.txt or copy at
  6. #// http://www.boost.org/LICENSE_1_0.txt)
  7. #//
  8. #// See http://www.boost.org/libs/move for documentation.
  9. #//
  10. #//////////////////////////////////////////////////////////////////////////////
  11. #
  12. #ifndef BOOST_CONFIG_HPP
  13. # include <boost/config.hpp>
  14. #endif
  15. #if defined(_LIBCPP_VERSION)
  16. #if defined(__clang__)
  17. #define BOOST_MOVE_STD_NS_GCC_DIAGNOSTIC_PUSH
  18. #pragma GCC diagnostic push
  19. #pragma GCC diagnostic ignored "-Wc++11-extensions"
  20. #endif
  21. #define BOOST_MOVE_STD_NS_BEG _LIBCPP_BEGIN_NAMESPACE_STD
  22. #define BOOST_MOVE_STD_NS_END _LIBCPP_END_NAMESPACE_STD
  23. #elif defined(BOOST_GNU_STDLIB) && defined(_GLIBCXX_BEGIN_NAMESPACE_VERSION) //GCC >= 4.6
  24. #define BOOST_MOVE_STD_NS_BEG namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION
  25. #define BOOST_MOVE_STD_NS_END _GLIBCXX_END_NAMESPACE_VERSION } // namespace
  26. #elif defined(BOOST_GNU_STDLIB) && defined(_GLIBCXX_BEGIN_NAMESPACE) //GCC >= 4.2
  27. #define BOOST_MOVE_STD_NS_BEG _GLIBCXX_BEGIN_NAMESPACE(std)
  28. #define BOOST_MOVE_STD_NS_END _GLIBCXX_END_NAMESPACE
  29. #elif defined(BOOST_DINKUMWARE_STDLIB)
  30. #define BOOST_MOVE_STD_NS_BEG _STD_BEGIN
  31. #define BOOST_MOVE_STD_NS_END _STD_END
  32. #else
  33. #define BOOST_MOVE_STD_NS_BEG namespace std {
  34. #define BOOST_MOVE_STD_NS_END }
  35. #endif
  36. #if defined(_MSC_VER) && (_MSC_VER >= 1915)
  37. #pragma warning (push)
  38. #pragma warning (disable : 4643) // Forward declaring 'X' in namespace std is not permitted by the C++ Standard
  39. #endif