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 http://www.sig.com Susquehanna International Group, LLP using std::disclaimer;
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk