|
Boost : |
From: Beman Dawes (beman_at_[hidden])
Date: 1999-10-14 16:11:48
Ed Brey wrote:
>Reviewing the "tasteless" changes to smart_ptr gave me an idea we
can
>use to clean up the #if macros a little bit (every bit helps). We
can
>try to hide the deprecated macros from implementations in the same
way
>that we try to hide broken compilers traits.
>
>Specifically, we can add this to config.hpp:
>
>#if defined(BOOST_NMEMBER_TEMPLATES)
> #define BOOST_NO_MEMBER_TEMPLATES
>#endif
>
>Then code in implementation files that currently looks like this:
>
>#if !defined( BOOST_NMEMBER_TEMPLATES ) /* old name for
compatibility
>*/ \
> && !defined( BOOST_NO_MEMBER_TEMPLATES )
>
>becomes the more straightforward:
>
>#if !defined( BOOST_NO_MEMBER_TEMPLATES )
>
>
>This also lets document time limits (bombs) in one place, if we
want:
>
>#if defined(BOOST_NMEMBER_TEMPLATES) // This will be unsupported
>after 1/1/2001
> #define BOOST_NO_MEMBER_TEMPLATES
>#endif
>
>I don't have enough experience to know whether this is a good idea,
>but at least the option is open, and the information is reported in
an
>intuitive place.
If we were running on standards committee time, deprecated stuff
would have to hang around for endless years.
But boost runs on some faster, Internet clock, so it doesn't seem
necessary to support BOOST_NMEMBER_TEMPLATES for much longer, IMO.
Interesting technique, though...
--Beman
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk