Boost logo

Boost :

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.
;-)

Dave


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk