Mercurial > hg > vamp-build-and-test
view DEPENDENCIES/generic/include/boost/python/detail/construct.hpp @ 60:01e6213c3f91
Merge
author | Chris Cannam |
---|---|
date | Fri, 12 Sep 2014 08:17:00 +0100 |
parents | 2665513ce2d3 |
children |
line wrap: on
line source
// Copyright David Abrahams 2002. // Distributed under the Boost Software License, Version 1.0. (See // accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) #ifndef CONSTRUCT_REFERENCE_DWA2002716_HPP # define CONSTRUCT_REFERENCE_DWA2002716_HPP namespace boost { namespace python { namespace detail { template <class T, class Arg> void construct_pointee(void* storage, Arg& x # if !defined(BOOST_MSVC) || BOOST_MSVC > 1300 , T const volatile* # else , T const* # endif ) { new (storage) T(x); } template <class T, class Arg> void construct_referent_impl(void* storage, Arg& x, T&(*)()) { construct_pointee(storage, x, (T*)0); } template <class T, class Arg> void construct_referent(void* storage, Arg const& x, T(*tag)() = 0) { construct_referent_impl(storage, x, tag); } template <class T, class Arg> void construct_referent(void* storage, Arg& x, T(*tag)() = 0) { construct_referent_impl(storage, x, tag); } }}} // namespace boost::python::detail #endif // CONSTRUCT_REFERENCE_DWA2002716_HPP