|
Boost : |
Subject: Re: [boost] [review] Review of PolyCollection starts today (May 3rd)
From: Joaquin M López Muñoz (joaquinlopezmunoz_at_[hidden])
Date: 2017-05-06 09:07:03
El 06/05/2017 a las 5:53, Edward Diener via Boost escribió:
> On 5/2/2017 7:46 PM, Ion Gaztañaga via Boost wrote:
>> Hi everyone,
>>
>> The formal review of JoaquÃn M. López Muñoz's PolyCollection library
>> starts today.
>> [...]
>>
>> * boost::function_collection
>
> I could not understand from the documentation what it is I am supposed
> to be
> inserting into a function_collection. The tutorial did not explain
> this to me and the
> reference's technical explanation on this eluded me.
You can insert into a boost::function_collection<Signature> any entity
that a
std::function<Signature> object could be constructed from. For instance,
boost::function_collection<double(int)> holds callable entities that can
be invoked with
a (convertible to) int argument and return a (convertible to) double result:
double f(int n){return (double)n;}
struct g
{
double operator()(int n)const{return (double)2*n;}
};
boost::function_collection<double(int)> c;
c.insert(&f);
c.insert(g{});
double factor=3;
c.insert([=](int n){return factor*n;});
for(const auto& x:c)std::cout<<x(1)<<" "; // prints 3 1 2
This is explained in http://tinyurl.com/kddv9nz . Didn't you find this
section
sufficiently explanatory?
JoaquÃn M López Muñoz
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk