RangeExのレビューが始まりました。

comp.lang.c++.moderated - Announce: Boost.RangeEx reviewers needed


ついにBoost.RangeExのレビューが始まりました。

RangeExは以下のようなライブラリです。


1.Range-baseアルゴリズム

STLアルゴリズムだと、適用範囲の先頭と末尾を指定するようになってますが

std::sort(boost::begin(rng), boost::end(rng));

RangeExで提供されるRage-baseアルゴリズムでは以下のように
適用範囲を表すコンテナ/配列を指定することができます。

boost::sort(rng);


2.Rangeアダプタ

これはoperator|によって処理をつないでいくもので、以下のように使用します。

std::vector<int> vec = ...; 

boost::copy(vec | boost::adaptors::reversed, 
            std::ostream_iterator<int>( std::cout ) );

式「vec | boost::adaptors::reversed」はreverse iteratorで左側の範囲のイテレータをラップします。
このライブラリは広範囲(Wide Range・・・意図した洒落はない)のRangeアダプタを提供します。



RangeExは以下からダウンロードできます。
http://www.cs.aau.dk/~nesotto/boost/range_ex.zip



RangeExで提供されるRangeアダプタはOvenに比べるとまだまだ少ないですが
それでも十分強力なので、Boostに入ってくれるといいなー。