Boost logo

Boost Users :

Subject: [Boost-users] Problem with boost::bind, boost::shared_ptr and std::find_if algorithm
From: przemyslaw.sliwa_at_[hidden]
Date: 2010-08-03 09:34:02


I have the following data sructure:

                struct WeightedTimeHolder
                        double time;
                        double dt;
                        double weight;
                        double dailyVol;
                        double varDelta_t;
                        double cutToCutdailyVol;
                        double extraVar;
                        double varPlusEventVar;
                        double aggrVar;
                        double implVol;
                        int cut;

and typedef multimap<int, boost::shared_ptr<WeightedTimeHolder> > DataMap.

Now given value of cut in this data structure I would like to find the
next position in DataMap which corresposnds to this gven value, I do it in
the following manner:

void nextPositionForCut(DataMap::iterator& pos, CutOffType cut) const
                while((*(++pos)).second->cut!=cut && pos!=m_pData->end())

                // convert to boost::bind for better use!
                //pos = find_if(pos, m_pData->end(),
boost::bind(&DataMap::value_type::second::value_type::cut, _1) == cut);

Since this looks really ugly I would like to ask you how this can be
converto to find_if algorithm with a little help of boost::bind. I tried
but could not succees.

Thanks for help,


This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorised copying, disclosure or distribution of the material in this e-mail is prohibited.

Please refer to for additional disclosures.

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at