osrm-backend/include/util/for_each_range.hpp
Daniel Patterson 50d9632ed7
Upgrade formatting to clang-format 10 (#5895)
* Update formatting tools to clang-format-10

* Reformat using clang-format-10.0.09
2020-11-26 07:21:39 -08:00

27 lines
502 B
C++

#ifndef OSRM_UTIL_FOR_EACH_RANGE_HPP
#define OSRM_UTIL_FOR_EACH_RANGE_HPP
namespace osrm
{
namespace util
{
template <typename Iter, typename Func> void for_each_range(Iter begin, Iter end, Func f)
{
auto iter = begin;
while (iter != end)
{
const auto key = iter->first;
auto begin_range = iter;
while (iter != end && iter->first == key)
{
iter++;
}
f(begin_range, iter);
}
}
} // namespace util
} // namespace osrm
#endif