>From: "David Abrahams" <[EMAIL PROTECTED]> > Dirk Gerrits <[EMAIL PROTECTED]> 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 _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost