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.
5 #ifndef BOOST_CONVERT_FORWARD_HPP
6 #define BOOST_CONVERT_FORWARD_HPP
9 # pragma warning(disable: 4244)
10 # pragma warning(disable: 4224)
11 # pragma warning(disable: 4996)
12 # pragma warning(disable: 4180) // qualifier applied to function type has no meaning
13 # pragma warning(disable: 4100) // unreferenced formal parameter
14 # pragma warning(disable: 4146) // unary minus operator applied to unsigned type
16 #if _MSC_VER < 1900 /* MSVC-14 defines real snprintf()... just about time! */
17 # define snprintf _snprintf
22 #include <boost/config.hpp>
23 #include <boost/version.hpp>
24 #include <boost/optional.hpp>
26 #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
27 #undef BOOST_CONVERT_CXX11
29 #define BOOST_CONVERT_CXX11
32 #if defined(BOOST_INTEL) && (BOOST_INTEL <= 1200) /* Intel 12.0 and lower have broken SFINAE */
33 # define BOOST_CONVERT_INTEL_SFINAE_BROKEN
36 #if defined(BOOST_MSVC) && (BOOST_MSVC < 1800) /* MSVC-11 and lower have broken SFINAE */
37 # define BOOST_CONVERT_MSVC_SFINAE_BROKEN
40 #endif // BOOST_CONVERT_FORWARD_HPP