Chris@16: // Copyright David Abrahams 2002. Chris@16: // Distributed under the Boost Software License, Version 1.0. (See Chris@16: // accompanying file LICENSE_1_0.txt or copy at Chris@16: // http://www.boost.org/LICENSE_1_0.txt) Chris@16: #ifndef FORCE_INSTANTIATE_DWA200265_HPP Chris@16: # define FORCE_INSTANTIATE_DWA200265_HPP Chris@16: Chris@16: namespace boost { namespace python { namespace detail { Chris@16: Chris@16: // Allows us to force the argument to be instantiated without Chris@16: // incurring unused variable warnings Chris@16: Chris@16: # if !defined(BOOST_MSVC) || BOOST_MSVC < 1300 || _MSC_FULL_VER > 13102196 Chris@16: Chris@16: template Chris@16: inline void force_instantiate(T const&) {} Chris@16: Chris@16: # else Chris@16: Chris@16: # pragma optimize("g", off) Chris@16: inline void force_instantiate_impl(...) {} Chris@16: # pragma optimize("", on) Chris@16: template Chris@16: inline void force_instantiate(T const& x) Chris@16: { Chris@16: detail::force_instantiate_impl(&x); Chris@16: } Chris@16: # endif Chris@16: Chris@16: }}} // namespace boost::python::detail Chris@16: Chris@16: #endif // FORCE_INSTANTIATE_DWA200265_HPP