Thread: [pygccxml-commit] SF.net SVN: pygccxml: [1186] pyplusplus_dev/docs (Page 2)
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2007-12-03 22:42:19
|
Revision: 1186 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1186&view=rev Author: roman_yakovenko Date: 2007-12-03 14:42:18 -0800 (Mon, 03 Dec 2007) Log Message: ----------- doc updates Modified Paths: -------------- pyplusplus_dev/docs/comparisons/compare_to.rest pyplusplus_dev/docs/links.rest pyplusplus_dev/docs/peps/peps_index.rest pyplusplus_dev/docs/quotes.rest Added Paths: ----------- pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/ pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.odt pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.pdf pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.rest pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/www_configuration.py Modified: pyplusplus_dev/docs/comparisons/compare_to.rest =================================================================== --- pyplusplus_dev/docs/comparisons/compare_to.rest 2007-12-03 22:40:37 UTC (rev 1185) +++ pyplusplus_dev/docs/comparisons/compare_to.rest 2007-12-03 22:42:18 UTC (rev 1186) @@ -12,7 +12,7 @@ any more. Nevertheless, users request to compare `Py++`_ and `Pyste`_. You can read `here`_ the comparison. -.. _`here` : ./Pyste.html +.. _`here` : ./pyste.html ---------- SWIG & SIP Modified: pyplusplus_dev/docs/links.rest =================================================================== --- pyplusplus_dev/docs/links.rest 2007-12-03 22:40:37 UTC (rev 1185) +++ pyplusplus_dev/docs/links.rest 2007-12-03 22:42:18 UTC (rev 1186) @@ -96,6 +96,23 @@ .. _`Sq Plus` : http://wiki.squirrel-lang.org/default.aspx/SquirrelWiki/SqPlus.html .. _`Squirrel` : http://wiki.squirrel-lang.org/ +----------------------------- +Projects inspired by Py++ :-) +----------------------------- + +* `PyBindGen`_ - a new project for producing Python extensions + +.. _`PyBindGen` : https://launchpad.net/pybindgen + +----- +Blogs +----- + +* http://www.shocksolution.com/math_tools/boost.python/index.html - this site + contains few usefull Boost.Python examples and tutorials. + + + .. Local Variables: mode: indented-text Modified: pyplusplus_dev/docs/peps/peps_index.rest =================================================================== --- pyplusplus_dev/docs/peps/peps_index.rest 2007-12-03 22:40:37 UTC (rev 1185) +++ pyplusplus_dev/docs/peps/peps_index.rest 2007-12-03 22:42:18 UTC (rev 1186) @@ -53,22 +53,6 @@ .. _`DSL challenge` : ./dsl_challenge.html ---------------- -Unicode support ---------------- - -In version 0.8.1 `Py++`_ introduced nice feature: automatic extraction and -integration of documentation strings. I estimated wrong the influence of the -feature on the project. First user, who actually tried it, was Gottfried Ganssauge. -He asked me to add support for documentation string that contains Unicode characters. -These days I understand the influence. I should convert all strings in the whole -project to be Unicode strings, with encoding specified by the user. This is a -lot of work, but I think this is really important. So this is high priority "TODO". - -http://www.joelonsoftware.com/articles/Unicode.html - a nice article, which -explains what is Unicode, encoding and character sets. - - .. _`Py++` : ./../pyplusplus.html .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org Modified: pyplusplus_dev/docs/quotes.rest =================================================================== --- pyplusplus_dev/docs/quotes.rest 2007-12-03 22:40:37 UTC (rev 1185) +++ pyplusplus_dev/docs/quotes.rest 2007-12-03 22:42:18 UTC (rev 1186) @@ -46,6 +46,31 @@ Who is using Py++? ------------------ +* European Space Agency - `ReSP`_ project + + `ReSP`_ is an Open-Source hardware simulation platform targeted for + multiprocessor systems. ReSP will provide a framework for composing a + system by connecting components chosen from a given repository or + developped by the designer. ReSP will provide also also a framework for + fault injection campaigns for the analysis of the reliability level of the + system. + + `ReSP`_ engineers are developping the simulator core in Python language for exploiting + reflective capabilities (missing in a pure C++ environment) that can be + exploited for connecting components in a dynamic way and for enabling + non-intrusive fault injection activity. Components will be described in + SystemC and TLM libraries that are high level hardware description + languages based on C++. + + .. _`ReSP` : http://www.esa.int/TEC/Microelectronics/ + +* Allen Bierbaum, the author of `PyOpenSG`_ project, is using `Py++`_ to create + Python bindings for `OpenSG`_ + + `OpenSG`_ - is a portable scenegraph system to create realtime graphics + programs, e.g. for virtual reality applications. + + * Matthias Baas, the author of `Python Computer Graphics Kit`_ project, is using `Py++`_ to create Python bindings for `Maya C++ SDK`__. @@ -94,30 +119,14 @@ You can download the bindings from https://sourceforge.net/project/showfiles.php?group_id=118209 . -* European Space Agency - `ReSP`_ project - - `ReSP`_ is an Open-Source hardware simulation platform targeted for - multiprocessor systems. ReSP will provide a framework for composing a - system by connecting components chosen from a given repository or - developped by the designer. ReSP will provide also also a framework for - fault injection campaigns for the analysis of the reliability level of the - system. - - `ReSP`_ engineers are developping the simulator core in Python language for exploiting - reflective capabilities (missing in a pure C++ environment) that can be - exploited for connecting components in a dynamic way and for enabling - non-intrusive fault injection activity. Components will be described in - SystemC and TLM libraries that are high level hardware description - languages based on C++. - - .. _`ReSP` : http://www.esa.int/TEC/Microelectronics/ - .. _`Py++` : ./pyplusplus.html .. _`Python Computer Graphics Kit` : http://cgkit.sourceforge.net/ .. _`TnFOX`: http://www.nedprod.com/TnFOX/ -.. _`PyOpenSG`: https://realityforge.vrsource.org/view/PyOpenSG/WebHome .. _`Python-OGRE` : http://www.python-ogre.org .. _`OGRE` : http://www.ogre3d.org/index.php?option=com_content&task=view&id=19&Itemid=79 +.. _`PyOpenSG` : https://realityforge.vrsource.org/trac/pyopensg +.. _`OpenSG` : http://opensg.vrsource.org/trac + .. Local Variables: mode: indented-text Added: pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.odt =================================================================== (Binary files differ) Property changes on: pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.odt ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.pdf =================================================================== (Binary files differ) Property changes on: pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.pdf ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.rest (rev 0) +++ pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.rest 2007-12-03 22:42:18 UTC (rev 1186) @@ -0,0 +1,128 @@ +==================== +Easy extending guide +==================== + +.. contents:: Table of contents + +------------ +Introduction +------------ + +"... Boost.Python library is designed to wrap C++ interfaces non-intrusively, so that +you should not have to change the C++ code at all in order to wrap it." + +The previous statement is almost true. There are few use cases that the library +doesn't support. This guide will list some of them and will offer few possible +solutions. + +------------------- +Pointer to function +------------------- + +Boost.Python doesn't handle "pointer to function" functionality. You cannot pass +it as function argument or keep it, as a member variable. + +The simple work-around is to use `command design pattern`_ + +.. _`command design pattern` : http://en.wikipedia.org/wiki/Command_pattern + +------------------------------------ +Problematic function arguments types +------------------------------------ + +C arrays +-------- + +Boost.Python doesn't handle ``C arrays``, the only exception are ``char*`` and +``wchar_t*``. + +Consider next function: + +.. code-block:: C++ + + int write( int* data, size_t size ); + +The technical reasons are not the only one that prevent Boost.Python to expose such +functions, there is a mental one: such interface is not intuitive for Python +developers. They expect to pass single argument. For example, built-in ``file.write`` +method takes a single argument - sequence of characters. + +Work-around: + + 1. With small help from the developer, Py++ generates code which feets well into + Python developer mental model. Pure virtual member functions are a special + case, which Py++ doesn't handle right now. + + 2. Use STL containers, ``std::vector<...>`` and others. + + +Immutable by reference +---------------------- + +Python defines few fundamental types as "immutable". The value of an instance of +the immutable type could not be changed after construction. Try to avoid passing +the immutable types by reference. + +Immutable types: + + * ``char`` + * ``signed char`` + * ``unsigned char`` + * ``wchar_t`` + * ``short int`` + * ``short unsigned int`` + * ``bool`` + * ``int`` + * ``unsigned int`` + * ``long int`` + * ``long unsigned int`` + * ``long long int`` + * ``long long unsigned int`` + * ``float`` + * ``double`` + * ``long double`` + * ``complex double`` + * ``complex long double`` + * ``complex float`` + * ``std::string`` + * ``std::wstring`` + * C++ ``enum`` is mapped to Python ``int`` type + * smart pointers + +Work around: + + * Just don't pass them by reference :-) + + * With small help from the developer, Py++ generates code which work-arounds + this issue, but the resulting interface is ugly. + +``void*`` +--------- + +In most cases, ``void*`` is used when a developer has to deal with a memory block. +Python provides support for this functionality, but I still didn't find an easy and +intuitive way to expose it. There is no work-around for this issue. + +If you use ``void*`` to pass a reference to some object, than Boost.Python and Py++ +support such use case. + +---------------- +Memory managment +---------------- + +* Use ``std::auto_ptr`` to transfer ownership and responsibility for an object + destruction. + +* The only well supported smart pointer class is ``boost::shared_ptr``. I suggest + you to use it all the time, especially in cases where you want to create object + from Python and pass ownership to C++ code. You don't want the headache associated + with this task. + +.. + Local Variables: + mode: indented-text + indent-tabs-mode: nil + sentence-end-double-space: t + fill-column: 70 + End: + Added: pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/www_configuration.py =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/www_configuration.py (rev 0) +++ pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/www_configuration.py 2007-12-03 22:42:18 UTC (rev 1186) @@ -0,0 +1,2 @@ +name = 'easy extending guide' +names = {} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-24 11:47:09
|
Revision: 1206 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1206&view=rev Author: roman_yakovenko Date: 2007-12-24 03:47:09 -0800 (Mon, 24 Dec 2007) Log Message: ----------- *.rest files clean-up Modified Paths: -------------- index.rest pydsc_dev/docs/pydsc.rest pygccxml_dev/docs/design.rest pygccxml_dev/docs/download.rest pygccxml_dev/docs/example/example.rest pygccxml_dev/docs/history/history.rest pygccxml_dev/docs/links.rest pygccxml_dev/docs/pygccxml.rest pygccxml_dev/docs/query_interface.rest pygccxml_dev/docs/users.rest pyplusplus_dev/docs/comparisons/compare_to.rest pyplusplus_dev/docs/comparisons/pyste.rest pyplusplus_dev/docs/documentation/architecture.rest pyplusplus_dev/docs/documentation/best_practices.rest pyplusplus_dev/docs/documentation/containers.rest pyplusplus_dev/docs/documentation/doc_string.rest pyplusplus_dev/docs/documentation/functions/call_policies.rest pyplusplus_dev/docs/documentation/functions/default_args.rest pyplusplus_dev/docs/documentation/functions/functions.rest pyplusplus_dev/docs/documentation/functions/overloading.rest pyplusplus_dev/docs/documentation/functions/registration_order.rest pyplusplus_dev/docs/documentation/functions/transformation/inout.rest pyplusplus_dev/docs/documentation/functions/transformation/input.rest pyplusplus_dev/docs/documentation/functions/transformation/input_c_buffer.rest pyplusplus_dev/docs/documentation/functions/transformation/input_static_array.rest pyplusplus_dev/docs/documentation/functions/transformation/modify_type.rest pyplusplus_dev/docs/documentation/functions/transformation/name_mangling.rest pyplusplus_dev/docs/documentation/functions/transformation/output.rest pyplusplus_dev/docs/documentation/functions/transformation/output_static_array.rest pyplusplus_dev/docs/documentation/functions/transformation/terminology.rest pyplusplus_dev/docs/documentation/functions/transformation/transfer_ownership.rest pyplusplus_dev/docs/documentation/functions/transformation/transformation.rest pyplusplus_dev/docs/documentation/hints.rest pyplusplus_dev/docs/documentation/how_to.rest pyplusplus_dev/docs/documentation/index.rest pyplusplus_dev/docs/documentation/inserting_code.rest pyplusplus_dev/docs/documentation/multi_module_development.rest pyplusplus_dev/docs/documentation/properties.rest pyplusplus_dev/docs/documentation/tutorials/module_builder/module_builder.rest pyplusplus_dev/docs/documentation/tutorials/tutorials.rest pyplusplus_dev/docs/documentation/warnings.rest pyplusplus_dev/docs/download.rest pyplusplus_dev/docs/examples/boost/boost.rest pyplusplus_dev/docs/examples/easybmp/easybmp.rest pyplusplus_dev/docs/examples/examples.rest pyplusplus_dev/docs/history/history.rest pyplusplus_dev/docs/links.rest pyplusplus_dev/docs/osdc2006/presentation-talk.rest pyplusplus_dev/docs/peps/dsl_challenge.rest pyplusplus_dev/docs/peps/peps_index.rest pyplusplus_dev/docs/pyplusplus.rest pyplusplus_dev/docs/quotes.rest pyplusplus_dev/docs/troubleshooting_guide/automatic_conversion/automatic_conversion.rest pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.rest pyplusplus_dev/docs/troubleshooting_guide/exceptions/exceptions.rest pyplusplus_dev/docs/troubleshooting_guide/lessons_learned.rest pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/shared_ptr.rest pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/smart_ptrs.rest Modified: index.rest =================================================================== --- index.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ index.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -84,13 +84,3 @@ .. _`EasyBMP`: http://easybmp.sourceforge.net/ .. _`many others` : ./x.html - - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pydsc_dev/docs/pydsc.rest =================================================================== --- pydsc_dev/docs/pydsc.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pydsc_dev/docs/pydsc.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -68,12 +68,3 @@ .. _`pydsc`: ./pydsc.html .. _`PyEnchant`: http://pyenchant.sourceforge.net/ - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pygccxml_dev/docs/design.rest =================================================================== --- pygccxml_dev/docs/design.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pygccxml_dev/docs/design.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -288,10 +288,3 @@ .. _`parser package UML diagram` : ./parser_uml.png .. _`ReleaseForge` : http://releaseforge.sourceforge.net .. _`boost::type_traits` : http://www.boost.org/libs/type_traits/index.html -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pygccxml_dev/docs/download.rest =================================================================== --- pygccxml_dev/docs/download.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pygccxml_dev/docs/download.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -72,11 +72,3 @@ .. _`pygccxml` : ./../pygccxml/pygccxml.html .. _`GCC-XML`: http://www.gccxml.org - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pygccxml_dev/docs/example/example.rest =================================================================== --- pygccxml_dev/docs/example/example.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pygccxml_dev/docs/example/example.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -2,15 +2,17 @@ Example ======= -This directory contains C++ source file, GCC-XML generated file and Python script -that uses `pygccxml`_ to extract information from the source file. +The example consists from few files: +* `example.hpp`_ - C++ source code, this file was passed to GCC-XML +* `example.hpp.xml`_ - xml file, generated by GCC-XML from `example.hpp`_ one +* `example.py`_ - Python script, which uses `pygccxml`_ package to extract the + information about classes and functions +* `output.txt`_ - captured output from executing `example.py`_ file + +.. _`example.hpp`: ./example.hpp.html +.. _`example.hpp.xml`: ./example.hpp.xml.html +.. _`example.py`: ./example.py.html +.. _`output.txt`: ./output.txt.html + .. _`pygccxml`: ./../pygccxml.html - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pygccxml_dev/docs/history/history.rest =================================================================== --- pygccxml_dev/docs/history/history.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pygccxml_dev/docs/history/history.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -478,10 +478,3 @@ .. _`pygccxml`: ./../pygccxml.html .. _`SourceForge`: http://sourceforge.net/index.php .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pygccxml_dev/docs/links.rest =================================================================== --- pygccxml_dev/docs/links.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pygccxml_dev/docs/links.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -20,10 +20,3 @@ .. _`XTI An Extended Type Information Library` : http://lcgapp.cern.ch/project/architecture/XTI_accu.pdf .. _`pygccxml`: ./pygccxml.html -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pygccxml_dev/docs/pygccxml.rest =================================================================== --- pygccxml_dev/docs/pygccxml.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pygccxml_dev/docs/pygccxml.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -141,10 +141,3 @@ .. _`Boost Software License`: http://boost.org/more/license_info.html .. _`Ubuntu`: http://www.ubuntu.com/ .. _`boost::type_traits` : http://www.boost.org/libs/type_traits/index.html -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pygccxml_dev/docs/query_interface.rest =================================================================== --- pygccxml_dev/docs/query_interface.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pygccxml_dev/docs/query_interface.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -296,10 +296,3 @@ .. _`parser package UML diagram` : ./parser_uml.png .. _`ReleaseForge` : http://releaseforge.sourceforge.net .. _`boost::type_traits` : http://www.boost.org/libs/type_traits/index.html -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pygccxml_dev/docs/users.rest =================================================================== --- pygccxml_dev/docs/users.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pygccxml_dev/docs/users.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -8,11 +8,3 @@ that binds a C/C++ library for Python. .. _`PyBindGen` : https://launchpad.net/pybindgen - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/comparisons/compare_to.rest =================================================================== --- pyplusplus_dev/docs/comparisons/compare_to.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/comparisons/compare_to.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -65,13 +65,3 @@ .. _`Py++` : ./../pyplusplus.html .. _`Pyste`: http://www.boost.org/libs/python/doc/index.html - - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/comparisons/pyste.rest =================================================================== --- pyplusplus_dev/docs/comparisons/pyste.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/comparisons/pyste.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -438,11 +438,3 @@ .. _`ReleaseForge` : http://releaseforge.sourceforge.net .. _`boost.type_traits` : http://www.boost.org/libs/type_traits/index.html .. _`elementtree` : http://effbot.org/ -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/documentation/architecture.rest =================================================================== --- pyplusplus_dev/docs/documentation/architecture.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/architecture.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -333,11 +333,3 @@ .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/best_practices.rest =================================================================== --- pyplusplus_dev/docs/documentation/best_practices.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/best_practices.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -174,11 +174,3 @@ .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/containers.rest =================================================================== --- pyplusplus_dev/docs/documentation/containers.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/containers.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -197,11 +197,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/documentation/doc_string.rest =================================================================== --- pyplusplus_dev/docs/documentation/doc_string.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/doc_string.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -66,10 +66,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/call_policies.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/call_policies.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/call_policies.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -553,10 +553,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/default_args.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/default_args.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/default_args.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -147,10 +147,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/functions.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/functions.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/functions.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -17,11 +17,3 @@ .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/overloading.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/overloading.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/overloading.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -171,11 +171,3 @@ .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/registration_order.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/registration_order.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/registration_order.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -148,11 +148,3 @@ .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/transformation/inout.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/inout.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/transformation/inout.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -66,10 +66,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/transformation/input.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/input.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/transformation/input.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -59,10 +59,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/transformation/input_c_buffer.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/input_c_buffer.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/transformation/input_c_buffer.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -73,10 +73,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/transformation/input_static_array.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/input_static_array.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/transformation/input_static_array.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -76,10 +76,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/transformation/modify_type.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/modify_type.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/transformation/modify_type.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -70,10 +70,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/transformation/name_mangling.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/name_mangling.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/transformation/name_mangling.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -84,10 +84,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/transformation/output.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/output.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/transformation/output.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -64,10 +64,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/transformation/output_static_array.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/output_static_array.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/transformation/output_static_array.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -76,10 +76,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/transformation/terminology.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/terminology.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/transformation/terminology.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -36,10 +36,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/transformation/transfer_ownership.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/transfer_ownership.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/transformation/transfer_ownership.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -69,10 +69,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/functions/transformation/transformation.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/transformation.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/functions/transformation/transformation.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -124,10 +124,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/hints.rest =================================================================== --- pyplusplus_dev/docs/documentation/hints.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/hints.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -62,10 +62,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/how_to.rest =================================================================== --- pyplusplus_dev/docs/documentation/how_to.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/how_to.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -380,11 +380,3 @@ .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/index.rest =================================================================== --- pyplusplus_dev/docs/documentation/index.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/index.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -100,10 +100,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/inserting_code.rest =================================================================== --- pyplusplus_dev/docs/documentation/inserting_code.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/inserting_code.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -242,10 +242,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/documentation/multi_module_development.rest =================================================================== --- pyplusplus_dev/docs/documentation/multi_module_development.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/multi_module_development.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -139,11 +139,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/documentation/properties.rest =================================================================== --- pyplusplus_dev/docs/documentation/properties.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/properties.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -164,12 +164,3 @@ .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/documentation/tutorials/module_builder/module_builder.rest =================================================================== --- pyplusplus_dev/docs/documentation/tutorials/module_builder/module_builder.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/tutorials/module_builder/module_builder.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -168,11 +168,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/documentation/tutorials/tutorials.rest =================================================================== --- pyplusplus_dev/docs/documentation/tutorials/tutorials.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/tutorials/tutorials.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -61,11 +61,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/documentation/warnings.rest =================================================================== --- pyplusplus_dev/docs/documentation/warnings.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/documentation/warnings.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -213,10 +213,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/download.rest =================================================================== --- pyplusplus_dev/docs/download.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/download.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -63,10 +63,3 @@ .. _`Py++` : ./pyplusplus.html .. _`pygccxml` : ./../pygccxml/pygccxml.html -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/examples/boost/boost.rest =================================================================== --- pyplusplus_dev/docs/examples/boost/boost.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/examples/boost/boost.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -263,11 +263,3 @@ .. _`GCC-XML`: http://www.gccxml.org .. _`Py++` : ./../../pyplusplus.html -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/examples/easybmp/easybmp.rest =================================================================== --- pyplusplus_dev/docs/examples/easybmp/easybmp.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/examples/easybmp/easybmp.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -78,11 +78,3 @@ .. _`EasyBMP`: http://easybmp.sourceforge.net/ .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/examples/examples.rest =================================================================== --- pyplusplus_dev/docs/examples/examples.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/examples/examples.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -54,11 +54,3 @@ .. _`Py++` : ./../pyplusplus.html .. _`EasyBMP`: http://easybmp.sourceforge.net/ -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/history/history.rest =================================================================== --- pyplusplus_dev/docs/history/history.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/history/history.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -392,11 +392,3 @@ .. _`pygccxml` : http://www.language-binding.net/pygccxml/pygccxml.html .. _`SourceForge`: http://sourceforge.net/index.php -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/links.rest =================================================================== --- pyplusplus_dev/docs/links.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/links.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -118,11 +118,3 @@ http://www.scons.org/wiki/GCCXMLBuilder - Joseph Lisee shows how to integrate Py++ scripts with Scons. -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/osdc2006/presentation-talk.rest =================================================================== --- pyplusplus_dev/docs/osdc2006/presentation-talk.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/osdc2006/presentation-talk.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -395,10 +395,3 @@ multi-language development plus code generation are very powerfull tools. -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: \ No newline at end of file Modified: pyplusplus_dev/docs/peps/dsl_challenge.rest =================================================================== --- pyplusplus_dev/docs/peps/dsl_challenge.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/peps/dsl_challenge.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -211,11 +211,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/peps/peps_index.rest =================================================================== --- pyplusplus_dev/docs/peps/peps_index.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/peps/peps_index.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -58,11 +58,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/pyplusplus.rest =================================================================== --- pyplusplus_dev/docs/pyplusplus.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/pyplusplus.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -143,12 +143,14 @@ * multiple files + * fixed set of multiple files + * multiple files, where single class code is split to few files * You have full control over generated code. Your code could be inserted almost anywhere. -* Your license is written at the top of every file +* Your license is written at the top of every generated file * `Py++`_ will check the "completeness" of the bindings. It will check for you that the exposed declarations don't have references to unexposed ones. @@ -173,12 +175,3 @@ .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org .. _`Boost Software License`: http://boost.org/more/license_info.html - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/quotes.rest =================================================================== --- pyplusplus_dev/docs/quotes.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/quotes.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -127,10 +127,3 @@ .. _`PyOpenSG` : https://realityforge.vrsource.org/trac/pyopensg .. _`OpenSG` : http://opensg.vrsource.org/trac -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: Modified: pyplusplus_dev/docs/troubleshooting_guide/automatic_conversion/automatic_conversion.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/automatic_conversion/automatic_conversion.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/troubleshooting_guide/automatic_conversion/automatic_conversion.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -62,11 +62,3 @@ .. _`pygccxml` : http://www.language-binding.net/pygccxml/pygccxml.html .. _`SourceForge`: http://sourceforge.net/index.php -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -1,128 +1,120 @@ -==================== -Easy extending guide -==================== - -.. contents:: Table of contents - ------------- -Introduction ------------- - -"... Boost.Python library is designed to wrap C++ interfaces non-intrusively, so that -you should not have to change the C++ code at all in order to wrap it." - -The previous statement is almost true. There are few use cases that the library -doesn't support. This guide will list some of them and will offer few possible -solutions. - -------------------- -Pointer to function -------------------- - -Boost.Python doesn't handle "pointer to function" functionality. You cannot pass -it as function argument or keep it, as a member variable. - -The simple work-around is to use `command design pattern`_ - -.. _`command design pattern` : http://en.wikipedia.org/wiki/Command_pattern - ------------------------------------- -Problematic function arguments types ------------------------------------- - -C arrays --------- - -Boost.Python doesn't handle ``C arrays``, the only exception are ``char*`` and -``wchar_t*``. - -Consider next function: - -.. code-block:: C++ - - int write( int* data, size_t size ); - -The technical reasons are not the only one that prevent Boost.Python to expose such -functions, there is a mental one: such interface is not intuitive for Python -developers. They expect to pass single argument. For example, built-in ``file.write`` -method takes a single argument - sequence of characters. - -Work-around: - - 1. With small help from the developer, Py++ generates code which feets well into - Python developer mental model. Pure virtual member functions are a special - case, which Py++ doesn't handle right now. - - 2. Use STL containers, ``std::vector<...>`` and others. - - -Immutable by reference ----------------------- - -Python defines few fundamental types as "immutable". The value of an instance of -the immutable type could not be changed after construction. Try to avoid passing -the immutable types by reference. - -Immutable types: - - * ``char`` - * ``signed char`` - * ``unsigned char`` - * ``wchar_t`` - * ``short int`` - * ``short unsigned int`` - * ``bool`` - * ``int`` - * ``unsigned int`` - * ``long int`` - * ``long unsigned int`` - * ``long long int`` - * ``long long unsigned int`` - * ``float`` - * ``double`` - * ``long double`` - * ``complex double`` - * ``complex long double`` - * ``complex float`` - * ``std::string`` - * ``std::wstring`` - * C++ ``enum`` is mapped to Python ``int`` type - * smart pointers - -Work around: - - * Just don't pass them by reference :-) - - * With small help from the developer, Py++ generates code which work-arounds - this issue, but the resulting interface is ugly. - -``void*`` ---------- - -In most cases, ``void*`` is used when a developer has to deal with a memory block. -Python provides support for this functionality, but I still didn't find an easy and -intuitive way to expose it. There is no work-around for this issue. - -If you use ``void*`` to pass a reference to some object, than Boost.Python and Py++ -support such use case. - ----------------- -Memory managment ----------------- - -* Use ``std::auto_ptr`` to transfer ownership and responsibility for an object - destruction. - -* The only well supported smart pointer class is ``boost::shared_ptr``. I suggest - you to use it all the time, especially in cases where you want to create object - from Python and pass ownership to C++ code. You don't want the headache associated - with this task. - -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - +==================== +Easy extending guide +==================== + +.. contents:: Table of contents + +------------ +Introduction +------------ + +"... Boost.Python library is designed to wrap C++ interfaces non-intrusively, so that +you should not have to change the C++ code at all in order to wrap it." + +The previous statement is almost true. There are few use cases that the library +doesn't support. This guide will list some of them and will offer few possible +solutions. + +------------------- +Pointer to function +------------------- + +Boost.Python doesn't handle "pointer to function" functionality. You cannot pass +it as function argument or keep it, as a member variable. + +The simple work-around is to use `command design pattern`_ + +.. _`command design pattern` : http://en.wikipedia.org/wiki/Command_pattern + +------------------------------------ +Problematic function arguments types +------------------------------------ + +C arrays +-------- + +Boost.Python doesn't handle ``C arrays``, the only exception are ``char*`` and +``wchar_t*``. + +Consider next function: + +.. code-block:: C++ + + int write( int* data, size_t size ); + +The technical reasons are not the only one that prevent Boost.Python to expose such +functions, there is a mental one: such interface is not intuitive for Python +developers. They expect to pass single argument. For example, built-in ``file.write`` +method takes a single argument - sequence of characters. + +Work-around: + + 1. With small help from the developer, Py++ generates code which feets well into + Python developer mental model. Pure virtual member functions are a special + case, which Py++ doesn't handle right now. + + 2. Use STL containers, ``std::vector<...>`` and others. + + +Immutable by reference +---------------------- + +Python defines few fundamental types as "immutable". The value of an instance of +the immutable type could not be changed after construction. Try to avoid passing +the immutable types by reference. + +Immutable types: + + * ``char`` + * ``signed char`` + * ``unsigned char`` + * ``wchar_t`` + * ``short int`` + * ``short unsigned int`` + * ``bool`` + * ``int`` + * ``unsigned int`` + * ``long int`` + * ``long unsigned int`` + * ``long long int`` + * ``long long unsigned int`` + * ``float`` + * ``double`` + * ``long double`` + * ``complex double`` + * ``complex long double`` + * ``complex float`` + * ``std::string`` + * ``std::wstring`` + * C++ ``enum`` is mapped to Python ``int`` type + * smart pointers + +Work around: + + * Just don't pass them by reference :-) + + * With small help from the developer, Py++ generates code which work-arounds + this issue, but the resulting interface is ugly. + +``void*`` +--------- + +In most cases, ``void*`` is used when a developer has to deal with a memory block. +Python provides support for this functionality, but I still didn't find an easy and +intuitive way to expose it. There is no work-around for this issue. + +If you use ``void*`` to pass a reference to some object, than Boost.Python and Py++ +support such use case. + +---------------- +Memory managment +---------------- + +* Use ``std::auto_ptr`` to transfer ownership and responsibility for an object + destruction. + +* The only well supported smart pointer class is ``boost::shared_ptr``. I suggest + you to use it all the time, especially in cases where you want to create object + from Python and pass ownership to C++ code. You don't want the headache associated + with this task. + Modified: pyplusplus_dev/docs/troubleshooting_guide/exceptions/exceptions.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/exceptions/exceptions.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/troubleshooting_guide/exceptions/exceptions.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -72,11 +72,3 @@ .. _`pygccxml` : http://www.language-binding.net/pygccxml/pygccxml.html .. _`SourceForge`: http://sourceforge.net/index.php -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/troubleshooting_guide/lessons_learned.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/lessons_learned.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/troubleshooting_guide/lessons_learned.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -42,11 +42,3 @@ .. _`pygccxml` : http://www.language-binding.net/pygccxml/pygccxml.html .. _`SourceForge`: http://sourceforge.net/index.php -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/shared_ptr.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/shared_ptr.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/shared_ptr.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -95,11 +95,3 @@ .. _`pygccxml` : http://www.language-binding.net/pygccxml/pygccxml.html .. _`SourceForge`: http://sourceforge.net/index.php -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - Modified: pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/smart_ptrs.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/smart_ptrs.rest 2007-12-21 21:29:10 UTC (rev 1205) +++ pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/smart_ptrs.rest 2007-12-24 11:47:09 UTC (rev 1206) @@ -45,11 +45,3 @@ .. _`pygccxml` : http://www.language-binding.net/pygccxml/pygccxml.html .. _`SourceForge`: http://sourceforge.net/index.php -.. - Local Variables: - mode: indented-text - indent-tabs-mode: nil - sentence-end-double-space: t - fill-column: 70 - End: - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2007-12-30 08:25:26
|
Revision: 1213 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1213&view=rev Author: roman_yakovenko Date: 2007-12-30 00:25:29 -0800 (Sun, 30 Dec 2007) Log Message: ----------- docs update Modified Paths: -------------- pyplusplus_dev/docs/documentation/warnings.rest pyplusplus_dev/docs/history/history.rest Removed Paths: ------------- pyplusplus_dev/docs/documentation/feedback.html pyplusplus_dev/docs/to_pyste_comparison.html pyplusplus_dev/docs/todo.txt Deleted: pyplusplus_dev/docs/documentation/feedback.html =================================================================== --- pyplusplus_dev/docs/documentation/feedback.html 2007-12-30 08:17:57 UTC (rev 1212) +++ pyplusplus_dev/docs/documentation/feedback.html 2007-12-30 08:25:29 UTC (rev 1213) @@ -1,9 +0,0 @@ -<html> -<head> -<meta http-equiv="refresh" content="0; URL=./warnings.html"> -</head> -<body> -Automatic redirection failed, please go to -<a href="./warnings.html">./warnings.html</a> -</body> -</html> Modified: pyplusplus_dev/docs/documentation/warnings.rest =================================================================== --- pyplusplus_dev/docs/documentation/warnings.rest 2007-12-30 08:17:57 UTC (rev 1212) +++ pyplusplus_dev/docs/documentation/warnings.rest 2007-12-30 08:25:29 UTC (rev 1213) @@ -128,8 +128,10 @@ .. code-block:: Python messages.disable( messages.W1020 ) + + #you also can disable warnings reporting at all: + messages.disable( *messages.all_warning_msgs ) - Logging API ----------- Modified: pyplusplus_dev/docs/history/history.rest =================================================================== --- pyplusplus_dev/docs/history/history.rest 2007-12-30 08:17:57 UTC (rev 1212) +++ pyplusplus_dev/docs/history/history.rest 2007-12-30 08:25:29 UTC (rev 1213) @@ -43,6 +43,8 @@ * Py++ will not expose free operators, if at least one of the classes, it works on, is not exposed. Many thanks to Meghana Haridev for reporting the bug. + +2. Added ability to completely disable warnings reporting. ------------- Version 0.9.0 Deleted: pyplusplus_dev/docs/to_pyste_comparison.html =================================================================== --- pyplusplus_dev/docs/to_pyste_comparison.html 2007-12-30 08:17:57 UTC (rev 1212) +++ pyplusplus_dev/docs/to_pyste_comparison.html 2007-12-30 08:25:29 UTC (rev 1213) @@ -1,9 +0,0 @@ -<html> -<head> -<meta http-equiv="refresh" content="0; URL=./comparisons/pyste.html"> -</head> -<body> -Automatic redirection failed, please go to -<a href="./comparisons/pyste.html">./comparisons/pyste.html</a> -</body> -</html> Deleted: pyplusplus_dev/docs/todo.txt =================================================================== --- pyplusplus_dev/docs/todo.txt 2007-12-30 08:17:57 UTC (rev 1212) +++ pyplusplus_dev/docs/todo.txt 2007-12-30 08:25:29 UTC (rev 1213) @@ -1,4 +0,0 @@ -Todo ----- - -- Provide a way to customize log messages (i.e. set verbosity level) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |