Boost logo

Boost :

Subject: Re: [boost] [constrained_value] Constrained Value review results
From: vicente.botet (vicente.botet_at_[hidden])
Date: 2010-10-29 08:56:50

----- Original Message -----
From: "Gordon Woodhull" <gordon_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Friday, October 29, 2010 5:25 AM
Subject: Re: [boost] [constrained_value] Constrained Value review results

> On Oct 28, 2010, at 7:21 PM, Robert Kawulak <robert.kawulak_at_[hidden]> wrote:
>>> From: vicente.botet
>>> I was wondering whether the library could not define some more generic logical and comparison
>>> constraints so we can do
>>> constrained<int, and_<greater_equal<int_<-10> >, less_equal<int_<10> > > >
>>> constrained<int, and_<greater_equal<ratio<1,4> >, less_equal<ratio<1,2> > > >
>>> constrained<int, and_<greater_equal<int_<0> >, less_equal<big_prime > > >
>>> constrained<int, and_<greater<int_<0> >, less_equal<int_<10> > > >
>> Similar thing, but based on lambdas, was already suggested by Gordon Woodhull and Stjepan Rajko was attempting to do this with
>> Boost.Phoenix. I don't know if this functionality is already included in that library. That's the discussion:
> Heh heh. That was a fun idea: that in theory you could produce perfectly efficient predicates without boost::function, possibly even zero-size.

Yes, this is what I expect for these constraints efficiency and zero-size.
> Unfortunately Stjepan found that Phoenix was not designed to produce small enough functors to serve as good predicates for constrained. It would take a redesigned Phoenix or another library to do this sort of thing right.

I don't know what problems Phoenix has. Maybe we need to wait for a new library, but in the context of the Constraint library I find that all these predicates are no so hard to implement and will give a real power to the library.

Just my 2 cts.

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