Better name for container back-reference attribute
Mangle name with swig so as not to clash with any attribute names a user might use. Remove Doxygen style comments - we don't use Doxygen in SWIG.
This commit is contained in:
parent
30f16b9138
commit
62417708fd
1 changed files with 7 additions and 6 deletions
|
|
@ -44,7 +44,7 @@
|
||||||
%fragment("reference_container_owner", "header", fragment="container_owner_attribute_init") {
|
%fragment("reference_container_owner", "header", fragment="container_owner_attribute_init") {
|
||||||
namespace swig {
|
namespace swig {
|
||||||
PyObject* container_owner_attribute() {
|
PyObject* container_owner_attribute() {
|
||||||
static PyObject* attr = SWIG_Python_str_FromChar("__owner");
|
static PyObject* attr = SWIG_Python_str_FromChar("__swig_container");
|
||||||
return attr;
|
return attr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -52,18 +52,19 @@ namespace swig {
|
||||||
struct container_owner {
|
struct container_owner {
|
||||||
// By default, do not add the back-reference (for value types)
|
// By default, do not add the back-reference (for value types)
|
||||||
// Specialization below will check the reference for pointer types.
|
// Specialization below will check the reference for pointer types.
|
||||||
static bool reference(PyObject* child, PyObject* owner)
|
static bool reference(PyObject* child, PyObject* owner) {
|
||||||
{ return false; }
|
return false;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
struct container_owner<swig::pointer_category> {
|
struct container_owner<swig::pointer_category> {
|
||||||
/**
|
/*
|
||||||
* Call to add a back-reference to the owning object when returning a
|
* Call to add a back-reference to the owning object when returning a
|
||||||
* reference from a container. Will only set the reference if <code>child</code>
|
* reference from a container. Will only set the reference if child
|
||||||
* is a SWIG wrapper object that does not own the pointer.
|
* is a SWIG wrapper object that does not own the pointer.
|
||||||
*
|
*
|
||||||
* @return if the reference was set or not
|
* returns whether the reference was set or not
|
||||||
*/
|
*/
|
||||||
static bool reference(PyObject* child, PyObject* owner) {
|
static bool reference(PyObject* child, PyObject* owner) {
|
||||||
SwigPyObject* swigThis = SWIG_Python_GetSwigThis(child);
|
SwigPyObject* swigThis = SWIG_Python_GetSwigThis(child);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue