Boost.Rangeが流行っている気がするので解説します。それぞれの細かい機能についてはリファレンスを見てね。この記事はBoost.Rangeが分からない人、特に全く知らない向けの記事になっているため、boostが1ミリも分からなくても読める記事になっているつもりです。なお、私がこの記事を書く上で使用したBoostのバージョンは1.60.0です。リファレンスは以下です。URLをちょっといじれば好きなバージョンに飛べると思います。 http://www.boost.org/doc/libs/1_60_0/libs/range/doc/html/ なお、標準ライブラリのアルゴリズムヘッダも参照のこと。 http://en.cppreference.com/w/cpp/algorithm Boost.Rangeとは イテレータ対(iterator pair)というイディオムを応用発展させたbo