Skip to content

Commit 8b61132

Browse files
committed
Use new void_return mechanism
[SVN r14352]
1 parent b255796 commit 8b61132

File tree

5 files changed

+77
-34
lines changed

5 files changed

+77
-34
lines changed

include/boost/python/call.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
# include <boost/preprocessor/enum_params.hpp>
1515
# include <boost/preprocessor/repeat.hpp>
1616
# include <boost/preprocessor/cat.hpp>
17+
# include <boost/python/detail/void_return.hpp>
1718
# include <boost/type.hpp>
1819

1920
namespace boost { namespace python {
@@ -27,7 +28,7 @@ template <
2728
class R \
2829
BOOST_PP_COMMA_IF(nargs) BOOST_PP_ENUM_PARAMS(nargs, class A) \
2930
> \
30-
typename converter::return_from_python<R>::result_type \
31+
typename detail::returnable<R>::type \
3132
call(PyObject* callable \
3233
BOOST_PP_COMMA_IF(nargs) BOOST_PYTHON_ENUM_PARAMS2(nargs, (A,const& a)) \
3334
, boost::type<R>* = 0 \

include/boost/python/call_method.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
# include <boost/preprocessor/enum_params.hpp>
1515
# include <boost/preprocessor/repeat.hpp>
1616
# include <boost/preprocessor/cat.hpp>
17+
# include <boost/python/detail/void_return.hpp>
1718
# include <boost/type.hpp>
1819

1920
namespace boost { namespace python {
@@ -27,7 +28,7 @@ template <
2728
class R \
2829
BOOST_PP_COMMA_IF(nargs) BOOST_PP_ENUM_PARAMS(nargs, class A) \
2930
> \
30-
typename converter::return_from_python<R>::result_type \
31+
typename detail::returnable<R>::type \
3132
call_method(PyObject* self, char const* name \
3233
BOOST_PP_COMMA_IF(nargs) BOOST_PYTHON_ENUM_PARAMS2(nargs, (A,const& a)) \
3334
, boost::type<R>* = 0 \
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
// Copyright David Abrahams 2002. Permission to copy, use,
2+
// modify, sell and distribute this software is granted provided this
3+
// copyright notice appears in all copies. This software is provided
4+
// "as is" without express or implied warranty, and with no claim as
5+
// to its suitability for any purpose.
6+
#ifndef VOID_RETURN_DWA200274_HPP
7+
# define VOID_RETURN_DWA200274_HPP
8+
9+
namespace boost { namespace python { namespace detail {
10+
11+
struct void_return
12+
{
13+
void_return() {}
14+
private:
15+
void operator=(void_return const&);
16+
};
17+
18+
template <class T>
19+
struct returnable
20+
{
21+
typedef T type;
22+
};
23+
24+
# ifdef BOOST_NO_VOID_RETURNS
25+
template <>
26+
struct returnable<void>
27+
{
28+
typedef void_return type;
29+
};
30+
31+
# ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
32+
template <> struct returnable<const void> : returnable<void> {};
33+
template <> struct returnable<volatile void> : returnable<void> {};
34+
template <> struct returnable<const volatile void> : returnable<void> {};
35+
# endif
36+
37+
# endif // BOOST_NO_VOID_RETURNS
38+
39+
}}} // namespace boost::python::detail
40+
41+
#endif // VOID_RETURN_DWA200274_HPP

include/boost/python/preprocessed/call.hpp

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
// (replace-string "PyEval_CallFunction(" "\nPyEval_CallFunction(\n")
1212

1313
template<class R>
14-
typename converter::return_from_python<R>::result_type
14+
typename detail::returnable<R>::type
1515
call(PyObject*callable,boost::type<R>* =0)
1616
{
1717
converter::return_from_python<R>converter;
@@ -20,7 +20,7 @@ call(PyObject*callable,boost::type<R>* =0)
2020
callable,const_cast<char*>("(" ")")));
2121
}
2222
template<class R,class A0>
23-
typename converter::return_from_python<R>::result_type
23+
typename detail::returnable<R>::type
2424
call(PyObject*callable,A0 const&a0,boost::type<R>* =0)
2525
{
2626
converter::return_from_python<R>converter;
@@ -30,7 +30,7 @@ call(PyObject*callable,A0 const&a0,boost::type<R>* =0)
3030
,converter::arg_to_python<A0>(a0).get()));
3131
}
3232
template<class R,class A0,class A1>
33-
typename converter::return_from_python<R>::result_type
33+
typename detail::returnable<R>::type
3434
call(PyObject*callable,A0 const&a0,A1 const&a1,boost::type<R>* =0)
3535
{
3636
converter::return_from_python<R>converter;
@@ -41,7 +41,7 @@ call(PyObject*callable,A0 const&a0,A1 const&a1,boost::type<R>* =0)
4141
,converter::arg_to_python<A1>(a1).get()));
4242
}
4343
template<class R,class A0,class A1,class A2>
44-
typename converter::return_from_python<R>::result_type
44+
typename detail::returnable<R>::type
4545
call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,boost::type<R>* =0)
4646
{
4747
converter::return_from_python<R>converter;
@@ -53,7 +53,7 @@ call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,boost::type<R>* =0)
5353
,converter::arg_to_python<A2>(a2).get()));
5454
}
5555
template<class R,class A0,class A1,class A2,class A3>
56-
typename converter::return_from_python<R>::result_type
56+
typename detail::returnable<R>::type
5757
call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,boost::type<R>* =0)
5858
{
5959
converter::return_from_python<R>converter;
@@ -66,7 +66,7 @@ call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,boost::ty
6666
,converter::arg_to_python<A3>(a3).get()));
6767
}
6868
template<class R,class A0,class A1,class A2,class A3,class A4>
69-
typename converter::return_from_python<R>::result_type
69+
typename detail::returnable<R>::type
7070
call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&a4,boost::type<R>* =0)
7171
{
7272
converter::return_from_python<R>converter;
@@ -80,7 +80,7 @@ call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&
8080
,converter::arg_to_python<A4>(a4).get()));
8181
}
8282
template<class R,class A0,class A1,class A2,class A3,class A4,class A5>
83-
typename converter::return_from_python<R>::result_type
83+
typename detail::returnable<R>::type
8484
call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&a4,A5 const&a5,boost::type<R>* =0)
8585
{
8686
converter::return_from_python<R>converter;
@@ -95,7 +95,7 @@ call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&
9595
,converter::arg_to_python<A5>(a5).get()));
9696
}
9797
template<class R,class A0,class A1,class A2,class A3,class A4,class A5,class A6>
98-
typename converter::return_from_python<R>::result_type
98+
typename detail::returnable<R>::type
9999
call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&a4,A5 const&a5,A6 const&a6,boost::type<R>* =0)
100100
{
101101
converter::return_from_python<R>converter;
@@ -111,7 +111,7 @@ call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&
111111
,converter::arg_to_python<A6>(a6).get()));
112112
}
113113
template<class R,class A0,class A1,class A2,class A3,class A4,class A5,class A6,class A7>
114-
typename converter::return_from_python<R>::result_type
114+
typename detail::returnable<R>::type
115115
call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&a4,A5 const&a5,A6 const&a6,A7 const&a7,boost::type<R>* =0)
116116
{
117117
converter::return_from_python<R>converter;
@@ -128,7 +128,7 @@ call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&
128128
,converter::arg_to_python<A7>(a7).get()));
129129
}
130130
template<class R,class A0,class A1,class A2,class A3,class A4,class A5,class A6,class A7,class A8>
131-
typename converter::return_from_python<R>::result_type
131+
typename detail::returnable<R>::type
132132
call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&a4,A5 const&a5,A6 const&a6,A7 const&a7,A8 const&a8,boost::type<R>* =0)
133133
{
134134
converter::return_from_python<R>converter;
@@ -146,7 +146,7 @@ call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&
146146
,converter::arg_to_python<A8>(a8).get()));
147147
}
148148
template<class R,class A0,class A1,class A2,class A3,class A4,class A5,class A6,class A7,class A8,class A9>
149-
typename converter::return_from_python<R>::result_type
149+
typename detail::returnable<R>::type
150150
call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&a4,A5 const&a5,A6 const&a6,A7 const&a7,A8 const&a8,A9 const&a9,boost::type<R>* =0)
151151
{
152152
converter::return_from_python<R>converter;
@@ -165,7 +165,7 @@ call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&
165165
,converter::arg_to_python<A9>(a9).get()));
166166
}
167167
template<class R,class A0,class A1,class A2,class A3,class A4,class A5,class A6,class A7,class A8,class A9,class A10>
168-
typename converter::return_from_python<R>::result_type
168+
typename detail::returnable<R>::type
169169
call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&a4,A5 const&a5,A6 const&a6,A7 const&a7,A8 const&a8,A9 const&a9,A10 const&a10,boost::type<R>* =0)
170170
{
171171
converter::return_from_python<R>converter;
@@ -185,7 +185,7 @@ call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&
185185
,converter::arg_to_python<A10>(a10).get()));
186186
}
187187
template<class R,class A0,class A1,class A2,class A3,class A4,class A5,class A6,class A7,class A8,class A9,class A10,class A11>
188-
typename converter::return_from_python<R>::result_type
188+
typename detail::returnable<R>::type
189189
call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&a4,A5 const&a5,A6 const&a6,A7 const&a7,A8 const&a8,A9 const&a9,A10 const&a10,A11 const&a11,boost::type<R>* =0)
190190
{
191191
converter::return_from_python<R>converter;
@@ -206,7 +206,7 @@ call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&
206206
,converter::arg_to_python<A11>(a11).get()));
207207
}
208208
template<class R,class A0,class A1,class A2,class A3,class A4,class A5,class A6,class A7,class A8,class A9,class A10,class A11,class A12>
209-
typename converter::return_from_python<R>::result_type
209+
typename detail::returnable<R>::type
210210
call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&a4,A5 const&a5,A6 const&a6,A7 const&a7,A8 const&a8,A9 const&a9,A10 const&a10,A11 const&a11,A12 const&a12,boost::type<R>* =0)
211211
{
212212
converter::return_from_python<R>converter;
@@ -228,7 +228,7 @@ call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&
228228
,converter::arg_to_python<A12>(a12).get()));
229229
}
230230
template<class R,class A0,class A1,class A2,class A3,class A4,class A5,class A6,class A7,class A8,class A9,class A10,class A11,class A12,class A13>
231-
typename converter::return_from_python<R>::result_type
231+
typename detail::returnable<R>::type
232232
call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&a4,A5 const&a5,A6 const&a6,A7 const&a7,A8 const&a8,A9 const&a9,A10 const&a10,A11 const&a11,A12 const&a12,A13 const&a13,boost::type<R>* =0)
233233
{
234234
converter::return_from_python<R>converter;
@@ -251,7 +251,7 @@ call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&
251251
,converter::arg_to_python<A13>(a13).get()));
252252
}
253253
template<class R,class A0,class A1,class A2,class A3,class A4,class A5,class A6,class A7,class A8,class A9,class A10,class A11,class A12,class A13,class A14>
254-
typename converter::return_from_python<R>::result_type
254+
typename detail::returnable<R>::type
255255
call(PyObject*callable,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&a4,A5 const&a5,A6 const&a6,A7 const&a7,A8 const&a8,A9 const&a9,A10 const&a10,A11 const&a11,A12 const&a12,A13 const&a13,A14 const&a14,boost::type<R>* =0)
256256
{
257257
converter::return_from_python<R>converter;

include/boost/python/preprocessed/call_method.hpp

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
// (replace-string "PyEval_CallMethod(" "\nPyEval_CallMethod(\n")
1212

1313
template<class R>
14-
typename converter::return_from_python<R>::result_type
14+
typename detail::returnable<R>::type
1515
call_method(PyObject*self,char const*name,boost::type<R>* =0)
1616
{
1717
converter::return_from_python<R>converter;
@@ -20,7 +20,7 @@ call_method(PyObject*self,char const*name,boost::type<R>* =0)
2020
self,const_cast<char*>(name),const_cast<char*>("(" ")")));
2121
}
2222
template<class R,class A0>
23-
typename converter::return_from_python<R>::result_type
23+
typename detail::returnable<R>::type
2424
call_method(PyObject*self,char const*name,A0 const&a0,boost::type<R>* =0)
2525
{
2626
converter::return_from_python<R>converter;
@@ -30,7 +30,7 @@ call_method(PyObject*self,char const*name,A0 const&a0,boost::type<R>* =0)
3030
,converter::arg_to_python<A0>(a0).get()));
3131
}
3232
template<class R,class A0,class A1>
33-
typename converter::return_from_python<R>::result_type
33+
typename detail::returnable<R>::type
3434
call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,boost::type<R>* =0)
3535
{
3636
converter::return_from_python<R>converter;
@@ -41,7 +41,7 @@ call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,boost::type<R>
4141
,converter::arg_to_python<A1>(a1).get()));
4242
}
4343
template<class R,class A0,class A1,class A2>
44-
typename converter::return_from_python<R>::result_type
44+
typename detail::returnable<R>::type
4545
call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,boost::type<R>* =0)
4646
{
4747
converter::return_from_python<R>converter;
@@ -53,7 +53,7 @@ call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,bo
5353
,converter::arg_to_python<A2>(a2).get()));
5454
}
5555
template<class R,class A0,class A1,class A2,class A3>
56-
typename converter::return_from_python<R>::result_type
56+
typename detail::returnable<R>::type
5757
call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,boost::type<R>* =0)
5858
{
5959
converter::return_from_python<R>converter;
@@ -66,7 +66,7 @@ call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,A3
6666
,converter::arg_to_python<A3>(a3).get()));
6767
}
6868
template<class R,class A0,class A1,class A2,class A3,class A4>
69-
typename converter::return_from_python<R>::result_type
69+
typename detail::returnable<R>::type
7070
call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&a4,boost::type<R>* =0)
7171
{
7272
converter::return_from_python<R>converter;
@@ -80,7 +80,7 @@ call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,A3
8080
,converter::arg_to_python<A4>(a4).get()));
8181
}
8282
template<class R,class A0,class A1,class A2,class A3,class A4,class A5>
83-
typename converter::return_from_python<R>::result_type
83+
typename detail::returnable<R>::type
8484
call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&a4,A5 const&a5,boost::type<R>* =0)
8585
{
8686
converter::return_from_python<R>converter;
@@ -95,7 +95,7 @@ call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,A3
9595
,converter::arg_to_python<A5>(a5).get()));
9696
}
9797
template<class R,class A0,class A1,class A2,class A3,class A4,class A5,class A6>
98-
typename converter::return_from_python<R>::result_type
98+
typename detail::returnable<R>::type
9999
call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&a4,A5 const&a5,A6 const&a6,boost::type<R>* =0)
100100
{
101101
converter::return_from_python<R>converter;
@@ -111,7 +111,7 @@ call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,A3
111111
,converter::arg_to_python<A6>(a6).get()));
112112
}
113113
template<class R,class A0,class A1,class A2,class A3,class A4,class A5,class A6,class A7>
114-
typename converter::return_from_python<R>::result_type
114+
typename detail::returnable<R>::type
115115
call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&a4,A5 const&a5,A6 const&a6,A7 const&a7,boost::type<R>* =0)
116116
{
117117
converter::return_from_python<R>converter;
@@ -128,7 +128,7 @@ call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,A3
128128
,converter::arg_to_python<A7>(a7).get()));
129129
}
130130
template<class R,class A0,class A1,class A2,class A3,class A4,class A5,class A6,class A7,class A8>
131-
typename converter::return_from_python<R>::result_type
131+
typename detail::returnable<R>::type
132132
call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&a4,A5 const&a5,A6 const&a6,A7 const&a7,A8 const&a8,boost::type<R>* =0)
133133
{
134134
converter::return_from_python<R>converter;
@@ -146,7 +146,7 @@ call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,A3
146146
,converter::arg_to_python<A8>(a8).get()));
147147
}
148148
template<class R,class A0,class A1,class A2,class A3,class A4,class A5,class A6,class A7,class A8,class A9>
149-
typename converter::return_from_python<R>::result_type
149+
typename detail::returnable<R>::type
150150
call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&a4,A5 const&a5,A6 const&a6,A7 const&a7,A8 const&a8,A9 const&a9,boost::type<R>* =0)
151151
{
152152
converter::return_from_python<R>converter;
@@ -165,7 +165,7 @@ call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,A3
165165
,converter::arg_to_python<A9>(a9).get()));
166166
}
167167
template<class R,class A0,class A1,class A2,class A3,class A4,class A5,class A6,class A7,class A8,class A9,class A10>
168-
typename converter::return_from_python<R>::result_type
168+
typename detail::returnable<R>::type
169169
call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&a4,A5 const&a5,A6 const&a6,A7 const&a7,A8 const&a8,A9 const&a9,A10 const&a10,boost::type<R>* =0)
170170
{
171171
converter::return_from_python<R>converter;
@@ -185,7 +185,7 @@ call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,A3
185185
,converter::arg_to_python<A10>(a10).get()));
186186
}
187187
template<class R,class A0,class A1,class A2,class A3,class A4,class A5,class A6,class A7,class A8,class A9,class A10,class A11>
188-
typename converter::return_from_python<R>::result_type
188+
typename detail::returnable<R>::type
189189
call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&a4,A5 const&a5,A6 const&a6,A7 const&a7,A8 const&a8,A9 const&a9,A10 const&a10,A11 const&a11,boost::type<R>* =0)
190190
{
191191
converter::return_from_python<R>converter;
@@ -206,7 +206,7 @@ call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,A3
206206
,converter::arg_to_python<A11>(a11).get()));
207207
}
208208
template<class R,class A0,class A1,class A2,class A3,class A4,class A5,class A6,class A7,class A8,class A9,class A10,class A11,class A12>
209-
typename converter::return_from_python<R>::result_type
209+
typename detail::returnable<R>::type
210210
call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&a4,A5 const&a5,A6 const&a6,A7 const&a7,A8 const&a8,A9 const&a9,A10 const&a10,A11 const&a11,A12 const&a12,boost::type<R>* =0)
211211
{
212212
converter::return_from_python<R>converter;
@@ -228,7 +228,7 @@ call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,A3
228228
,converter::arg_to_python<A12>(a12).get()));
229229
}
230230
template<class R,class A0,class A1,class A2,class A3,class A4,class A5,class A6,class A7,class A8,class A9,class A10,class A11,class A12,class A13>
231-
typename converter::return_from_python<R>::result_type
231+
typename detail::returnable<R>::type
232232
call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&a4,A5 const&a5,A6 const&a6,A7 const&a7,A8 const&a8,A9 const&a9,A10 const&a10,A11 const&a11,A12 const&a12,A13 const&a13,boost::type<R>* =0)
233233
{
234234
converter::return_from_python<R>converter;
@@ -251,7 +251,7 @@ call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,A3
251251
,converter::arg_to_python<A13>(a13).get()));
252252
}
253253
template<class R,class A0,class A1,class A2,class A3,class A4,class A5,class A6,class A7,class A8,class A9,class A10,class A11,class A12,class A13,class A14>
254-
typename converter::return_from_python<R>::result_type
254+
typename detail::returnable<R>::type
255255
call_method(PyObject*self,char const*name,A0 const&a0,A1 const&a1,A2 const&a2,A3 const&a3,A4 const&a4,A5 const&a5,A6 const&a6,A7 const&a7,A8 const&a8,A9 const&a9,A10 const&a10,A11 const&a11,A12 const&a12,A13 const&a13,A14 const&a14,boost::type<R>* =0)
256256
{
257257
converter::return_from_python<R>converter;

0 commit comments

Comments
 (0)