|
Boost.PythonConfiguration |
Boost.Python uses several configuration macros in <boost/config.hpp>, as well as configuration macros meant to be supplied by the application. These macros are documented here.
These are the macros that may be defined by an application using Boost.Python. Note that if you extend a strict interpretation of the C++ standard to cover dynamic libraries, using different values of these macros when compiling different libraries (including extension modules and the Boost.Python library itself) is a violation of the ODR. However, we know of no C++ implementations on which this particular violation is detectable or causes any problems.
Macro | Default | Meaning |
---|---|---|
BOOST_PYTHON_MAX_ARITY |
15 | The maximum arity of any
function, member function, or constructor to be wrapped, invocation
of a Boost.Python function wich is specified as taking arguments
x1, x2, ...X n. This includes, in
particular, callback mechanisms such as object::operator()( ...)
or call_method<R>( ...
) . |
BOOST_PYTHON_MAX_BASES |
10 | The maximum number of template arguments to the bases< ...>
class template, which is used to specify the bases of a wrapped C++
class.. |
These macros are defined by Boost.Python and are implementation details of interest only to implementors and those porting to new platforms.
Macro | Default | Meaning |
---|---|---|
BOOST_PYTHON_TYPE_ID_NAME |
not defined | If defined, this indicates that the type_info comparison across
shared library boundaries does not work on this platform. In other
words, if shared-lib-1 passes typeid(T) to a function in
shared-lib-2 which compares it to typeid(T) , that
comparison may return false . If this macro is #defined,
Boost.Python uses and compares typeid(T).name() instead
of using and comparing the std::type_info objects
directly. |
Revised 04 October, 2002
© Copyright Dave Abrahams 2002. All Rights Reserved.