annotate DEPENDENCIES/generic/include/boost/python/detail/construct.hpp @ 133:4acb5d8d80b6 tip

Don't fail environmental check if README.md exists (but .txt and no-suffix don't)
author Chris Cannam
date Tue, 30 Jul 2019 12:25:44 +0100
parents 2665513ce2d3
children
rev   line source
Chris@16 1 // Copyright David Abrahams 2002.
Chris@16 2 // Distributed under the Boost Software License, Version 1.0. (See
Chris@16 3 // accompanying file LICENSE_1_0.txt or copy at
Chris@16 4 // http://www.boost.org/LICENSE_1_0.txt)
Chris@16 5 #ifndef CONSTRUCT_REFERENCE_DWA2002716_HPP
Chris@16 6 # define CONSTRUCT_REFERENCE_DWA2002716_HPP
Chris@16 7
Chris@16 8 namespace boost { namespace python { namespace detail {
Chris@16 9
Chris@16 10 template <class T, class Arg>
Chris@16 11 void construct_pointee(void* storage, Arg& x
Chris@16 12 # if !defined(BOOST_MSVC) || BOOST_MSVC > 1300
Chris@16 13 , T const volatile*
Chris@16 14 # else
Chris@16 15 , T const*
Chris@16 16 # endif
Chris@16 17 )
Chris@16 18 {
Chris@16 19 new (storage) T(x);
Chris@16 20 }
Chris@16 21
Chris@16 22 template <class T, class Arg>
Chris@16 23 void construct_referent_impl(void* storage, Arg& x, T&(*)())
Chris@16 24 {
Chris@16 25 construct_pointee(storage, x, (T*)0);
Chris@16 26 }
Chris@16 27
Chris@16 28 template <class T, class Arg>
Chris@16 29 void construct_referent(void* storage, Arg const& x, T(*tag)() = 0)
Chris@16 30 {
Chris@16 31 construct_referent_impl(storage, x, tag);
Chris@16 32 }
Chris@16 33
Chris@16 34 template <class T, class Arg>
Chris@16 35 void construct_referent(void* storage, Arg& x, T(*tag)() = 0)
Chris@16 36 {
Chris@16 37 construct_referent_impl(storage, x, tag);
Chris@16 38 }
Chris@16 39
Chris@16 40 }}} // namespace boost::python::detail
Chris@16 41
Chris@16 42 #endif // CONSTRUCT_REFERENCE_DWA2002716_HPP