[pygccxml-commit] SF.net SVN: pygccxml: [627] pyplusplus_dev
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2006-10-08 08:08:38
|
Revision: 627 http://svn.sourceforge.net/pygccxml/?rev=627&view=rev Author: roman_yakovenko Date: 2006-10-08 01:08:28 -0700 (Sun, 08 Oct 2006) Log Message: ----------- updating history Modified Paths: -------------- pyplusplus_dev/docs/history/history.rest pyplusplus_dev/pyplusplus/module_builder/builder.py Modified: pyplusplus_dev/docs/history/history.rest =================================================================== --- pyplusplus_dev/docs/history/history.rest 2006-10-08 07:03:05 UTC (rev 626) +++ pyplusplus_dev/docs/history/history.rest 2006-10-08 08:08:28 UTC (rev 627) @@ -36,18 +36,44 @@ Version 0.8.* ------------- -1. Performance improvments. In some cases you can get x10 performance boost. - Many thanks to Allen Bierbaum! +1. Interface changes: -2. Convinience API for registering exception translator was introduced. + * ``module_builder.module_builder_t.build_code_creator`` method: + argument ``create_castinig_constructor`` was removed and deprecation warning + was introduced. -3. `Py++`_ can generate code that uses ``BOOST_PYTHON_FUNCTION_OVERLOADS`` and +2. Performance improvments. In some cases you can get x10 performance boost. + Many thanks to Allen Bierbaum! This was achieved by saving and reusing results + of different `pygccxml`_ algorithms and type traits functions. + +3. Convinience API for registering exception translator was introduced. + +4. `Py++`_ can generate code that uses ``BOOST_PYTHON_FUNCTION_OVERLOADS`` and ``BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS`` macros. -4. Treatment to previously generated and no more in-use files was added. By +5. Treatment to previously generated and no more in-use files was added. By default `Py++`_ will delete these files, but of course you can redefine this behaviour. +6. Generated code changes: + + * ``default_call_policies`` should not be generated any more. + + * For functions that have ``return_value_policy< return_opaque_pointer >`` + call policy, `Py++`_ will automaticly generate ``BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID`` + macro. Thank you very much for Gottfried Ganssauge for this idea. + +7. Support for Boost.Python properties was introduced. `Py++`_ implements small + algorithm, that will automaticly discover properties, base on naming conventions. + +8. ``decl_wrappers.class_t`` has new function: ``is_wrapper_needed``. This + function explains why `Py++`_ creates class wrapper for exposed class. + +9. Python type traits module was introduce. Today it contains only single function: + + * ``is_immutable`` - returns ``True`` if exposed type is Python immutable type + + ------------- Version 0.8.1 ------------- Modified: pyplusplus_dev/pyplusplus/module_builder/builder.py =================================================================== --- pyplusplus_dev/pyplusplus/module_builder/builder.py 2006-10-08 07:03:05 UTC (rev 626) +++ pyplusplus_dev/pyplusplus/module_builder/builder.py 2006-10-08 08:08:28 UTC (rev 627) @@ -226,15 +226,15 @@ and returns documentation string @type doc_extractor: callable or None """ - msg = os.linesep.join([ - "create_casting_constructor argument is deprecated and should not be used." - , "If you still want Py++ to generate implicitly_convertible code, consider to use allow_implicit_conversion constructor property" - , "mb = module_builder_t(...)" - , "mb.constructors().allow_implicit_conversion = True"]) - warnings.warn(msg, DeprecationWarning, stacklevel=2) + if not create_casting_constructor: + msg = os.linesep.join([ + "create_casting_constructor argument is deprecated." + , "If want to disable boost::python::implicitly_convertible code generation, consider to use allow_implicit_conversion constructor property" + , ">>> mb = module_builder_t(...)" + , ">>> mb.constructors().allow_implicit_conversion = False"]) + warnings.warn(msg, DeprecationWarning, stacklevel=2) - if create_casting_constructor: - self.global_ns.constructors(allow_empty=True).allow_implicit_conversion = True + self.global_ns.constructors(allow_empty=True).allow_implicit_conversion = False creator = mcreator_package.creator_t( self.global_ns , module_name This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |