Thanks for your swift reply.
Yes,it is of the same size, I must change the line std::vector<QuantLib::Time> yearfracs(subsample.size())
Thanks again
On 20 April 2011 19:23, Jeff Flinn
<TriumphSprint2000@hotmail.com> 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@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users