|
Boost Users : |
Subject: Re: [Boost-users] error C2825: 'F': must be a class or namespace when followed by '::'
From: simone pilozzi (simonepilozzi_at_[hidden])
Date: 2011-04-20 14:09:14
Thanks it compiles
On 20 April 2011 19:23, Jeff Flinn <TriumphSprint2000_at_[hidden]> wrote:
> simone pilozzi wrote:
>
>> Dear Users,
>> I am using a pointer to a function member with the std::transform
>> alorithm.
>> The class is a QuantLib class called DayCounter and the method is called
>> yearFraction
>> and takes in two mandatory dates and two optionals to return the
>> corresponding year fraction.
>> /yearFraction ( QuantLib::Date t1,QuantLib::Date t2,QuantLib::Date t3 =
>> Date(),QuantLib::Date t4=Date())/
>> Now I tried to fill a vector called yearfracs in this way
>> boost::shared_ptr<QuantLib::DayCounter> dc( new QuantLib::ActualActual);
>>
>> QuantLib::Date t = todaysDate()
>>
>> std::vector<QuantLib::Time> yearfracs;
>>
>> std::transform(subsample.begin(),subsample.end(),
>>
>>
>> yearfracs.begin(),boost::bind(&QuantLib::ActualActual::yearFraction,&dc,t,_2))
>>
>
> Assuming you want each subsample item to be pass as t2 :
>
>
> boost::bind
> (&QuantLib::ActualActual::yearFraction
> ,&dc
> ,t
> ,_1
> , QuantLib::Date()
> , QuantLib::Date())
>
> You need the _1, as you are generating a unary function object. IIRC, you
> need to specify the default args.
>
> Also I assume yearFracs.size() >= subsamble.size()?
>
> Jeff
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net