|
Boost : |
From: Dan W. (danw_at_[hidden])
Date: 2004-01-05 06:59:00
Alan Bellingham wrote:
>>That's more or less the same as contained in almost every <assert.h> header.
>>So what's new with your suggestion?
>
> Not only is it very similar to the assert macro, but it _isn't_
> consistent with the VERIFY macro offered by Microsoft in MFC.
Damn MS! I wasn't aware; never used MFC...
> In MFC, VERIFY(x) expands to (void)(x) in release mode - meaning that
> the expression is always evaluated, unlike the ASSERT macro which
> disappears in release mode. This distinction is useful because sometimes
> you do want the expression evaluated in order to achieve the side
> effects.
Not as an argument, just a personal comment...
[personal]
I find that SOOOO distasteful! In my coding I religiously respect
command <-> query separation: Either a function returns a value but has
no side-effects; or has side-effects but returns void. And it has
served me well.
And to think that such constructs must be supported and be mindful of,
just makes my blood boil..
[/personal]
> Oh, I'd also strongly recommend _not_ introducing new macros with
> lowercase names - they're much less likely to cause naming clashes.
Allright, will ENSURE() do?
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk