
All, 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 { if((*pos).second->cut!=cut) 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, Przemyslaw ___________________________________________________________ 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 http://www.bnpparibas.co.uk/en/information/legal_information.asp?Code=ECAS-8... for additional disclosures.