identitiesは、範囲をiterator rangeに変換するRangeアダプタです。
これを使うと、std::vectorや配列、etc...をOvenのIOで出力できたりします。
#include <iostream> #include <vector> #include <pstade/oven/initial_values.hpp> #include <pstade/oven/identities.hpp> #include <pstade/oven/io.hpp> using namespace pstade::oven; int main() { const std::vector<int> v = initial_values(3, 1, 4); std::cout << (v|identities) << std::endl; // {3,1,4} }
#include <iostream> #include <pstade/oven/initial_values.hpp> #include <pstade/oven/identities.hpp> #include <pstade/oven/io.hpp> using namespace pstade::oven; int main() { const int ar[] = {3, 1, 4}; std::cout << (ar|identities) << std::endl; // {3,1,4} }