|
Boost : |
From: Sascha Seewald (sascha.seewald_at_[hidden])
Date: 2005-09-15 14:38:32
Maciej Sobczak wrote:
>
> In my opinion both approaches have their uses, just like std::vector and
> boost::array.
>
Right. We could support both ways by making the type of range the value
is checked against configurable. I think of a static_range<> for
compile-time checked values and dynamic_ranges to be setup at runtime.
// compile time checked value
typedef static_range<-10,+10> my_static_constraint;
typedef
constraint_value< my_static_constraint, some_more_policies >
ct_value;
ct_value ctv = 303; // asserts or throws or ...
// runtime checked value
typedef dynamic_range<int> my_dynamic_constraint;
typedef
constraint_value< my_dynamic_constraint, some_more_policies >
rt_value;
rt_value rtv;
rtv.lower_bound( 0 );
rtv.upper_bound( 40 );
rtv = 20; // good
rtv = -1; // bad
Do you think thats possible?
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk