add util funtion to iterate adjacent pairs of a stl compliant container

This commit is contained in:
Dennis Luxen 2013-12-12 18:29:51 -05:00
parent cd1f45e248
commit 88af9c545b

View File

@ -50,5 +50,19 @@ inline void remove_consecutive_duplicates_from_vector(std::vector<T> & vector) {
vector.resize(number_of_unique_elements); vector.resize(number_of_unique_elements);
} }
template< typename FwdIter, typename Func >
Func for_each_pair( FwdIter iter_begin, FwdIter iter_end, Func func ) {
if( iter_begin == iter_end ) {
return func;
}
FwdIter iter_next = iter_begin;
++iter_next;
for( ; iter_next != iter_end; ++iter_begin, ++iter_next ){
func( *iter_begin, *iter_next );
}
return func;
}
#endif /* CONTAINERUTILS_H_ */ #endif /* CONTAINERUTILS_H_ */