$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Terje Slettebø (tslettebo_at_[hidden])
Date: 2003-03-09 19:53:58
>From: "David Abrahams" <dave_at_[hidden]>
> Dirk Gerrits <dirk_at_[hidden]> writes:
>
> > Dirk Gerrits wrote:
> > >
> > > I'd say something like:
> > >
> > > #ifdef STATIC_NDEBUG
> > > # define BOOST_STATIC_ASSERT2(e) BOOST_STATIC_ASSERT(e)
> > > #else
> > > # define BOOST_STATIC_ASSERT2(e) (void(e))
> > > #endif
> > >
> > > Analogous to <cassert>.
> >
> > Argh, the if and else branches should be reversed of course. You've
> > gotta love negative logic. ;)
>
> I like the basic idea, but are you sure it will work in all the
> contexts where BOOST_STATIC_ASSERT works? I think BOOST_STATIC_ASSERT
> functions like a declaration, syntactically.
Then how about simply:
#ifndef STATIC_NDEBUG
# define BOOST_STATIC_ASSERT2(e) BOOST_STATIC_ASSERT(e)
#else
# define BOOST_STATIC_ASSERT2(e) // Possibly "void(0)" here, like
"assert"
#endif
By the way, what's the point with "void(0)", compared to nothing? Both
"void(0);" and ";" are valid statements.
Regards,
Terje