Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.

You can easily rename functions, classes, member functions, attributes, etc. Just use the function rename, like this:

    World = Class("World", "hello.h")
    rename(World, "IWorld")
    show = Function("choice", "hello.h")
    rename(show, "Show")

You can rename member functions and attributes using this syntax:

    rename(World.greet, "Greet")
    rename(World.set, "Set")
    choice = Enum("choice", "hello.h")
    rename(choice.red, "Red")
    rename(choice.blue, "Blue")

You can exclude functions, classes, member functions, attributes, etc, in the same way, with the function exclude:

    exclude(World.greet)
    exclude(World.msg)

To access the operators of a class, access the member operator like this (supposing that C is a class being exported):

    exclude(C.operator['+'])
    exclude(C.operator['*'])
    exclude(C.operator['<<'])

The string inside the brackets is the same as the name of the operator in C++.

Virtual Member Functions

Pyste automatically generates wrappers for virtual member functions, but you may want to disable this behaviour (for performance reasons, for instance) if you do not plan to override the functions in Python. To do this, use the function final:

    C = Class('C', 'C.h')
    final(C.foo) ##C::foo is a virtual member function

No virtual wrapper code will be generated for the virtual member function C::foo that way.