pstade::oven::concatenated
[お題]
2次元配列を1次元配列の様に走査したい。
#include <iostream> #include <boost/range/algorithm/for_each.hpp> #include <boost/array.hpp> #include <pstade/oven/concatenated.hpp> int main(){ namespace oven = pstade::oven; int array[3][3] = { {0, 1, 2}, {3, 4, 5}, {6, 7, 8} }; boost::for_each(array|oven::concatenated, [](int n){ std::cout << n; }); return 0; }
[出力]
012345678
行列や矩形データの様に2次元配列で保持するデータに対して捜査する場合に便利。
boost::array
ちなみに3次元配列の場合は、
int array[3][3][3] = { { {0, 1, 2}, {3, 4, 5}, {6, 7, 8} }, { {0, 1, 2}, {3, 4, 5}, {6, 7, 8} }, { {0, 1, 2}, {3, 4, 5}, {6, 7, 8} }, }; boost::for_each(array|oven::concatenated|oven::concatenated, [](int n){ std::cout << n; });
こんな感じで、oven::concatenated を2回行えば出来ます。
まさに致せり尽せり。
[pstade]
ver 1.04.3