From: Andrei Alexandrescu (andrewalex_at_[hidden])
Date: 2003-04-25 20:49:17
"Pavel Vozenilek" <pavel_vozenilek_at_[hidden]> wrote in message
> "John Torjo" <john_at_[hidden]> wrote in message
> > assert( (i < j) || (i == 0) || (j == 1) ); would change into
> > SMART_ASSERT( (v_(i) < v_(j)) || (i == 0) || (j == 1) );
> > The output of the above (in case the assertion fails) can look like:
> > Assertion failed:
> > '(v_(i) < v_(j)) || (i < 0) || (v_(k) == -1)'
> > i= '3'
> > j= '2'
> > k= '1'
> This feature looks handy. Short macro like "v_" is IMHO acceptable, it
> clash with definition like:
> int v_;
> I wounder if it could be somehow merged with
> http://www.cuj.com/experts/2104/alexandr.htm?topic=experts ?
By the way, I believe what would be more interesting for Boost is the
recent article (http://www.cuj.com/experts/2106/alexandr.htm), written by
Petru Marginean and myself. (Warning - the article has recently been
We have good experience in reducing source code size by using enforcements.
There are a number of interesting techniques used out there, and I believe
ENFORCE would be quite useful as a Boost library.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk