std_ns_begin.hpp 1.3 KB

12345678910111213141516171819202122232425262728293031
  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. #if defined(_LIBCPP_VERSION)
  13. #if defined(__clang__)
  14. #define BOOST_MOVE_STD_NS_GCC_DIAGNOSTIC_PUSH
  15. #pragma GCC diagnostic push
  16. #pragma GCC diagnostic ignored "-Wc++11-extensions"
  17. #endif
  18. #define BOOST_MOVE_STD_NS_BEG _LIBCPP_BEGIN_NAMESPACE_STD
  19. #define BOOST_MOVE_STD_NS_END _LIBCPP_END_NAMESPACE_STD
  20. #elif defined(BOOST_GNU_STDLIB) && defined(_GLIBCXX_BEGIN_NAMESPACE_VERSION) //GCC >= 4.6
  21. #define BOOST_MOVE_STD_NS_BEG namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION
  22. #define BOOST_MOVE_STD_NS_END _GLIBCXX_END_NAMESPACE_VERSION } // namespace
  23. #elif defined(BOOST_GNU_STDLIB) && defined(_GLIBCXX_BEGIN_NAMESPACE) //GCC >= 4.2
  24. #define BOOST_MOVE_STD_NS_BEG _GLIBCXX_BEGIN_NAMESPACE(std)
  25. #define BOOST_MOVE_STD_NS_END _GLIBCXX_END_NAMESPACE
  26. #else
  27. #define BOOST_MOVE_STD_NS_BEG namespace std{
  28. #define BOOST_MOVE_STD_NS_END }
  29. #endif