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-845C5H  for additional disclosures.