Boost logo

Boost :

From: Rob Stewart (stewart_at_[hidden])
Date: 2004-12-14 17:01:12

From: "Jonathan Turkanis" <technews_at_[hidden]>
> John Maddock wrote:
> > " Boost library implementations access configuration macros via
> > #include <boost/config.hpp>.
> > Boost library users are never required to #include <boost/config.hpp>
> > directly, unless they are using the Boost informational or helper
> > macros which are designed for use by Boost users as well as for our
> > own internal use. However, note that while all the Boost
> > configuration macros are documented here, the feature test and defect
> > test macros are designed for internal use by Boost libraries. If you
> > write code that depends upon these you should be aware that they are
> > subject to the needs of Boost library developers, and while we will
> > try to avoid gratuitous changes, subtle breaking changes are not
> > entirely unknown. "
> I think the last sentence is a bit awkward, esp. "subtle breaking changes" and
> "not entirely unknown."
> I'd prefer:
> "If you write code that depends upon these macros, you should be aware that
> because they are subject to the needs of Boost library developers, small changes
> are occassionally made which could affect your code. The best way to keep up to
> date is to monitor discussions on the Boost devlopers list."

I quite dislike "up to date," and can offer various other

   Boost libraries are implemented using various configuration
   macros defined in boost/config.hpp. While Boost library users
   are not required to include that file directly, or use those
   configuration macros, such use is acceptable. The
   configuration macros are well documented as to their purpose,
   usage, and limitations which makes them easy to use by both
   Boost library and user code.

   Note, however, that the configuration macros are written
   expressly for the needs of the Boost libraries, not user code,
   so they can change at any time (though no gratuitous changes
   are made to them). Boost library problems resulting from
   changes to the configuration macros are caught by the Boost
   regression tests, so the Boost libraries are updated to
   account for those changes. By contrast, Boost library user
   code can be adversely affected by changes to the macros
   without warning. The best way to keep abreast of changes to
   the macros used in user code is to monitor the discussions on
   the Boost developers list.

Rob Stewart                           stewart_at_[hidden]
Software Engineer           
Susquehanna International Group, LLP  using std::disclaimer;

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