Boost logo

Boost :

From: Jason Shirk (jasonsh_at_[hidden])
Date: 2002-02-17 02:22:51


I'm not sure it's possible, but a nice addition to Boost would be the
ability to determine if an expression is a constant integer or not.
Everything I've thought of would cause an error if the expression were
not a constant.

I can imagine a couple of uses for this, but the immediate need is to
not allow the following to compile:

        char buf[256];
        strncpy(buf, "this will overrun", 512); // oops, 512 >
256

Here, the compiler can deduce the array bounds. If the count expression
is constant, then it's simple to cause a compile time error. If it's
not, then no error should happen.

Of course tools such as the compiler can be taught to catch this, but a
pure language implementation would be really cool.

Jason Shirk
VC++ Compiler Team


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