Go to the documentation of this file. 1 #ifndef DOXYGEN_BOOST_DOC_HH
2 #define DOXYGEN_BOOST_DOC_HH
5 #error "You should have included doxygen.hh first."
6 #endif // DOXYGEN_DOC_HH
8 #include <boost/python.hpp>
14 template <
typename function_type,
15 typename policy_type = boost::python::default_call_policies>
17 member_func_impl<function_type, policy_type> > {
24 template <
class classT>
25 inline void visit(classT& c)
const {
30 template <
class classT, std::
size_t nkeywords>
32 classT& c,
const boost::python::detail::keywords<nkeywords>&
args)
const {
36 template <
class classT>
42 const function_type&
function;
48 template <
typename function_type>
50 const char* name,
const function_type&
function) {
54 template <
typename function_type,
typename policy_type>
56 const char* name,
const function_type&
function,
57 const policy_type& policy) {
61 #define DOXYGEN_DOC_DECLARE_INIT_VISITOR(z, nargs, unused) \
62 template <typename Class BOOST_PP_COMMA_IF(nargs) \
63 BOOST_PP_ENUM_PARAMS(nargs, class Arg)> \
64 struct init_##nargs##_impl \
65 : boost::python::def_visitor< \
66 init_##nargs##_impl<Class BOOST_PP_COMMA_IF(nargs) \
67 BOOST_PP_ENUM_PARAMS(nargs, Arg)> > { \
68 typedef constructor_##nargs##_impl<Class BOOST_PP_COMMA_IF(nargs) \
69 BOOST_PP_ENUM_PARAMS(nargs, Arg)> \
71 typedef boost::python::init<BOOST_PP_ENUM_PARAMS(nargs, Arg)> init_base; \
73 template <class classT> \
74 inline void visit(classT& c) const { \
75 call(c, constructor::args()); \
78 template <class classT> \
79 void call(classT& c, \
80 const boost::python::detail::keywords<nargs + 1>& args) const { \
81 c.def(init_base(constructor::doc(), args)); \
84 template <class classT> \
85 void call(classT& c, const void_&) const { \
86 c.def(init_base(constructor::doc())); \
90 template <typename Class BOOST_PP_COMMA_IF(nargs) \
91 BOOST_PP_ENUM_PARAMS(nargs, class Arg)> \
92 inline init_##nargs##_impl<Class BOOST_PP_COMMA_IF(nargs) \
93 BOOST_PP_ENUM_PARAMS(nargs, Arg)> \
95 return init_##nargs##_impl<Class BOOST_PP_COMMA_IF(nargs) \
96 BOOST_PP_ENUM_PARAMS(nargs, Arg)>(); \
101 #undef DOXYGEN_DOC_DECLARE_INIT_VISITOR
105 template <
typename Func>
106 void def(
const char* name, Func func) {
112 #endif // DOXYGEN_BOOST_DOC_HH
#define DOXYGEN_DOC_DECLARE_INIT_VISITOR(z, nargs, unused)
const function_type & function
void def(const char *name, Func func)
BOOST_PP_REPEAT(DOXYGEN_DOC_MAX_NUMBER_OF_ARGUMENTS_IN_CONSTRUCTOR, DOXYGEN_DOC_DECLARE_CONSTRUCTOR, ~) template< typename Class > struct destructor_doc_impl
member_func_impl(const char *n, const function_type &f)
#define DOXYGEN_DOC_MAX_NUMBER_OF_ARGUMENTS_IN_CONSTRUCTOR
void call(classT &c, const boost::python::detail::keywords< nkeywords > &args) const
member_func_impl< function_type > member_func(const char *name, const function_type &function)
member_func_impl(const char *n, const function_type &f, policy_type p)
void call(classT &c, const void_ &) const
void visit(classT &c) const
void_ member_func_args(FuncPtr)
const char * member_func_doc(FuncPtr)
hpp-fcl
Author(s):
autogenerated on Sat Nov 23 2024 03:44:58