Boost logo

Boost :

From: Andrei Alexandrescu (andrewalex_at_[hidden])
Date: 2003-04-25 20:49:17


"Pavel Vozenilek" <pavel_vozenilek_at_[hidden]> wrote in message
news:b86mem$397$1_at_main.gmane.org...
>
> "John Torjo" <john_at_[hidden]> wrote in message
> news:005001c30a68$346c5fa0$01211bac_at_PEOPLEFIRST...
> >
> > 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
won't
> 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
updated.)

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.

Andrei


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