В этот ответ здесь, на SO, есть комментарий, предлагающий полезную конструкцию C ++, похожую на make_zip_iterator
, но для диапазонов: он принимает кортеж диапазонов и создает новый диапазон — чьи итераторы begin () и end () являются подходящими итераторами zip.
Теперь это не должно быть слишком сложным для реализации, но мне было интересно — Разве это уже не предлагает Boost как-то?
Boost.Range предоставляет combine()
функционировать как zip_iterator
ассортимент.
http://www.boost.org/doc/libs/1_56_0/libs/range/doc/html/range/reference/utilities/combine.html