Che io sappia il "range" dovrebbe essere previsto dal prossimo standard, ma può essere che qualche compilatore lo implementi a livello tr1 (se non è in std è in std::tr1 insomma).
Visual C++ 2010 implementa già alcune cose, oppure si vedere se c'è qualcosa in boost.
Comunque sia, le funzioni che hai citato non sanno il "from - to" di iteratori che gli passi. Puoi benissimo passare due iteratori appartenenti a un intervallo mediano di un container. L'unico vincolo è che l'interatore From sia più basso dell'iteratore To.
Tradotto in codice:
codice:list<TipoX> MyList. list.push_back(...); // per 32 volte. list<TipoX>::iterator From = std::advance(MyList.begin() 10); list<TipoX>::iterator To = std::advance(MyList.begin() 20); find_if(From,to, <condizione>); From = std::advance(MyList.begin() 25); To= std::advance(MyList.begin() 30); find_if(From,to, <condizione>);

Rispondi quotando