Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::python::objects::class_metadata< T, X1, X2, X3 > Struct Template Reference

#include <class_metadata.hpp>

Public Types

typedef select_held_type< X1,
typename select_held_type< X2,
typename select_held_type< X3,
python::detail::not_specified >
::type >::type >::type 
held_type_arg
 
typedef
python::detail::select_bases
< X1, typename
python::detail::select_bases
< X2, typename
python::detail::select_bases
< X3, python::bases<> >::type >
::type >::type 
bases
 
typedef mpl::or_< is_same< X1,
noncopyable >, is_same< X2,
noncopyable >, is_same< X3,
noncopyable > > 
is_noncopyable
 
typedef mpl::if_< is_same
< held_type_arg,
python::detail::not_specified >
, T, held_type_arg >::type 
held_type
 
typedef is_convertible
< held_type *, T * > 
use_value_holder
 
typedef mpl::eval_if
< use_value_holder,
mpl::identity< held_type >
, pointee< held_type > >::type 
wrapped
 
typedef mpl::or_
< has_back_reference< T >
, is_same< held_type_arg, T >
, is_base_and_derived< T,
wrapped > > 
use_back_reference
 
typedef mpl::eval_if
< use_back_reference, mpl::if_
< use_value_holder,
value_holder_back_reference< T,
wrapped >
, pointer_holder_back_reference
< held_type, T > >, mpl::if_
< use_value_holder,
value_holder< T >
, pointer_holder< held_type,
wrapped > > >::type 
holder
 

Static Public Member Functions

static void register_ ()
 

Member Typedef Documentation

template<class T , class X1 , class X2 , class X3 >
typedef python::detail::select_bases< X1 , typename python::detail::select_bases< X2 , typename python::detail::select_bases< X3 , python::bases<> >::type >::type >::type boost::python::objects::class_metadata< T, X1, X2, X3 >::bases
template<class T , class X1 , class X2 , class X3 >
typedef mpl::if_< is_same<held_type_arg,python::detail::not_specified>, T, held_type_arg >::type boost::python::objects::class_metadata< T, X1, X2, X3 >::held_type
template<class T , class X1 , class X2 , class X3 >
typedef select_held_type< X1 , typename select_held_type< X2 , typename select_held_type< X3 , python::detail::not_specified >::type >::type >::type boost::python::objects::class_metadata< T, X1, X2, X3 >::held_type_arg
template<class T , class X1 , class X2 , class X3 >
typedef mpl::or_< is_same<X1,noncopyable> , is_same<X2,noncopyable> , is_same<X3,noncopyable> > boost::python::objects::class_metadata< T, X1, X2, X3 >::is_noncopyable
template<class T , class X1 , class X2 , class X3 >
typedef mpl::or_< has_back_reference<T> , is_same<held_type_arg,T> , is_base_and_derived<T,wrapped> > boost::python::objects::class_metadata< T, X1, X2, X3 >::use_back_reference
template<class T , class X1 , class X2 , class X3 >
typedef is_convertible<held_type*,T*> boost::python::objects::class_metadata< T, X1, X2, X3 >::use_value_holder
template<class T , class X1 , class X2 , class X3 >
typedef mpl::eval_if< use_value_holder , mpl::identity<held_type> , pointee<held_type> >::type boost::python::objects::class_metadata< T, X1, X2, X3 >::wrapped

Member Function Documentation

template<class T , class X1 , class X2 , class X3 >
static void boost::python::objects::class_metadata< T, X1, X2, X3 >::register_ ( )
inlinestatic

The documentation for this struct was generated from the following file: