Revision: 1071
http://svn.sourceforge.net/pygccxml/?rev=1071&view=rev
Author: roman_yakovenko
Date: 2007-06-21 13:05:23 -0700 (Thu, 21 Jun 2007)
Log Message:
-----------
adding support for member variable pointers
Modified Paths:
--------------
pyplusplus_dev/pyplusplus/code_creators/member_variable.py
Modified: pyplusplus_dev/pyplusplus/code_creators/member_variable.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/member_variable.py 2007-06-21 20:04:05 UTC (rev 1070)
+++ pyplusplus_dev/pyplusplus/code_creators/member_variable.py 2007-06-21 20:05:23 UTC (rev 1071)
@@ -61,7 +61,9 @@
answer.append('"%s"' % self.alias)
answer.append( self.PARAM_SEPARATOR )
- call_pol = call_policies.return_value_policy( call_policies.reference_existing_object ).create( self )
+ #according to David Abrahams:
+ #http://mail.python.org/pipermail/c++-sig/2003-January/003276.html
+ call_pol = call_policies.return_internal_reference().create( self )
make_function = algorithm.create_identifier( self, '::boost::python::make_function' )
answer.append( '%(mk_func)s( (%(getter_type)s)(&%(wfname)s), %(call_pol)s )'
@@ -71,11 +73,11 @@
, 'call_pol' : call_pol } )
#don't generate setter method, right now I don't know how to do it.
- if False and self.wrapper.has_setter:
+ if self.wrapper.has_setter:
answer.append( self.PARAM_SEPARATOR )
call_pol = ''
if not self.declaration.type_qualifiers.has_static:
- call_pol = ", " + call_policies.with_custodian_and_ward_postcall( 0, 1 ).crate(self)
+ call_pol = ", " + call_policies.with_custodian_and_ward_postcall( 1, 2 ).create(self)
answer.append( '%(mk_func)s( (%(setter_type)s)(&%(wfname)s)%(call_pol)s )'
% { 'mk_func' : make_function
, 'setter_type' : self.wrapper.setter_type
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|