...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Boost.PythonHeader
|
introduces a
traits metafunction
template pointee
that can be used to extract the "pointed-to" type from the type of a pointer or smart pointer.
pointee
pointee
is used by the class_<...>
template to deduce the type being held when a pointer or smart
pointer type is used as its HeldType
argument.
pointee
synopsisnamespace boost { namespace python { templatestruct pointee { typedef T::element_type type; }; // specialization for pointers template struct pointee { typedef T type; }; }
smart_pointer
, one might partially specialize
pointee >
so that it can be
used as the HeldType
for a class wrapper:
#include#include #include namespace boost { namespace python { template struct pointee<smart_pointer > { typedef T type; }; }} BOOST_PYTHON_MODULE(pointee_demo) { class_ >("third_party_class") .def(...) ... ; }
Revised 13 November, 2002
© Copyright Dave 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)