2658
Comment: BuildingExtensions added
|
2418
fixed links
|
Deletions are marked like this. | Additions are marked like this. |
Line 11: | Line 11: |
* ["boost.python/FAQ"] * boost.python/HowTo * boost.python/BuildingExtensions * ["boost.python/module"] level: def,scope * ["boost.python/class"] * ["boost.python/extract"] * ["boost.python/object"] * ["boost.python/list"] * ["boost.python/iterator"] |
* ["/FAQ"] * /HowTo * /BuildingExtensions * ["/module"] level: def,scope * ["/class"] * ["/extract"] * ["/object"] * ["/list"] * ["/iterator"] |
Line 22: | Line 22: |
1. boost.python/SimpleExample 1. boost.python/ExportingClasses 1. boost.python/OverridableVirtualFunctions 1. boost.python/FunctionOverloading 1. ["boost.python/Inheritance"] 1. boost.python/SpecialMethod 1. boost.python/PeekUnderTheHood 1. boost.python/CrossExtensionModuleDependencies 1. boost.python/WrappingEnums 1. boost.python/PointersAndSmartPointers 1. boost.python/InternalDataStructures |
1. /SimpleExample 1. /ExportingClasses 1. /OverridableVirtualFunctions 1. /FunctionOverloading 1. ["/Inheritance"] 1. /SpecialMethod 1. /PeekUnderTheHood 1. /CrossExtensionModuleDependencies 1. /WrappingEnums 1. /PointersAndSmartPointers 1. /InternalDataStructures |
The Boost.Python Library binds C++ and Python in a mostly-seamless fashion. It is just one member of the boost C++ library collection at http://www.boost.org.
Use the Boost Python Library to quickly and easily export C++ to Python such that the Python interface is very similar to the C++ interface. It is designed to be minimally intrusive on your C++ design. In most cases, you should not have to alter your C++ classes in any way in order to use them with Boost.Python. The system should simply reflect your C++ classes and functions into Python. Boost.Python bindings are written in pure C++, using no tools other than your editor and your C++ compiler.
The Python [http://www.python.org/sigs/c++-sig/ C++-sig] serves as a mailing list for users of the library. Documentation for the current release is available at http://www.boost.org/libs/python/. Development documentation, which is usually more up-to-date, is available through the [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/boost/boost/libs/python/doc/index.html Boost CVSWeb] interface.
This page serves as a forum to gather peoples' experience and as a cookbook, as it is more dynamic by nature and open to contributors.
Various items:
- ["/FAQ"]
- ["/module"] level: def,scope
- ["/class"]
- ["/extract"]
- ["/object"]
- ["/list"]
- ["/iterator"]
Tutorial:
- ["/Inheritance"]
From David Abrahams:
Boost.Python is designed with the idea in mind that users never touch a PyObject*.
Boost.Python depends on quite a few of the other boost libraries (possibly a few others):
- type_traits
- bind
- function
- mpl
- smart_ptr
IIUC, ["weave"] can be used for embedding nontrivial C++ code, if you're willing to stick it all inside one function body. Furthermore, tools like weave.blitz() can make an enormous difference by compiling an entire C++ expression template corresponding to an arbitrarily complicated Python expression. Surely that's nontrivial. It's definitely cool. I think weave offers enormous power to the person who's programming mostly in Python.