From: Dave Gomboc (dave_at_[hidden])
Date: 2003-02-17 06:05:04
> > No, I would prefer
> > #if BOOST_WORKAROUND(__HP_aCC, <=33900) ||
> > BOOST_WORKAROUND(__VisualAge, <=12345)
> > template <bool cond, typename T> struct enable_if;
> > #else
> > template <bool, typename> struct enable_if;
> > #endif
> > I already explained the reason: C++ compiler vendors use Boost with
> > BOOST_NO_CONFIG for conformance testing. I'd rather see broken
> > compilers get fixed than developers forever spending time finding
> > workarounds.
> OK, agreed. Given that we use another approach for static constants,
> what do you think about:
> template< BOOST_UNUSED_TEMPLATE_PARAMETER( bool, cond ),
> BOOST_UNUSED_TEMPLATE_PARAMETER( typename, T ) >
> struct enable_if;
> Or should we instead replace BOOST_STATIC_CONSTANT by a #ifdef, too? Or
> is BOOST_STATIC_CONSTANT different, probably because there is no "right"
> code and a workaround, but there are two equally good ways to declare
> static constants?
Yes, I think a distinction can be drawn between the declaration of integer
constants and the present issue.
As I was recently reminded in another thread, Boost uses BOOST_NO_... for
all defects, so the name you propose is perhaps not the most suitable.
The construct itself seems satisfactory, I don't have a firm preference
between the two forms. Anyway, let's not get stuck in the bicycle shed.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk