Boost logo

Boost :

From: rwgk_at_[hidden]
Date: 2001-01-27 12:42:38

I have created a named CVS branch "ralf_grosse_kunstleve" and checked
in my changes for the support of exporting/importing class wrappers in
the Boost Python Library.

The changes implement three new user-level features that make it
possible to distribute BPL class wrappers for interdependent C++
classes over several extension modules:

To build a class wrapper that also exports the to/from_python()
converters for a copyable type:
    python::x_class_builder<vects::ivect> ivect_class
(this_module, "ivect");

To export the converters for a type that is not copyable:
    python::xptr_class_builder<vects::ivect> ivect_class
(this_module, "ivect");

To import the converters in another extension module:
    python::import_class_builder<vects::dvect> dvect_class
("dvect", "dvect");

Examples that demonstrate and test the new features are:


(There are a number of additional new examples that are not related to
the new features.)

All examples compile and run with:
  Visual C++ 6.0, Service Pack 4
  Redhat 6.1, gcc-2.95.2
  Compaq C++ V6.2-024 for Digital UNIX V5.0 (Rev. 910) (Tru64)
  IRIX 6.5.10f, gcc-2.95.2 (except for comprehensive.cpp)

Makefiles for Linux and Compaq Tru64 are available in the build


Makefile.gcc also works for IRIX 6.5.10f/gcc-2.95.2, except that the
compilation of comprehensive.cpp results in an internal compiler
The build files for Visual C++ are currently not in the CVS tree.

Currently all my changes to the actual BPL are concentrated in two
new files:


At a later stage it would probably make sense to break up the files
put the code in more logical places. I am very interested in feedback,
especially regarding the "QUESTIONMARK"s in


Boost list run by bdawes at, gregod at, cpdaniel at, john at