Thread: [pygccxml-commit] SF.net SVN: pygccxml: [552] pyplusplus_dev/pyplusplus/decl_wrappers/ call_policie
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2006-09-18 20:00:55
|
Revision: 552 http://svn.sourceforge.net/pygccxml/?rev=552&view=rev Author: roman_yakovenko Date: 2006-09-18 13:00:50 -0700 (Mon, 18 Sep 2006) Log Message: ----------- adding small convinience function Modified Paths: -------------- pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py Modified: pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py =================================================================== --- pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py 2006-09-18 19:57:05 UTC (rev 551) +++ pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py 2006-09-18 20:00:50 UTC (rev 552) @@ -217,3 +217,9 @@ def return_value_policy( result_converter_generator, base=None): return return_value_policy_t( result_converter_generator, base ) + + +def is_return_opaque_pointer_policy( policy ): + """returns True is policy represents return_value_policy<return_opaque_pointer>, False otherwise""" + return isinstance( policy, return_value_policy_t ) \ + and policy.result_converter_generator == return_opaque_pointer This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2006-10-16 21:25:03
|
Revision: 665 http://svn.sourceforge.net/pygccxml/?rev=665&view=rev Author: roman_yakovenko Date: 2006-10-16 14:24:52 -0700 (Mon, 16 Oct 2006) Log Message: ----------- preventing default call policies from being generated Modified Paths: -------------- pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py Modified: pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py =================================================================== --- pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py 2006-10-16 18:47:03 UTC (rev 664) +++ pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py 2006-10-16 21:24:52 UTC (rev 665) @@ -87,9 +87,8 @@ def _create_impl( self, function_creator ): args = self._get_args(function_creator) - base_policy_code = self._base.create( function_creator, CREATION_POLICY.AS_TEMPLATE_ARGUMENT ) - if base_policy_code: - args.append( base_policy_code ) + if not self._base.is_default(): + args.append( self._base.create( function_creator, CREATION_POLICY.AS_TEMPLATE_ARGUMENT ) ) name = algorithm.create_identifier( function_creator, self._get_name(function_creator) ) return declarations.templates.join( name, args ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-02-16 09:36:26
|
Revision: 906 http://svn.sourceforge.net/pygccxml/?rev=906&view=rev Author: roman_yakovenko Date: 2007-02-16 01:36:27 -0800 (Fri, 16 Feb 2007) Log Message: ----------- adding convinience function Modified Paths: -------------- pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py Modified: pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py =================================================================== --- pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py 2007-02-16 08:05:54 UTC (rev 905) +++ pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py 2007-02-16 09:36:27 UTC (rev 906) @@ -24,6 +24,9 @@ def __init__(self): object.__init__(self) + def create_type(self): + return self.create( None, CREATION_POLICY.AS_TEMPLATE_ARGUMENT ) + def create(self, function_creator, creation_policy=CREATION_POLICY.AS_INSTANCE): """Creates code from the call policies class instance. @param function_creator: parent code creator This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-06-21 20:04:08
|
Revision: 1070 http://svn.sourceforge.net/pygccxml/?rev=1070&view=rev Author: roman_yakovenko Date: 2007-06-21 13:04:05 -0700 (Thu, 21 Jun 2007) Log Message: ----------- don't generate template default argument Modified Paths: -------------- pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py Modified: pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py =================================================================== --- pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py 2007-06-21 19:06:55 UTC (rev 1069) +++ pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py 2007-06-21 20:04:05 UTC (rev 1070) @@ -160,7 +160,10 @@ return '::boost::python::return_internal_reference' def _get_args(self, function_creator): - return [ str( self.position ) ] + if self.position == 1: + return [] #don't generate default template arguments + else: + return [ str( self.position ) ] def return_internal_reference( arg_pos=1, base=None): """create boost::python::return_internal_reference call policies code generator""" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |