[pygccxml-commit] SF.net SVN: pygccxml: [400]
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2006-08-14 10:11:45
|
Revision: 400 Author: roman_yakovenko Date: 2006-08-14 03:10:54 -0700 (Mon, 14 Aug 2006) ViewCVS: http://svn.sourceforge.net/pygccxml/?rev=400&view=rev Log Message: ----------- renaming pyplusplus to Py++ Modified Paths: -------------- index.rest pygccxml_dev/docs/download.rest pygccxml_dev/docs/history/history.rest pygccxml_dev/docs/pygccxml.rest pygccxml_dev/docs/query_interface.rest pyplusplus_dev/docs/comparisons/compare_to.rest pyplusplus_dev/docs/comparisons/pyste.rest pyplusplus_dev/docs/definition.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/feedback.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/tutorials/module_builder/module_builder.rest pyplusplus_dev/docs/documentation/tutorials/tutorials.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/call_wrapper_policies.rest pyplusplus_dev/docs/peps/indexing_suite.rest pyplusplus_dev/docs/peps/peps_index.rest pyplusplus_dev/docs/pyplusplus.rest pyplusplus_dev/docs/quotes.rest pyplusplus_dev/docs/www_configuration.py Modified: index.rest =================================================================== --- index.rest 2006-08-14 07:05:16 UTC (rev 399) +++ index.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -16,17 +16,17 @@ .. __: `pygccxml`_ ------------------- -pyplusplus package ------------------- +------------ +Py++ package +------------ "I love deadlines. I love the whooshing noise they make as they go by." -- Douglas Adams -Meet your deadlines with powerful code generator engine - `pyplusplus`_. +Meet your deadlines with powerful code generator engine - `Py++`_. -`pyplusplus`_ package and `Boost.Python`_ library provide a complete solution for +`Py++`_ package and `Boost.Python`_ library provide a complete solution for interfacing Python and C++. --------------- @@ -73,7 +73,7 @@ .. _`Boost`: http://boost.org/ .. _`Python`: http://www.python.org .. _`pygccxml`: ./pygccxml/pygccxml.html -.. _`pyplusplus`: ./pyplusplus/pyplusplus.html +.. _`Py++`: ./pyplusplus/pyplusplus.html .. _`pydsc`: ./pydsc/pydsc.html .. _`EasyBMP`: http://easybmp.sourceforge.net/ Modified: pygccxml_dev/docs/download.rest =================================================================== --- pygccxml_dev/docs/download.rest 2006-08-14 07:05:16 UTC (rev 399) +++ pygccxml_dev/docs/download.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -12,7 +12,7 @@ can: 1) get access to source code -2) get access to latest release version of pyplusplus +2) get access to latest release version of `pygccxml`_ ----------------- Modified: pygccxml_dev/docs/history/history.rest =================================================================== --- pygccxml_dev/docs/history/history.rest 2006-08-14 07:05:16 UTC (rev 399) +++ pygccxml_dev/docs/history/history.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -1,6 +1,6 @@ -============================== -pyplusplus development history -============================== +============================ +pygccxml development history +============================ .. contents:: Table of contents Modified: pygccxml_dev/docs/pygccxml.rest =================================================================== --- pygccxml_dev/docs/pygccxml.rest 2006-08-14 07:05:16 UTC (rev 399) +++ pygccxml_dev/docs/pygccxml.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -24,7 +24,7 @@ * parse C++ source code * build a code generator - + `pyplusplus`_ is heavily based on `pygccxml`_ + + `Py++`_ is heavily based on `pygccxml`_ + generate `WSDL`_ file from sources + ... @@ -126,7 +126,7 @@ strategy. .. _`WSDL`: http://www.w3.org/TR/wsdl -.. _`pyplusplus`: ./../pyplusplus/pyplusplus.html +.. _`Py++`: ./../pyplusplus/pyplusplus.html .. _`pygccxml`: ./pygccxml.html .. _`SourceForge`: http://sourceforge.net/index.php .. _`Docutils`: http://docutils.sourceforge.net Modified: pygccxml_dev/docs/query_interface.rest =================================================================== --- pygccxml_dev/docs/query_interface.rest 2006-08-14 07:05:16 UTC (rev 399) +++ pygccxml_dev/docs/query_interface.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -175,7 +175,7 @@ Return value of ``member_functions`` is not Python list or set, but instance of ``mdecl_wrapper_t`` class. This class allows you to work on all selected -objects at once. I will give an example from another project - `pyplusplus`_. +objects at once. I will give an example from another project - `Py++`_. In order to help `Boost.Python`_ to manage objects life time, all functions should have `call policies`_. For example: :: @@ -200,7 +200,7 @@ clone.call_policies = return_value_policy( manage_new_object ) -Another example, from `pyplusplus`_ project. Sometimes it is desirable to +Another example, from `Py++`_ project. Sometimes it is desirable to exclude declaration, from being exported to Python. Next code will exclude ``clone`` member function from being exported: @@ -270,7 +270,7 @@ .. _`call policies`: http://boost.org/libs/python/doc/tutorial/doc/html/python/functions.html#python.call_policies .. _`Call policies`: http://boost.org/libs/python/doc/tutorial/doc/html/python/functions.html#python.call_policies .. _`pygccxml`: ./pygccxml.html -.. _`pyplusplus`: ./../pyplusplus/pyplusplus.html +.. _`Py++`: ./../pyplusplus/pyplusplus.html .. _`SourceForge`: http://sourceforge.net/index.php .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org Modified: pyplusplus_dev/docs/comparisons/compare_to.rest =================================================================== --- pyplusplus_dev/docs/comparisons/compare_to.rest 2006-08-14 07:05:16 UTC (rev 399) +++ pyplusplus_dev/docs/comparisons/compare_to.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -1,6 +1,6 @@ -========================= -Compare pyplusplus to ... -========================= +=================== +Compare Py++ to ... +=================== .. contents:: Table of contents @@ -9,7 +9,7 @@ ----- `Pyste`_ is the Boost.Python code generator, that is not under active development -any more. Nevertheless, users request to compare `pyplusplus`_ and `Pyste`_. You +any more. Nevertheless, users request to compare `Py++`_ and `Pyste`_. You can read `here`_ the comparison. .. _`here` : ./Pyste.html @@ -18,7 +18,7 @@ SWIG & SIP ---------- -The document, that compares SIP, SWIG and `pyplusplus`_ is under construction. +The document, that compares SIP, SWIG and `Py++`_ is under construction. May be you are editing it right now, by evaluating these tools :-). I did not use SWIG and SIP, so I can not provide you with fair comparison. I will let the open source project(s) "to talk": @@ -26,7 +26,7 @@ * `Python-OGRE`_: The impression of Lakin Wecker, after spending 30 hours working working with - `pyplusplus`_: http://www.ogre3d.org/phpBB2addons/viewtopic.php?t=1478&sid=4d77585146aabbc54f4b31ec50874d86 + `Py++`_: http://www.ogre3d.org/phpBB2addons/viewtopic.php?t=1478&sid=4d77585146aabbc54f4b31ec50874d86 .. _`Python-OGRE` : http://lakin.weckers.net/index_ogre_python.html @@ -42,7 +42,7 @@ -.. _`pyplusplus` : ./../pyplusplus.html +.. _`Py++` : ./../pyplusplus.html .. _`Pyste`: http://www.boost.org/libs/python/doc/index.html Modified: pyplusplus_dev/docs/comparisons/pyste.rest =================================================================== --- pyplusplus_dev/docs/comparisons/pyste.rest 2006-08-14 07:05:16 UTC (rev 399) +++ pyplusplus_dev/docs/comparisons/pyste.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -1,11 +1,11 @@ -============================== -Pyste & pyplusplus comparison -============================== +======================== +Pyste & Py++ comparison +======================== .. contents:: Table of contents ---------------------- -What is `pyplusplus`_? +What is `Py++`_? ---------------------- .. include:: ../definition.rest @@ -25,7 +25,7 @@ -------- If you are reading this document, I can assume that you know what `Boost.Python`_, -`Pyste`_ and `pyplusplus`_ are. This document compares `Pyste`_ and `pyplusplus`_. +`Pyste`_ and `Py++`_ are. This document compares `Pyste`_ and `Py++`_. I am going to compare: * user interface @@ -55,7 +55,7 @@ I tried to fix `Pyste`_. At first, I developed `pygccxml`_ and tried to replace relevant `Pyste`_ functionality. I did not like the result. After this, I dropped -the idea to fix `Pyste`_ and decided to develop new code generator - `pyplusplus`_. +the idea to fix `Pyste`_ and decided to develop new code generator - `Py++`_. Later you will find few points, that explains, why I decided not to fix `Pyste`_. Have a nice reading. @@ -98,17 +98,17 @@ I have more examples, but I think you've got the idea. -pyplusplus ----------- +Py++ +---- -`pyplusplus`_ has 2 user interfaces: +`Py++`_ has 2 user interfaces: 1. GUI - small and simple graphic user interface, that does not request from - user any knowledge about `Boost.Python`_ or `pyplusplus`_. You can see + user any knowledge about `Boost.Python`_ or `Py++`_. You can see its `screenshot`_. 2. API - object-oriented framework, that helps you to create code generator, - that suites your needs. `pyplusplus`_ framework consists 3 packages: + that suites your needs. `Py++`_ framework consists 3 packages: 1. Code creators package. The only responsibility of classes in this package is to create code. Those classes do not care where code is @@ -121,7 +121,7 @@ 3. File writers package. This package contains classes that write generated code to file(s). -The good news: it is very easy to evaluate `pyplusplus`_, using GUI. The bad +The good news: it is very easy to evaluate `Py++`_, using GUI. The bad news is that you should learn an other set of API's in order to complete your task. It is not as awful as it sounds, but still there is some learning curve. @@ -152,12 +152,12 @@ 2. to control the order of written code -pyplusplus ----------- +Py++ +---- One of the biggest weaknesses of `Pyste`_ is a lack of good `GCC-XML`_ front-end and this fact cause `Pyste`_ to generate not optimal code. I will prove this -later. In order to avoid such weakness, before I have created `pyplusplus`_, +later. In order to avoid such weakness, before I have created `Py++`_, I created `pygccxml`_. `pygccxml`_ is a stand alone project, that provides few things: @@ -172,14 +172,14 @@ + every file will be parsed alone, after this, duplicated declarations and types will be removed -`pygccxml`_ contributes in few ways to `pyplusplus`_: +`pygccxml`_ contributes in few ways to `Py++`_: - + `pyplusplus`_ has nothing to do with code parsing. Theoretically + + `Py++`_ has nothing to do with code parsing. Theoretically an other back-end could be added to `pygccxml`_ without changing even one - line of code within `pyplusplus`_. + line of code within `Py++`_. + `pygccxml`_ has type traits. A lot of type traits algorithms from - `boost.type_traits`_ library has been implemented. `pyplusplus`_ makes + `boost.type_traits`_ library has been implemented. `Py++`_ makes an extensive use of them: * identify "call policies" algorithm @@ -195,7 +195,7 @@ do_smth(expensive_to_copy* x, const expensive_to_copy& y){ //Pyste generates next code //call_method< void >(self, "do_smth", x, y); - //pyplusplus generates next code + //Py++ generates next code *this->get_override("do_smth")( boost::python::ptr(x), boost::ref(y) ); //------------------------------^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^ } @@ -232,7 +232,7 @@ what is going on, in "ClassExporter.py" file. Class *ClassExporter* knows everything about internal exporters, more over *ClassExporter* is responsible to export all its base classes before it exports itself. This is just wrong. -`pyplusplus`_ implements better solution. `pyplusplus`_ has code creators class +`Py++`_ implements better solution. `Py++`_ has code creators class hierarchy and factory, that creates those code creators based on given declarations. The questions like: @@ -246,7 +246,7 @@ solved by the factory. The only thing that left to code creators is to create code. By the way, it is not an easy task to fix this specific problem in `Pyste`_. -Serious re-factoring should be done. `pyplusplus`_ defines *compound_t* code +Serious re-factoring should be done. `Py++`_ defines *compound_t* code creator. *module_t*, *module_body_t*, *class_t* - are typical examples of compound code creators. They do know few code creators, but that is all. @@ -257,7 +257,7 @@ protocol and may be to modify code unit. Try to add *Exporter* that exposes get\\set functions as property. It is not an easy task. An other problem, I see here, is that code unit is some kind of *Exporter*. Code unit also creates code. -I did not fill good with this design. So I decided, that in `pyplusplus`_ code +I did not fill good with this design. So I decided, that in `Py++`_ code should be created only by code creators. This decision simplifies a lot of things: @@ -277,29 +277,29 @@ ------------ Dependencies ------------ -Both `Pyste`_ and `pyplusplus`_ introduce one external dependency. In order to -parse XML `Pyste`_ uses `elementtree`_. On the other side `pyplusplus`_ +Both `Pyste`_ and `Py++`_ introduce one external dependency. In order to +parse XML `Pyste`_ uses `elementtree`_. On the other side `Py++`_ depends on `pygccxml`_ project. ------------- Features list ------------- -`pyplusplus`_ supports almost all features `Pyste`_ implements. `pyplusplus`_, +`Py++`_ supports almost all features `Pyste`_ implements. `Py++`_, version 0.8.0, does not implements next functionality, implemented by `Pyste`_: * *pow* operator * good documentation -Here you can find the complete features list of `pyplusplus`_. +Here you can find the complete features list of `Py++`_. -Features unique to `pyplusplus`_: +Features unique to `Py++`_: - * `pyplusplus`_ exposes protected member functions + * `Py++`_ exposes protected member functions - * `pyplusplus`_, in most cases, will automatically detect class held type + * `Py++`_, in most cases, will automatically detect class held type - * `pyplusplus`_ creates implicit conversion code for: + * `Py++`_ creates implicit conversion code for: + casting constructors @@ -313,13 +313,13 @@ * operators defined in base class could be redefined/exposed in derived class - * `pyplusplus`_ exposes bit fields member variables + * `Py++`_ exposes bit fields member variables Nice features list ------------------ -Both `Pyste`_ and `pyplusplus`_ generate working code. As we already saw in some -cases `pyplusplus`_ do better job. `pyplusplus`_ allows next customization on +Both `Pyste`_ and `Py++`_ generate working code. As we already saw in some +cases `Py++`_ do better job. `Py++`_ allows next customization on generated code: * To define std and user directories. *include_t* code creator will take @@ -331,7 +331,7 @@ namespace dt = boost::date_time; All code, that is generated after this statement, will use ``dt`` instead of - ``boost::date_time``. This allows `pyplusplus`_ to create user friendly code. + ``boost::date_time``. This allows `Py++`_ to create user friendly code. * Classes and functions support 2 modes of code generation. Example: :: @@ -369,13 +369,13 @@ 2. If in future a developer decide to create overload to some function, this code will continue to compile. - * `pyplusplus`_ has small nice future - "license". User can specify the + * `Py++`_ has small nice future - "license". User can specify the license and it will appear in every generated file. - * `pyplusplus`_ allows user to define custom call policies resolver. See + * `Py++`_ allows user to define custom call policies resolver. See boost.date_time example - * `pyplusplus`_ allows user to create custom code creators. See + * `Py++`_ allows user to create custom code creators. See "custom_code_creator" example. * real world examples: @@ -390,9 +390,9 @@ Conclusion ---------- -If I were you I would choose `pyplusplus`_ to create bindings for your project. -For very small projects or for educational reasons you may use `pyplusplus`_.GUI. -For big projects, you need flexibility and power of `pyplusplus`_. +If I were you I would choose `Py++`_ to create bindings for your project. +For very small projects or for educational reasons you may use `Py++`_.GUI. +For big projects, you need flexibility and power of `Py++`_. ---- P.S. @@ -401,22 +401,22 @@ This comparison was a little unfair. First of all `Pyste`_ is no more under active development\\support. Second, `Pyste`_ has been written 2 years ago and had different goal. Next definitions will help you to understand the main -difference between `Pyste`_ and `pyplusplus`_. +difference between `Pyste`_ and `Py++`_. `Pyste`_ `Pyste`_ is `Boost.Python`_ code generator. - `pyplusplus`_ + `Py++`_ .. include:: ../definition.rest -`Pyste`_ and `pyplusplus`_ have been created to handle different tasks, hence +`Pyste`_ and `Py++`_ have been created to handle different tasks, hence the difference in design, user interface and complexity. Bruno da Silva de Oliveira, the `Pyste`_ author, understands the problems, I raised here. He -thought about them, long before I created `pyplusplus`_. But unfortunately, lack +thought about them, long before I created `Py++`_. But unfortunately, lack of time and motivation prevents him to work on `Pyste`_. .. _`screenshot` : ./../tutorials/pyplusplus_demo.png -.. _`pyplusplus` : ./../pyplusplus.html +.. _`Py++` : ./../pyplusplus.html .. _`pygccxml` : ./../../pygccxml/pygccxml.html .. _`Pyste`: http://www.boost.org/libs/python/doc/index.html .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html Modified: pyplusplus_dev/docs/definition.rest =================================================================== --- pyplusplus_dev/docs/definition.rest 2006-08-14 07:05:16 UTC (rev 399) +++ pyplusplus_dev/docs/definition.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -1,4 +1,4 @@ -`pyplusplus`_ is an object-oriented framework for creating a code generator for +`Py++`_ is an object-oriented framework for creating a code generator for `Boost.Python`_ library. .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html \ No newline at end of file Modified: pyplusplus_dev/docs/documentation/architecture.rest =================================================================== --- pyplusplus_dev/docs/documentation/architecture.rest 2006-08-14 07:05:16 UTC (rev 399) +++ pyplusplus_dev/docs/documentation/architecture.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -8,7 +8,7 @@ Introduction ------------ -This document will describe an architecture behind `pyplusplus`_. +This document will describe an architecture behind `Py++`_. --- C++ @@ -31,7 +31,7 @@ * C++ source files parsing and caching functionality -`pyplusplus`_ uses those services to: +`Py++`_ uses those services to: * extract declarations from source files and to provide powerful query interface @@ -46,17 +46,17 @@ * ... -pyplusplus & pygccxml integration ---------------------------------- +Py++ & pygccxml integration +--------------------------- -`pyplusplus`_ uses different approaches to expose these services to the user. +`Py++`_ uses different approaches to expose these services to the user. Parsing integration ------------------- -`pyplusplus`_ provides it's own "API" to configure and run `pygccxml`_ parsing +`Py++`_ provides it's own "API" to configure and run `pygccxml`_ parsing services. The "API" I am talking about, is arguments to ``module_builder.__init__`` method. The method takes all arguments, needed to envoke parsing services. It -has been done this way to simplify the usage of `pyplusplus`_. +has been done this way to simplify the usage of `Py++`_. Declarations tree integration @@ -98,7 +98,7 @@ What you see here, is a common pattern, that will appear in all projects, that -use `pyplusplus`_: +use `Py++`_: * find the declaration(s) @@ -108,7 +108,7 @@ good, it makes a lot of sence to configure the code generation engine, using the declarations tree. Now, the desired solution is clear: we should use declarations tree to configure the engine. So, let me to re-formulate the -question: how does `pyplusplus`_ add missinig functionality to +question: how does `Py++`_ add missinig functionality to ``pygccxml.declarations`` classes? There were few possible solutions to the problem. The next one was implemented: @@ -157,7 +157,7 @@ * How it should be written to files? - Remember, `pyplusplus`_ is targeting big projects. It can not generate all code + Remember, `Py++`_ is targeting big projects. It can not generate all code in one file - this will not work, not at all. Code creators and file writers provides solution to this problem. @@ -204,7 +204,7 @@ As you can see, there are primary 2 kinds of ``code creator``'s: declaration based and others. Declaration based creator generates code, that is needed to export the declaration. There a lot of use cases, where in order to export a -declaration, `pyplusplus`_ builds more then one ``code creator``. For example: +declaration, `Py++`_ builds more then one ``code creator``. For example: in order to export virtual function 2 ``code creator``'s are built: ( I will reuse example from `Boost.Python`_ `tutorials`__.) @@ -287,11 +287,11 @@ variables. Thus it knows that class ``X`` is used with ``boost::shared_ptr``, so it will set ``class_<X>`` ``HeldType`` to be ``boost::shared_ptr`` or will register its usage. Another interesting example is std containers. You don't have -to say to `pyplusplus`_ to export them, it will do it by itself. You may ask +to say to `Py++`_ to export them, it will do it by itself. You may ask why this detail is so interesting? Because the user does not have to specify all -set of declarations he wants to export! Because, in near future, `pyplusplus`_ +set of declarations he wants to export! Because, in near future, `Py++`_ will analize declarations dependency graph of exported declarations. If some -declaration should be exported and it is not, then `pyplusplus`_ will warn the +declaration should be exported and it is not, then `Py++`_ will warn the user. @@ -317,7 +317,7 @@ -.. _`pyplusplus` : ./../pyplusplus.html +.. _`Py++` : ./../pyplusplus.html .. _`pygccxml` : ./../../pygccxml/pygccxml.html .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org Modified: pyplusplus_dev/docs/documentation/best_practices.rest =================================================================== --- pyplusplus_dev/docs/documentation/best_practices.rest 2006-08-14 07:05:16 UTC (rev 399) +++ pyplusplus_dev/docs/documentation/best_practices.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -8,9 +8,9 @@ Introduction ------------ -`pyplusplus`_ has reach interface and a lot of functionality. Sometimes reach +`Py++`_ has reach interface and a lot of functionality. Sometimes reach interface helps, but sometimes it can confuse. This document will describe how -effectivly to use `pyplusplus`_. +effectivly to use `Py++`_. ------------ Big projects @@ -20,9 +20,9 @@ ---------- First of all, let me to define "big project". "Big project" is a project with -few handred of header files. `pyplusplus`_ was born to create `Python`_ bindings +few handred of header files. `Py++`_ was born to create `Python`_ bindings for such projects. If you take a look `here`__ you will find few such projects, -that use `pyplusplus`_. +that use `Py++`_. .. __ : ./../../pygccxml/quotes.html @@ -49,7 +49,7 @@ * Single header file, will also improve performance compiling the generated bindings. - When `pyplusplus`_ generated the bindings, you have a lot of .cpp files to + When `Py++`_ generated the bindings, you have a lot of .cpp files to compile. The project you are working on is big. I am sure it takes a lot of time to compile projects that depend on it. Generated code also depend on it, more over this code contains a lot of template isnstantiations. So it could @@ -71,12 +71,12 @@ ``precompiled_header`` argument could be ``None`` or string, that contains name of precompiled header file, that will be created in the directory. - `pyplusplus`_ will add to it header files from `Boost.Python`_ library and + `Py++`_ will add to it header files from `Boost.Python`_ library and your header files. What is ``huge_classes`` argument for? ``huge_classes`` could be ``None`` or list of references to class declarations. It is there to provide a solution to - `this error`_. ``pyplusplus`` will automaticly split generated code for the + `this error`_. `Py++`_ will automaticly split generated code for the huge classes to few files: :: @@ -92,7 +92,7 @@ -.. _`pyplusplus` : ./../pyplusplus.html +.. _`Py++` : ./../pyplusplus.html .. _`pygccxml` : ./../../pygccxml/pygccxml.html .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org Modified: pyplusplus_dev/docs/documentation/containers.rest =================================================================== --- pyplusplus_dev/docs/documentation/containers.rest 2006-08-14 07:05:16 UTC (rev 399) +++ pyplusplus_dev/docs/documentation/containers.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -52,10 +52,10 @@ .. _`documentation` : ./indexing_suite_v2.html .. _`post` : http://mail.python.org/pipermail/c++-sig/2003-October/005802.html ------------------------------- -pyplusplus and indexing suites ------------------------------- -`pyplusplus`_ implements support for both indexing suites. More over, you can +------------------------ +Py++ and indexing suites +------------------------ +`Py++`_ implements support for both indexing suites. More over, you can freely mix indexing suites. For example you can expose ``std::vector<int>`` using `Boost.Python`_ built-in indexing suite and ``std::map< int, std::string>`` using Raoul Gough's indexing suite. @@ -64,9 +64,9 @@ How does it work? ----------------- -In both cases, `pyplusplus`_ provides almost "hands free" solution. `pyplusplus`_ +In both cases, `Py++`_ provides almost "hands free" solution. `Py++`_ keeps track of all exported functions and variables, and if it sees that there is -a usage of stl container, it exports the container. In both cases, `pyplusplus`_ +a usage of stl container, it exports the container. In both cases, `Py++`_ analizes the container ``value_type`` ( or in case of mapping container ``mapped_type`` ), in order to set reasonable defaults, when it generates the code. @@ -74,7 +74,7 @@ Indexing suites API ------------------- -By default, `pyplusplus`_ works with built-in indexing suite. If you want to use +By default, `Py++`_ works with built-in indexing suite. If you want to use next version of indexing suite, you should tell this to the ``module_builder_t.__init__`` method: :: @@ -86,7 +86,7 @@ of ``indexing_suite1_t`` or ``indexing_suite2_t`` class. -How does `pyplusplus`_ know, that a class represents stl container instantiation? +How does `Py++`_ know, that a class represents stl container instantiation? Well, it uses ``pygccxml.declarations.container_traits`` to find out this. ``pygccxml.declarations.container_traits`` class, provides all functionality needed to identify container and to find out its ``value_type`` @@ -96,7 +96,7 @@ Built-in indexing suite API --------------------------- -`pyplusplus`_ defines ``indexing_suite1_t`` class. This class allows configure +`Py++`_ defines ``indexing_suite1_t`` class. This class allows configure any detail of generated code: * ``no_proxy`` - a boolean, if ``value_type`` is one of the next types @@ -136,19 +136,19 @@ }; -`pyplusplus`_ declarations tree will contains ``item``, ``my_data``, +`Py++`_ declarations tree will contains ``item``, ``my_data``, ``vector<item>`` and ``map<string,item>`` class declarations. If ``value_type`` does not support "equal" or "less than" functionality, sort and search functionality could not be exported. -`pyplusplus`_ class declaration has two properties: ``equality_comparable`` and +`Py++`_ class declaration has two properties: ``equality_comparable`` and ``less_than_comparable``. The value of those properties is calculated on first -invocation. If `pyplusplus`_ can find ``operator==``, that works on ``value_type``, +invocation. If `Py++`_ can find ``operator==``, that works on ``value_type``, then, ``equality_comparable`` property value will be set to ``True``, otherwise to ``False``. Same process is applied on ``less_than_comparable`` property. -In our case, `pyplusplus`_ will set both properties to ``False``, thus sort and +In our case, `Py++`_ will set both properties to ``False``, thus sort and search functionality will not be exported. It is the time to introduce ``indexing_suite2_t`` class: @@ -163,13 +163,13 @@ * ``element_type`` - is a reference to container ``value_type`` or ``mapped_type``. * ``call_policies`` - read/write property, in near future I will add code to - `pyplusplus`_ that will analize container ``value_type`` and will decide about + `Py++`_ that will analize container ``value_type`` and will decide about default call policies. Just an example: for non copy constructable classes ``call_policies`` should be set to ``return_internal_reference``. * ``[disable|enable]_method`` - new indexing suite, allows to configure functionality exported to Python, using simple bitwise operations on predefined - flags. `pyplusplus`_ allows you to specify what methods you want to disable + flags. `Py++`_ allows you to specify what methods you want to disable or enable. ``indexing_suite2_t.METHODS`` containes names of all supported methods. * ``[disable|enable]_methods_group`` - almost same as above, but allows you @@ -184,11 +184,11 @@ explicitly to disable method or mothods group. 2. The documentation of new indexing suite containes few small mistakes. - I hope, I will have time to fix them. Any way, `pyplusplus`_ generates + I hope, I will have time to fix them. Any way, `Py++`_ generates correct code. -.. _`pyplusplus` : ./../pyplusplus.html +.. _`Py++` : ./../pyplusplus.html .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org Modified: pyplusplus_dev/docs/documentation/doc_string.rest =================================================================== --- pyplusplus_dev/docs/documentation/doc_string.rest 2006-08-14 07:05:16 UTC (rev 399) +++ pyplusplus_dev/docs/documentation/doc_string.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -8,7 +8,7 @@ Introduction ------------ -`pyplusplus`_ provides a convenient way to export documentation from C++ source +`Py++`_ provides a convenient way to export documentation from C++ source files as `Python`_ `documentation string`_ --------------- @@ -23,11 +23,11 @@ my_class.member_function( "do_nothing" ).documentation = \ '"This function does nothing."' -In `pyplusplus`_ every class, that describes C++ declarations has ``documentation`` +In `Py++`_ every class, that describes C++ declarations has ``documentation`` property. This property should contain valid C++ string or ``None``. `Boost.Python`_ not always provides functionality, that exports documentation string. -In those cases, `pyplusplus`_ will not generate documentation string. +In those cases, `Py++`_ will not generate documentation string. Also the previous method is pretty clear, it is not practical. There should be a better way, to complete the task. Lets take a look on @@ -50,10 +50,10 @@ * ``decl.location.line`` - line number. So, you can go to the source file and to extract declaration from it. -`pyplusplus`_ will call ``doc_extractor`` on every exported declaration. +`Py++`_ will call ``doc_extractor`` on every exported declaration. -Now, when I think you understand what functionality `pyplusplus`_ provides. -It is a time to say what functionality is missing. `pyplusplus`_ does not +Now, when I think you understand what functionality `Py++`_ provides. +It is a time to say what functionality is missing. `Py++`_ does not provide any documentation extractor. It is not completely true. You can find document extractor for `doxygen`_ format in ``contrib/doc_extractors`` directory. It has been contributed by Georgiy Dernovoy. @@ -61,7 +61,7 @@ .. _`doxygen` : http://www.stack.nl/~dimitri/doxygen/ .. _`documentation string` : http://docs.python.org/tut/node6.html#SECTION006760000000000000000 -.. _`pyplusplus` : ./../pyplusplus.html +.. _`Py++` : ./../pyplusplus.html .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org Modified: pyplusplus_dev/docs/documentation/feedback.rest =================================================================== --- pyplusplus_dev/docs/documentation/feedback.rest 2006-08-14 07:05:16 UTC (rev 399) +++ pyplusplus_dev/docs/documentation/feedback.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -1,6 +1,6 @@ -===================== -pyplusplus feedback -===================== +============= +Py++ feedback +============= .. contents:: Table of contents @@ -8,7 +8,7 @@ Introduction ------------ -`pyplusplus`_ has been created with few goals in mind: +`Py++`_ has been created with few goals in mind: * to allow users create `Python`_ bindings for large projects using the `Boost.Python`_ library @@ -18,8 +18,8 @@ * to serve as a user's guide for `Boost.Python`_ library -Those goals all have something in common. In order to achive them, `pyplusplus`_ must -give useful feedback to the user. Because `pyplusplus`_ understands the +Those goals all have something in common. In order to achive them, `Py++`_ must +give useful feedback to the user. Because `Py++`_ understands the declarations it exports, it can scan declarations for potential problems, report them and in some cases provide hints about how to resolve the problem. Few examples: @@ -50,21 +50,21 @@ * In order to expose free/member function that takes more than 10 arguments user should define ``BOOST_PYTHON_MAX_ARITY`` macro. -For these problems and many other `pyplusplus`_ gives a nice explanation +For these problems and many other `Py++`_ gives a nice explanation and sometimes a link to the relevant information on the Internet. -I hope, that from now you will find it helpful to read every `pyplusplus`_ message :-). +I hope, that from now you will find it helpful to read every `Py++`_ message :-). ------------- How it works? ------------- In previous paragraph, I described some pretty useful functionality but what should you -do to enable it? - *Nothing!* By default, `pyplusplus`_ only prints the +do to enable it? - *Nothing!* By default, `Py++`_ only prints the important messages to ``stdout``. More over it prints them onle for declarations that are going to be exported. -`pyplusplus`_ uses the python `logging`_ package to write all user messages. By +`Py++`_ uses the python `logging`_ package to write all user messages. By default, messages with ``DEBUG`` level will be skipped, all other messages will be reported. @@ -91,12 +91,12 @@ 2. But what if you want to disable some messages and leave others? This is also possible. - `pyplusplus`_ and `pygccxml`_ do not use a single logger. Almost every internal + `Py++`_ and `pygccxml`_ do not use a single logger. Almost every internal package has its own logger. So you can enable one logger and disable another one. The `pygccxml`_ package defines all loggers in the ``pygccxml.utils`` package. - The `pyplusplus`_ package defines all logers in the ``pyplusplus._logging_`` package. + The `Py++`_ package defines all logers in the ``pyplusplus._logging_`` package. Both packages define a ``loggers`` class. Those classes keep references to different loggers. The ``loggers`` classes look very similar to the next class: @@ -125,7 +125,7 @@ You can use these references in the ``logging`` package to complete your task of adjusting individual loggers. - One more thing, `pyplusplus`_ automatically splits long message, where line + One more thing, `Py++`_ automatically splits long message, where line length defaults to 70 characters. Thus it is very convinient to read them on your screen. If you want to use different tools to monitor those messages, consider to use standard `Formatter`_ class, instead of ``multi_line_formatter_t`` one. @@ -146,7 +146,7 @@ * ``readme( self )`` - This method gives you access to all tips/hints/warnings `pyplusplus`_ has about + This method gives you access to all tips/hints/warnings `Py++`_ has about the declaration. This methods returns a list of strings. If the declaration is not exportable, than first message within the list is an explanation, why it is not exportable. @@ -154,7 +154,7 @@ .. _`Formatter` : http://docs.python.org/lib/node357.html .. _`logging` : http://docs.python.org/lib/module-logging.html -.. _`pyplusplus` : ./../pyplusplus.html +.. _`Py++` : ./../pyplusplus.html .. _`pygccxml` : ./../../pygccxml/pygccxml.html .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org Modified: pyplusplus_dev/docs/documentation/hints.rest =================================================================== --- pyplusplus_dev/docs/documentation/hints.rest 2006-08-14 07:05:16 UTC (rev 399) +++ pyplusplus_dev/docs/documentation/hints.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -8,8 +8,8 @@ Class template instantiation alias ---------------------------------- -`pyplusplus`_ has nice feature. If you define ``typedef`` for instantiated class -template, than `pyplusplus`_ will use it as a `Python`_ class name. +`Py++`_ has nice feature. If you define ``typedef`` for instantiated class +template, than `Py++`_ will use it as a `Python`_ class name. For example: :: @@ -26,7 +26,7 @@ ... } -`pyplusplus`_ will use "numbers" as Python class name: +`Py++`_ will use "numbers" as Python class name: :: @@ -38,7 +38,7 @@ This feature will work only in case there is only one such ``typedef``. Using class property ``aliases`` you can get access to all ``typedef``'s of the class. -.. _`pyplusplus` : ./../pyplusplus.html +.. _`Py++` : ./../pyplusplus.html .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org Modified: pyplusplus_dev/docs/documentation/how_to.rest =================================================================== --- pyplusplus_dev/docs/documentation/how_to.rest 2006-08-14 07:05:16 UTC (rev 399) +++ pyplusplus_dev/docs/documentation/how_to.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -41,7 +41,7 @@ Small usage advice. ------------------- -`pyplusplus`_ allows you to define a query that will return you all exception classes: +`Py++`_ allows you to define a query that will return you all exception classes: :: @@ -82,7 +82,7 @@ ; Now, after you know how this problem is solved. I will show how this solution -could be integrated with `pyplusplus`_. +could be integrated with `Py++`_. :: @@ -115,14 +115,14 @@ ------------------------------------------------------------ If you get this error, that the generated file is too big. You will have to split -it to few files. Well, not you but `pyplusplus`_ you will only have to tell that +it to few files. Well, not you but `Py++`_ you will only have to tell that to it. If you are using ``module_builder_t.write_module`` method, consider to switch to ``module_builder_t.split_module``. If you are using ``split_method``, but still generated code for some specific -class could not be compiled because of error, you can ask `pyplusplus`_ to split +class could not be compiled because of error, you can ask `Py++`_ to split class registration code to few cpp files. For more information, please read the documentation. @@ -227,7 +227,7 @@ mb.namespace( 'py_details' ).exclude() -`pyplusplus`_ allows you to extract declarations from string, that contains +`Py++`_ allows you to extract declarations from string, that contains valid C++ code. It creates temporal header file and compiles it. At the end of the compilation process it will remove it. You can read mode about ``create_text_fc`` function `here`__. @@ -246,7 +246,7 @@ -.. _`pyplusplus` : ./../pyplusplus.html +.. _`Py++` : ./../pyplusplus.html .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org Modified: pyplusplus_dev/docs/documentation/index.rest =================================================================== --- pyplusplus_dev/docs/documentation/index.rest 2006-08-14 07:05:16 UTC (rev 399) +++ pyplusplus_dev/docs/documentation/index.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -1,6 +1,6 @@ -======================== -pyplusplus documentation -======================== +================== +Py++ documentation +================== .. contents:: Table of contents @@ -8,13 +8,13 @@ Help needed! ------------ -`pyplusplus`_ documentation is always under active development. It is not an easy +`Py++`_ documentation is always under active development. It is not an easy task to create and maintain it. I will appriciate any help! How can you help? -* Lets face it: today it is not possible to use `pyplusplus`_ without eventually - looking into source code. `pyplusplus`_ uses `Epydoc`_ to generate documentation +* Lets face it: today it is not possible to use `Py++`_ without eventually + looking into source code. `Py++`_ uses `Epydoc`_ to generate documentation from source files. So, if you found some undocumented piece of code and you understand what it does, please write documentation string. @@ -26,7 +26,7 @@ just point me to the place. .. _`Epydoc` : http://epydoc.sourceforge.net/ -.. _`pyplusplus` : ./../pyplusplus.html +.. _`Py++` : ./../pyplusplus.html .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org Modified: pyplusplus_dev/docs/documentation/inserting_code.rest =================================================================== --- pyplusplus_dev/docs/documentation/inserting_code.rest 2006-08-14 07:05:16 UTC (rev 399) +++ pyplusplus_dev/docs/documentation/inserting_code.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -8,7 +8,7 @@ Introduction ------------ -`pyplusplus`_ is not a magician! Sometimes there is a need to add code to +`Py++`_ is not a magician! Sometimes there is a need to add code to generated file(s). This document will describe how you can insert your code to almost any place. @@ -71,7 +71,7 @@ ``int`` is immutable type in Python. So you can not expose ``get_size`` member function as is. You need to create a wrapper and expose it. -In the near future ``pyplusplus`` will eliminate the need of creating hand +In the near future `Py++`_ will eliminate the need of creating hand written wrapper for this use case. :: @@ -92,14 +92,14 @@ ... ; -How it could be achieved with `pyplusplus`_? Class declaration, has also two +How it could be achieved with `Py++`_? Class declaration, has also two functions: * ``add_declaration_code( self, code )`` This method will add the code to the declaration section within the module. - If you split your module to few files, `pyplusplus`_ will add this code to the + If you split your module to few files, `Py++`_ will add this code to the cpp file, class registration code will be written in. Attention: there is no defined order between wrapper code and declaration section @@ -143,7 +143,7 @@ window = mb.class_( 'window_t' ) window.add_declaration_code( get_window_size definition ) window.add_registration_code( 'def( "get_size", &::get_window_size )' ) - #pyplusplus will add ';' if needed + #Py++ will add ';' if needed ---------------------------- Insert code to class wrapper @@ -193,7 +193,7 @@ -.. _`pyplusplus` : ./../pyplusplus.html +.. _`Py++` : ./../pyplusplus.html .. _`pygccxml` : ./../../pygccxml/pygccxml.html .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org Modified: pyplusplus_dev/docs/documentation/tutorials/module_builder/module_builder.rest =================================================================== --- pyplusplus_dev/docs/documentation/tutorials/module_builder/module_builder.rest 2006-08-14 07:05:16 UTC (rev 399) +++ pyplusplus_dev/docs/documentation/tutorials/module_builder/module_builder.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -1,12 +1,12 @@ -==================== -pyplusplus tutorials -==================== +============== +Py++ tutorials +============== .. contents:: Table of contents -------------------- -What is pyplusplus? -------------------- +------------- +What is Py++? +------------- .. include:: ./../../../definition.rest @@ -14,12 +14,12 @@ Preamble -------- -I guess you decided to try `pyplusplus`_ API. Good! Lets start. First of all, +I guess you decided to try `Py++`_ API. Good! Lets start. First of all, please take a look on two files: * `hello_world.hpp`_ - C++ source code, that we want to export to Python -* `generate_code.py`_ - Python code, that uses `pyplusplus`_ to export +* `generate_code.py`_ - Python code, that uses `Py++`_ to export declarations from the source file .. _`hello_world.hpp` : ./hello_world.html @@ -29,7 +29,7 @@ module_builder_t ---------------- -`pyplusplus`_ is built from a few packages, but there is only one package, you +`Py++`_ is built from a few packages, but there is only one package, you should really to be familiar with - ``module_builder``. This package is some kind of facade to low level API. It provides simple and intuitive API. The main class within this package is ``module_builder_t``. The instance of this class will @@ -65,7 +65,7 @@ Declarations customization -------------------------- Not all declarations should be exported! Not every declaration could be exported -without human invocation! As you already saw from example, `pyplusplus`_ provides +without human invocation! As you already saw from example, `Py++`_ provides simple and powerful declarations query interface. By default, only declarations that belongs to files, you have asked to parse, and to files, that lies in the same directories as parsed files, will be exported: @@ -88,7 +88,7 @@ ``include`` methods, on declarations. Basically, this is a second step of code generation process. During this step -you could/should/may change `pyplusplus`_ defaults: +you could/should/may change `Py++`_ defaults: * to rename exposed declarations * to include/exclude declarations @@ -104,7 +104,7 @@ ----------------------------------- Now it is a time to create module code creator. Do you remember, in inroduction -to `pyplusplus`_, I told you that before writing code to disc, `pyplusplus`_ will +to `Py++`_, I told you that before writing code to disc, `Py++`_ will create some kind of `AST`_. Well this is done by calling ``module_builder_t.build_code_creator`` function. Right now, the only important argument to the function is ``module_name``. Self explained, is it? @@ -136,7 +136,7 @@ will be written in. * ``module_builder_t.split_module`` - you should provide directory name. - For big projects it is a must to minimize compilation time. So `pyplusplus`_ + For big projects it is a must to minimize compilation time. So `Py++`_ splits your module source code to different files within the directory. @@ -151,7 +151,7 @@ That's all. I hope you enjoyed. -.. _`pyplusplus` : ./../../../pyplusplus.html +.. _`Py++` : ./../../../pyplusplus.html .. _`pygccxml` : ./../../../../pygccxml/pygccxml.html .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`SourceForge`: http://sourceforge.net/index.php Modified: pyplusplus_dev/docs/documentation/tutorials/tutorials.rest =================================================================== --- pyplusplus_dev/docs/documentation/tutorials/tutorials.rest 2006-08-14 07:05:16 UTC (rev 399) +++ pyplusplus_dev/docs/documentation/tutorials/tutorials.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -4,9 +4,9 @@ .. contents:: Table of contents -------------------- -What is pyplusplus? -------------------- +------------- +What is Py++? +------------- .. include:: ./../../definition.rest @@ -14,17 +14,17 @@ Graphical interface ------------------- -`pyplusplus`_ includes a `graphical interface`_. `Graphical interface`_ +`Py++`_ includes a `graphical interface`_. `Graphical interface`_ is invoked with the ``pyplusplus_gui`` command, or with ``pyplusplus_gui.pyw`` from the ``scripts`` subdirectory of the `Python`_ installation directory. My advise to you - start with `graphical interface`_, because: * you don't have to learn new API * few clicks with mouse and you have `Boost.Python`_ code for your file(s) - * it is very easy to evaluate `pyplusplus`_ using it + * it is very easy to evaluate `Py++`_ using it * you can check whether `GCC-XML`_ is able to compile your code or not * you can use it as a guide to `Boost.Python`_ library - * it is able to generate `pyplusplus`_ code for you + * it is able to generate `Py++`_ code for you .. _`graphical interface` : ./pyplusplus_demo.png .. _`Graphical interface` : ./pyplusplus_demo.png @@ -33,7 +33,7 @@ Getting started --------------- -I suppose you decided to do some coding with `pyplusplus`_. `Module builder`_ +I suppose you decided to do some coding with `Py++`_. `Module builder`_ tutorials will help you. .. _`Module builder` : ./module_builder/module_builder.html @@ -48,7 +48,7 @@ to create your own code creator. To be more specific, it exposes ``get*`` and ``set*`` methods as a single property. -.. _`pyplusplus` : ./../../pyplusplus.html +.. _`Py++` : ./../../pyplusplus.html .. _`pygccxml` : ./../....//pygccxml/pygccxml.html .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`SourceForge`: http://sourceforge.net/index.php Modified: pyplusplus_dev/docs/download.rest =================================================================== --- pyplusplus_dev/docs/download.rest 2006-08-14 07:05:16 UTC (rev 399) +++ pyplusplus_dev/docs/download.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -1,18 +1,18 @@ -=================== -pyplusplus download -=================== +============= +Py++ download +============= .. contents:: Table of contents -------------------------- -pyplusplus on SourceForge -------------------------- +------------------- +Py++ on SourceForge +------------------- -`pyplusplus`_ project is hosted on SourceForge. Using SourceForge services you +`Py++`_ project is hosted on SourceForge. Using SourceForge services you can: 1) get access to source code -2) get access to latest release version of pyplusplus +2) get access to latest release version of `Py++`_ ----------------- @@ -32,11 +32,11 @@ ------------ In command prompt or shell change current directory to be "pyplusplus-X.Y.Z". -"X.Y.Z" is version of `pyplusplus`_. Type next command: +"X.Y.Z" is version of `Py++`_. Type next command: | ``python setup.py install`` -After this command complete, you should have installed `pyplusplus`_ package. +After this command complete, you should have installed `Py++`_ package. ------------ Dependencies @@ -45,7 +45,7 @@ * `pygccxml`_ -.. _`pyplusplus` : ./pyplusplus.html +.. _`Py++` : ./pyplusplus.html .. _`pygccxml` : ./../pygccxml/pygccxml.html .. Modified: pyplusplus_dev/docs/examples/boost/boost.rest =================================================================== --- pyplusplus_dev/docs/examples/boost/boost.rest 2006-08-14 07:05:16 UTC (rev 399) +++ pyplusplus_dev/docs/examples/boost/boost.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -8,7 +8,7 @@ Introduction -------------- -What is the `pyplusplus`_? +What is the `Py++`_? -------------------------- .. include:: ./../../definition.rest @@ -35,9 +35,9 @@ .. _`TR2` : http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1810.html -I believe that `pyplusplus`_ is ready for hard work. It is quick, stable and -flexible. `pyplusplus`_ is a new tool and in my opinion I should prove its -usefulness. Using `pyplusplus`_, I exposed next libraries to Python: +I believe that `Py++`_ is ready for hard work. It is quick, stable and +flexible. `Py++`_ is a new tool and in my opinion I should prove its +usefulness. Using `Py++`_, I exposed next libraries to Python: * `Boost.Date_Time`_ * `Boost.CRC`_ @@ -59,7 +59,7 @@ and `Boost.Random`_ libraries. I spent different amount of time on each library. It took me one week, to expose -the `Boost.Date_Time`_ library. I added few missing features to `pyplusplus`_, +the `Boost.Date_Time`_ library. I added few missing features to `Py++`_, polished the existing ones. Most of the time I spent translating tests from C++ to `Python`_. It took me 3 days to expose all other libraries. @@ -301,7 +301,7 @@ .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`boost.operators`: http://www.boost.org/ .. _`GCC-XML`: http://www.gccxml.org -.. _`pyplusplus` : ./../../pyplusplus.html +.. _`Py++` : ./../../pyplusplus.html .. Local Variables: Modified: pyplusplus_dev/docs/examples/easybmp/easybmp.rest =================================================================== --- pyplusplus_dev/docs/examples/easybmp/easybmp.rest 2006-08-14 07:05:16 UTC (rev 399) +++ pyplusplus_dev/docs/examples/easybmp/easybmp.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -15,7 +15,7 @@ for easily reading, writing, and modifying Windows bitmap (BMP) image files. In this example I am referring to version 0.70. -What is `pyplusplus`_? +What is `Py++`_? ---------------------- .. include:: ./../../definition.rest @@ -24,10 +24,10 @@ Description ----------- -`pyplusplus`_ has been used to create `Python`_ bindings for `EasyBMP`_ +`Py++`_ has been used to create `Python`_ bindings for `EasyBMP`_ library. Before proceeding with this example, I should say, that I did not work with `EasyBMP`_ at all. I have seen it's announcement on www.freshmeat.org site -and decided to test `pyplusplus`_ with "real world" project. It took me 30 +and decided to test `Py++`_ with "real world" project. It took me 30 minutes to create full working python version of this library. This examples consist few files and directories: @@ -52,12 +52,12 @@ |target.bmp| .. |source.bmp| image:: ./source.bmp - :alt: pyplusplus logo + :alt: Py++ logo :align: middle .. :border: 0 .. |target.bmp| image:: ./target.bmp - :alt: pyplusplus logo + :alt: Py++ logo :align: middle .. :border: 0 @@ -67,7 +67,7 @@ http://sourceforge.net/project/showfiles.php?group_id=118209. -.. _`pyplusplus` : ./../../pyplusplus.html +.. _`Py++` : ./../../pyplusplus.html .. _`environment.py`: http://cvs.sourceforge.net/viewcvs.py/pygccxml/source/pyplusplus/examples/py_easybmp/environment.py?view=markup .. _`sconstruct`: http://cvs.sourceforge.net/viewcvs.py/pygccxml/source/pyplusplus/examples/py_easybmp/sconstruct?view=markup .. _`grayscale.py`: http://cvs.sourceforge.net/viewcvs.py/pygccxml/source/pyplusplus/examples/py_easybmp/grayscale.py?view=markup Modified: pyplusplus_dev/docs/examples/examples.rest =================================================================== --- pyplusplus_dev/docs/examples/examples.rest 2006-08-14 07:05:16 UTC (rev 399) +++ pyplusplus_dev/docs/examples/examples.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -8,7 +8,7 @@ Graphical interface ------------------- -`pyplusplus`_ has nice, small and simple `graphical interface`_. Please, read +`Py++`_ has nice, small and simple `graphical interface`_. Please, read `tutorials`_ for more information. .. _`graphical interface` : ./../tutorials/pyplusplus_demo.png @@ -30,7 +30,7 @@ Boost provides free peer-reviewed portable C++ source libraries. -Using `pyplusplus`_ I created Python bindings for few libraries: +Using `Py++`_ I created Python bindings for few libraries: * `Boost.Date_Time`_ * `Boost.CRC`_ @@ -51,7 +51,7 @@ .. _`GUI`: ./../tutorials/pyplusplus_demo.png .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html -.. _`pyplusplus` : ./../pyplusplus.html +.. _`Py++` : ./../pyplusplus.html .. _`EasyBMP`: http://easybmp.sourceforge.net/ .. Modified: pyplusplus_dev/docs/history/history.rest =================================================================== --- pyplusplus_dev/docs/history/history.rest 2006-08-14 07:05:16 UTC (rev 399) +++ pyplusplus_dev/docs/history/history.rest 2006-08-14 10:10:54 UTC (rev 400) @@ -1,6 +1,6 @@ -============================== -pyplusplus development history -============================== +======================== +Py++ development history +======================== .. contents:: Table of contents @@ -22,10 +22,10 @@ 0.8.1 ----- -1. Georgiy Dernovoy contributed a patch, that allows `pyplusplus`_ GUI to +1. Georgiy Dernovoy contributed a patch, that allows `Py++`_ GUI to save\\load last used header file. -2. `pyplusplus`_ improved a lot functionality related to providing feedback to user: +2. `Py++`_ improved a lot functionality related to providing feedback to user: * every package has its own logger @@ -42,10 +42,10 @@ 5. Generated code for member and free functions was changed. This changed was introduced to fix compilation errors on msvc 7.1 compiler. -6. `pyplusplus`_ generates "stable" code. If header files were not changed, - `pyplusplus`_ will not change any file. +6. `Py++`_ generates "stable" code. If header files were not changed, + `Py++`_ will not change any file. -7. Support for huge classes was added. `pyplusplus`_ is able to split registration +7. Support for huge classes was added. `Py++`_ is able to split registration code for the class to multiple cpp files. 8. User code could be added almost anywhere, without use of low level API. @@ -61,19 +61,19 @@ Version 0.8.0 ------------- -1. `pyplusplus`_ "user guide" functionality has been improved. Now `pyplusplus`_ +1. `Py++`_ "user guide" functionality has been improved. Now `Py++`_ can answer few questions: * why this declaration could not be exported * why this function could not be overriden from Python -2. `pyplusplus`_ can suggest an alias for exported classes. +2. `Py++`_ can suggest an alias for exported classes. 3. Small redesign has been done - now it is much easier to understand and maintain code creators, that creates code for C++ functions. ... [truncated message content] |