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に入ってくれるといいなー。