Boost logo

Boost :

Subject: Re: [boost] [review][constrained_value] ReviewofConstrainedValueLibrary begins today
From: Chris (indy271828_at_[hidden])
Date: 2008-12-07 19:16:40

Robert Kawulak wrote:
>> From: Chris
>> Quick question, if I made a NullErrorPolicy, and had compiler
>> optimization on. Shouldn't the compiler remove all bounded checks?
>> (empty) There would be no need for me to worry about optimization and
>> slowness.
>> This would be probably be the proper way rather than myint types;
>> #ifdef MYDEBUG
>> typedef NullErrorPolicy Policy;
>> #else
>> typedef throw_exception
>> <
>> nce/structboost_1_1constrained__value_1_1throw__exception.html
>>> <my_exception>
>> Policy;
>> #endif
> And why not simply as described in ?

Because if I have 100 uses of constrained, I don't have 100 typedefs or
more templates.
I only need that one Policy typedef, and in my code:

#ifdef MYDEBUG
typedef NullErrorPolicy Policy;
typedef throw_exception<my_exception> Policy;

struct A {

bounded_int<int, 0, 100, Policy> a;
bounded_int<int, 50, 100, Policy> b;
bounded_int<int, 2, 3, Policy> c;


It would be the same for compiler optimization as unconstrained, wouldn't it? It should remove any useless code.

Boost list run by bdawes at, gregod at, cpdaniel at, john at