|
Boost : |
From: Nathan Myers (ncm_at_[hidden])
Date: 1999-07-13 11:03:38
Beman wrote:
> If this was a perfect world, or a standards committee, I wouldn't
> have to be writing this message. But in the real world, where
> compilers don't all conform to standards, we need a way to specify
> compiler configuration information.
>
> While few like doing so, the most practical way of coping with small
> platform dependencies is via macros. Both program maintenance and
> porting costs are minimized by defining the macros in a single
> configuration file.
>
> For example, boost/smart_ptr.h uses member templates if available,
> controlled by the definition or lack of a macro
> BOOST_NMEMBER_TEMPLATES. So that most users to not need to even know
> about this possible compiler shortcoming, smart_ptr.h should #include
> <boost/config.h> (or whatever name).
>
> Here is a first cut at config.h. Comments appreciated.
I thought we had agreed that Boost wouldn't have workarounds
for missing standard features. People with broken compilers
don't have to include Boost headers. Once you start down
the road of supporting broken compilers, where do you stop?
I don't see anything wrong with accommodating differences of
interpretation (e.g. "standard" vs. "standard+DRs"), but without
major features like member templates, it's a different language,
maybe calling for different (e.g. non-Boost) libraries.
Is BOOST_NEXCEPTIONS next? BOOST_EMBEDDED?
Nathan Myers
ncm_at_[hidden]
------------------------------------------------------------------------
eGroups.com home: http://www.egroups.com/group/boost
http://www.egroups.com - Simplifying group communications
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk