Boost logo

Boost :

From: Kevin S. Van Horn (Kevin.VanHorn_at_[hidden])
Date: 2002-11-09 18:49:38

I found some documentation problems in the Boost Configuration
Reference, and possibly some obsolete symbols in the configuration
headers. These comments all apply to the boost_1_29_0 release. Here
are the specifics:

1. The config headers may define


which is not mentioned in the documentation; however, the documentation


which is not defined in any config header, but is used in


2. No config header defines BOOST_HAS_PTHREAD_YIELD, although it is
described in the documentation. It is used in some tests and one place
in Boost Threads.

3. BOOST_COMPILER_VERSION is defined in the config headers, but is
undocumented and unused.

4. BOOST_DECL is defined in the config headers, but is undocumented and
unused except in test libs/config/test/config_info.cpp.

5. BOOST_HAS_MPTASKS is defined in the config headers, but is
undocumented. It is used only in Boost Threads.

6. BOOST_NO_CWTYPE is defined in the config headers, but is undocumented
and unused.

7. BOOST_STD_EXTENSION_NAMESPACE is defined in the config headers and
widely used, but is undocumented.

8. The documentation states, in guidelines to Boost authors,

"Boost files that use macros defined in <boost/config.hpp> should have
sensible, standard conforming, default behavior if the macro is not
defined. This means that the starting point for porting
<boost/config.hpp> to a new platform is simply to define nothing at all
specific to that platform. In the rare case where there is no sensible
default behavior, an #error message should describe the problem."

Aren't there some macros, such as BOOST_STATIC_CONSTANT,
BOOST_USE_FACET, BOOST_NESTED_TEMPLATE, etc., that you can count on
always being defined to something, even on (the mythical) fully
standard-conforming platforms?

Kevin S. Van Horn, Ph.D. | kvanhorn_at_[hidden]
Kevin S. Van Horn & Associates |

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