Boost.ForeachとBoost.RangeEx
- Boost.Iteratorのboost::filter_iteratorは使い方がめんどう
- Boost.RangeExのboost::make_filter_rangeでその作業を自動化できる
- そのままBoost.RangeExの関数はもちろん、BOOST_FOREACHにも渡せる
- 以下のfind_fileの実装はKetchup Version1.02にあります
[]find_file[] []ff[]([]_T[]([]"*.*"[]));
[]BOOST_FOREACH[](
[]WIN32_FIND_DATA[] []const[]& []fd[],
[]boost[]::[]make_filter_range[]([]ff[], []boost[]::[]not1[]([]find_file_matches_mask[]<[]FILE_ATTRIBUTE_HIDDEN[]>()))
)
{
[]ATLTRACE[]([]fd[].[]cFileName[]);
[]ATLTRACE[]([]_T[]([]"\n"[]));
}