From f4d457998f24674b38d1e4df2ea9c31074c72baf Mon Sep 17 00:00:00 2001 From: Dave Abrahams Date: Fri, 4 Oct 2002 14:24:25 +0000 Subject: [PATCH] doc update [SVN r15709] --- doc/v2/configuration.html | 226 +++++++++++++++++++++++--------------- doc/v2/definitions.html | 12 ++ 2 files changed, 150 insertions(+), 88 deletions(-) diff --git a/doc/v2/configuration.html b/doc/v2/configuration.html index bb6b7344..d6a1fdef 100644 --- a/doc/v2/configuration.html +++ b/doc/v2/configuration.html @@ -1,91 +1,141 @@ + + - - - -Boost.Python - Configuration - - - + + + + + Boost.Python - Configuration + + + +
- - - - -
-

-

-
-

Boost.Python

-

Configuration

-
-
-
-
Introduction
-
Application Defined Macros
-
Public Library Defined Macros
-
Library Defined Implementation Macros
-
-

Introduction

-

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.

-

Application Defined Macros

-

These are the macros that may be defined by an application using Boost.Python.

- - - - - - - - - - - - - -
MacroMeaning
{{macro}}{{meaning}}
{{macro}}{{meaning}}
-

Public Library Defined Macros

-

These macros are defined by Boost.Python but are expected to be used by application - code.

- - - - - - - - - - - - - -
MacroMeaning
{{macro}}{{meaning}}
{{macro}}{{meaning}}
-

Library Defined Implementation Macros

-

These macros are defined by Boost.Python and are implementation details of interest - only to implementers.

- - - - - - - - - - - - - -
MacroMeaning
{{macro}}{{meaning}}
{{macro}}{{meaning}}
-
-

Revised - - 05 November, 2002 - -

-

© Copyright Dave Abrahams - 2002. All Rights Reserved.

- + + +

C++ Boost

+ + + +

Boost.Python

+ +

Configuration

+ + + +
+ +
+
Introduction
+ +
Application Defined Macros
+ +
Library Defined Implementation + Macros
+
+ +

Introduction

+ +

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.

+ +

Application Defined Macros

+ +

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_ARITY15The 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,...Xn. This includes, in + particular, callback mechanisms such as object::operator()(...) + or call_method<R>(... + ).
BOOST_PYTHON_MAX_BASES10The maximum number of template arguments to the bases<...> + class template, which is used to specify the bases of a wrapped C++ + class..
+ +

Library Defined Implementation + Macros

+ +

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_NAMEnot definedIf 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.

+ + diff --git a/doc/v2/definitions.html b/doc/v2/definitions.html index f36dc284..5268b9c5 100644 --- a/doc/v2/definitions.html +++ b/doc/v2/definitions.html @@ -71,6 +71,18 @@ constructors (12.1), no private or protected non-static data members (clause 11), no base classes (clause 10), and no virtual functions (10.3). + +

+
+ +
ODR: The "One Definition + Rule", which says that any entity in a C++ program must have the same definition in all translation units (object files) which make up a program. +
+ +

+
+ +