config.hpp 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. // Copyright (c) 2009-2016 Vladimir Batov.
  2. // Use, modification and distribution are subject to the Boost Software License,
  3. // Version 1.0. See http://www.boost.org/LICENSE_1_0.txt.
  4. #ifndef BOOST_CONVERT_FORWARD_HPP
  5. #define BOOST_CONVERT_FORWARD_HPP
  6. #include <boost/config.hpp>
  7. #include <boost/version.hpp>
  8. #include <boost/optional.hpp>
  9. #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
  10. #undef BOOST_CONVERT_CXX11
  11. #else
  12. #define BOOST_CONVERT_CXX11
  13. #endif
  14. // Intel 12.0 and lower have broken SFINAE
  15. #if defined(BOOST_INTEL) && (BOOST_INTEL <= 1200)
  16. # define BOOST_CONVERT_IS_NOT_SUPPORTED
  17. #endif
  18. // No C++11 support
  19. #if defined(BOOST_GCC_VERSION) && (BOOST_GCC_VERSION <= 40600)
  20. # define BOOST_CONVERT_IS_NOT_SUPPORTED
  21. #endif
  22. // MSVC-11 and lower have broken SFINAE
  23. #if defined(BOOST_MSVC) && (BOOST_MSVC < 1800)
  24. # define BOOST_CONVERT_IS_NOT_SUPPORTED
  25. #endif
  26. #if defined(_MSC_VER)
  27. //MSVC++ 7.0 _MSC_VER == 1300
  28. //MSVC++ 7.1 _MSC_VER == 1310 (Visual Studio 2003)
  29. //MSVC++ 8.0 _MSC_VER == 1400 (Visual Studio 2005)
  30. //MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008)
  31. //MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010)
  32. //MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012)
  33. //MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013)
  34. //MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015)
  35. //MSVC++ 15.0 _MSC_VER == 1910 (Visual Studio 2017)
  36. # pragma warning(disable: 4244)
  37. # pragma warning(disable: 4224)
  38. # pragma warning(disable: 4996)
  39. # pragma warning(disable: 4180) // qualifier applied to function type has no meaning
  40. # pragma warning(disable: 4100) // unreferenced formal parameter
  41. # pragma warning(disable: 4146) // unary minus operator applied to unsigned type
  42. #if _MSC_VER < 1900 /* MSVC-14 defines real snprintf()... just about time! */
  43. # define snprintf _snprintf
  44. #endif
  45. #endif
  46. #endif // BOOST_CONVERT_FORWARD_HPP