1 // Copyright David Abrahams 2002. 2 // Distributed under the Boost Software License, Version 1.0. (See 3 // accompanying file LICENSE_1_0.txt or copy at 4 // http://www.boost.org/LICENSE_1_0.txt) 5 #ifndef FORCE_INSTANTIATE_DWA200265_HPP 6 # define FORCE_INSTANTIATE_DWA200265_HPP 7 8 namespace boost { namespace python { namespace detail { 9 10 // Allows us to force the argument to be instantiated without 11 // incurring unused variable warnings 12 13 # if !defined(BOOST_MSVC) || BOOST_MSVC == 1200 || _MSC_FULL_VER > 13102196 14 15 template <class T> force_instantiate(T const &)16inline void force_instantiate(T const&) {} 17 18 # else 19 20 # pragma optimize("g", off) 21 inline void force_instantiate_impl(...) {} 22 # pragma optimize("", on) 23 template <class T> 24 inline void force_instantiate(T const& x) 25 { 26 detail::force_instantiate_impl(&x); 27 } 28 # endif 29 30 }}} // namespace boost::python::detail 31 32 #endif // FORCE_INSTANTIATE_DWA200265_HPP 33