GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — python/include/boost/python/return_opaque_pointer.hpp at develop · gladk/python Expand file tree/ Copy pathreturn_opaque_pointer.hppMore file actions 47 lines (41 loc) · 1.26 KB / Copy pathreturn_opaque_pointer.hppFile metadata and controls47 lines (41 loc) · 1.26 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 // Copyright Gottfried Ganßauge 2003. // 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) /* * Generic Return value converter generator for opaque C++-pointers */ # ifndef RETURN_OPAQUE_POINTER_HPP_ # define RETURN_OPAQUE_POINTER_HPP_ # include <boost/python/detail/prefix.hpp> # include <boost/python/opaque_pointer_converter.hpp> # include <boost/python/detail/force_instantiate.hpp> # include <boost/python/to_python_value.hpp> # include <boost/python/detail/value_arg.hpp> # include <boost/mpl/assert.hpp> namespace boost { namespace python { namespace detail { template <class Pointee> static void opaque_pointee(Pointee const volatile*) { force_instantiate(opaque<Pointee>::instance); } } struct return_opaque_pointer { template <class R> struct apply { BOOST_MPL_ASSERT_MSG( is_pointer<R>::value, RETURN_OPAQUE_POINTER_EXPECTS_A_POINTER_TYPE, (R)); struct type : boost::python::to_python_value< typename detail::value_arg<R>::type > { type() { detail::opaque_pointee(R()); } }; }; }; }} // namespace boost::python # endif // RETURN_OPAQUE_POINTER_HPP_ |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |