このエントリは、Boost Advent Calendar 2011の参加記事です。 Boost Range Libraryは、Boost 1.43.0においてバージョン2にメジャーバージョンアップし、Rangeに対するアルゴリズムと、Rangeアダプタという大きく2つの機能が導入されました。 Rangeアルゴリズムは、既存のイテレータの組みを引数にとるSTLアルゴリズムを一段抽象化し、コンテナや配列のようなRange(範囲)をとるようにしたものです。 std::vector<T> v; for_each(v, f); これによって、「コンテナ全てにアルゴリズムを適用する」というような処理が簡潔に記述できるようになり、 for_each(a.begin(), b.end(), f); のように、間違って異なる変数を範囲として渡してしまうようなバグを埋め込む可能性を減らしてくれます。 Ran