Boost.Foreach

shared_container_iterator

BOOST_FOREACHは、一時オブジェクトをコピーして保持するが、当然、元のソースまでは手に負えない 元の一時オブジェクト std::string("abc") は、BOOST_FOREACHのループ内で使うころには消えている BOOST_FOREACHで使えるようにするために、iterator自身がリ…

最新の?forループ

繰り返しも再利用可能なクラスに(無駄に)できる boost::counting_iteratorというのがあるのでそれをRangeにする・・・ダウンロード []std[][]::[][]vector[][]<[][]int[][]> [][]vec[][];[] []int[] []ans[][][] = { [][]0[][], [][]1[][], [][]2[][], [][]3…

Boost.Foreachの実装の説明

Conditional Love: FOREACH Reduxにあります Foreachに興味ない人でも必見

Boost.ForeachとBoost.RangeEx

Boost.Iteratorのboost::filter_iteratorは使い方がめんどう Boost.RangeExのboost::make_filter_rangeでその作業を自動化できる そのままBoost.RangeExの関数はもちろん、BOOST_FOREACHにも渡せる 以下のfind_fileの実装はKetchup Version1.02にあります []…