mirror of
https://github.com/boostorg/python.git
synced 2026-01-26 06:42:27 +00:00
More fixes
[SVN r13182]
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
# include <boost/python/object/class.hpp>
|
||||
# include <boost/python/converter/type_id.hpp>
|
||||
# include <boost/python/object/inheritance.hpp>
|
||||
# include <boost/python/object/find_instance.hpp>
|
||||
# include <boost/ref.hpp>
|
||||
# include <boost/type.hpp>
|
||||
# include <boost/mpl/select_type.hpp>
|
||||
@@ -153,67 +154,88 @@ struct pointer_holder_back_reference : instance_holder
|
||||
|
||||
// Forward construction to the held object
|
||||
pointer_holder_back_reference(PyObject* p)
|
||||
: m_p(new Value(p)) {}
|
||||
: m_p(new BackReferenceType(p)) {
|
||||
(void)instance_finder<BackReferenceType>::registration;
|
||||
}
|
||||
|
||||
|
||||
|
||||
template <class A1>
|
||||
pointer_holder_back_reference(PyObject* p, A1 a1)
|
||||
: m_p(new Value(p
|
||||
: m_p(new BackReferenceType(p
|
||||
, (typename unwrap_reference<A1>::type&)(a1)
|
||||
))
|
||||
{}
|
||||
{
|
||||
(void)instance_finder<BackReferenceType>::registration;
|
||||
}
|
||||
|
||||
|
||||
template <class A1, class A2>
|
||||
pointer_holder_back_reference(PyObject* p, A1 a1, A2 a2)
|
||||
: m_p(new Value(p
|
||||
: m_p(new BackReferenceType(p
|
||||
, (typename unwrap_reference<A1>::type&)(a1)
|
||||
, (typename unwrap_reference<A2>::type&)(a2)
|
||||
))
|
||||
{}
|
||||
{
|
||||
(void)instance_finder<BackReferenceType>::registration;
|
||||
}
|
||||
|
||||
|
||||
template <class A1, class A2, class A3>
|
||||
pointer_holder_back_reference(PyObject* p, A1 a1, A2 a2, A3 a3)
|
||||
: m_p(new Value(p
|
||||
: m_p(new BackReferenceType(p
|
||||
, (typename unwrap_reference<A1>::type&)(a1)
|
||||
, (typename unwrap_reference<A2>::type&)(a2)
|
||||
, (typename unwrap_reference<A3>::type&)(a3)
|
||||
))
|
||||
{}
|
||||
{
|
||||
(void)instance_finder<BackReferenceType>::registration;
|
||||
}
|
||||
|
||||
|
||||
template <class A1, class A2, class A3, class A4>
|
||||
pointer_holder_back_reference(PyObject* p, A1 a1, A2 a2, A3 a3, A4 a4)
|
||||
: m_p(new Value(p
|
||||
: m_p(new BackReferenceType(p
|
||||
, (typename unwrap_reference<A1>::type&)(a1)
|
||||
, (typename unwrap_reference<A2>::type&)(a2)
|
||||
, (typename unwrap_reference<A3>::type&)(a3)
|
||||
, (typename unwrap_reference<A4>::type&)(a4)
|
||||
))
|
||||
{}
|
||||
{
|
||||
(void)instance_finder<BackReferenceType>::registration;
|
||||
}
|
||||
|
||||
|
||||
template <class A1, class A2, class A3, class A4, class A5>
|
||||
pointer_holder_back_reference(PyObject* p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
|
||||
: m_p(new Value(p
|
||||
: m_p(new BackReferenceType(p
|
||||
, (typename unwrap_reference<A1>::type&)(a1)
|
||||
, (typename unwrap_reference<A2>::type&)(a2)
|
||||
, (typename unwrap_reference<A3>::type&)(a3)
|
||||
, (typename unwrap_reference<A4>::type&)(a4)
|
||||
, (typename unwrap_reference<A5>::type&)(a5)
|
||||
)) {}
|
||||
)) {
|
||||
(void)instance_finder<BackReferenceType>::registration;
|
||||
}
|
||||
|
||||
|
||||
template <class A1, class A2, class A3, class A4, class A5, class A6>
|
||||
pointer_holder_back_reference(PyObject* p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
|
||||
: m_p(new Value(p
|
||||
: m_p(new BackReferenceType(p
|
||||
, (typename unwrap_reference<A1>::type&)(a1)
|
||||
, (typename unwrap_reference<A2>::type&)(a2)
|
||||
, (typename unwrap_reference<A3>::type&)(a3)
|
||||
, (typename unwrap_reference<A4>::type&)(a4)
|
||||
, (typename unwrap_reference<A5>::type&)(a5)
|
||||
, (typename unwrap_reference<A6>::type&)(a6)
|
||||
)) {}
|
||||
)) {
|
||||
(void)instance_finder<BackReferenceType>::registration;
|
||||
}
|
||||
|
||||
|
||||
template <class A1, class A2, class A3, class A4, class A5, class A6, class A7>
|
||||
pointer_holder_back_reference(PyObject* p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
|
||||
: m_p(new Value(p
|
||||
: m_p(new BackReferenceType(p
|
||||
, (typename unwrap_reference<A1>::type&)(a1)
|
||||
, (typename unwrap_reference<A2>::type&)(a2)
|
||||
, (typename unwrap_reference<A3>::type&)(a3)
|
||||
@@ -222,11 +244,14 @@ struct pointer_holder_back_reference : instance_holder
|
||||
, (typename unwrap_reference<A6>::type&)(a6)
|
||||
, (typename unwrap_reference<A7>::type&)(a7)
|
||||
))
|
||||
{}
|
||||
{
|
||||
(void)instance_finder<BackReferenceType>::registration;
|
||||
}
|
||||
|
||||
|
||||
template <class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
|
||||
pointer_holder_back_reference(PyObject* p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
|
||||
: m_p(new Value(p
|
||||
: m_p(new BackReferenceType(p
|
||||
, (typename unwrap_reference<A1>::type&)(a1)
|
||||
, (typename unwrap_reference<A2>::type&)(a2)
|
||||
, (typename unwrap_reference<A3>::type&)(a3)
|
||||
@@ -236,11 +261,14 @@ struct pointer_holder_back_reference : instance_holder
|
||||
, (typename unwrap_reference<A7>::type&)(a7)
|
||||
, (typename unwrap_reference<A8>::type&)(a8)
|
||||
))
|
||||
{}
|
||||
{
|
||||
(void)instance_finder<BackReferenceType>::registration;
|
||||
}
|
||||
|
||||
|
||||
template <class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
|
||||
pointer_holder_back_reference(PyObject* p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
|
||||
: m_p(new Value(p
|
||||
: m_p(new BackReferenceType(p
|
||||
, (typename unwrap_reference<A1>::type&)(a1)
|
||||
, (typename unwrap_reference<A2>::type&)(a2)
|
||||
, (typename unwrap_reference<A3>::type&)(a3)
|
||||
@@ -251,11 +279,14 @@ struct pointer_holder_back_reference : instance_holder
|
||||
, (typename unwrap_reference<A8>::type&)(a8)
|
||||
, (typename unwrap_reference<A9>::type&)(a9)
|
||||
))
|
||||
{}
|
||||
{
|
||||
(void)instance_finder<BackReferenceType>::registration;
|
||||
}
|
||||
|
||||
|
||||
template <class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10>
|
||||
pointer_holder_back_reference(PyObject* p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10)
|
||||
: m_p(new Value(p
|
||||
: m_p(new BackReferenceType(p
|
||||
, (typename unwrap_reference<A1>::type&)(a1)
|
||||
, (typename unwrap_reference<A2>::type&)(a2)
|
||||
, (typename unwrap_reference<A3>::type&)(a3)
|
||||
@@ -267,7 +298,10 @@ struct pointer_holder_back_reference : instance_holder
|
||||
, (typename unwrap_reference<A9>::type&)(a9)
|
||||
, (typename unwrap_reference<A10>::type&)(a10)
|
||||
))
|
||||
{}
|
||||
{
|
||||
(void)instance_finder<BackReferenceType>::registration;
|
||||
}
|
||||
|
||||
|
||||
private: // required holder implementation
|
||||
void* holds(converter::undecorated_type_id_t);
|
||||
|
||||
Reference in New Issue
Block a user