oven::frontは範囲の先頭要素を参照する範囲アルゴリズムです。
#include <cassert> #include <vector> #include <pstade/oven/initial_values.hpp> #include <pstade/oven/front.hpp> using namespace pstade::oven; int main() { std::vector<int> v = initial_values(3, 1, 4); assert(front(v) == 3); assert((v|front) == 3); v|front = 5; assert((v|front) == 5); }
先頭要素のコピーを返すoven::value_frontもあります。
#include <cassert> #include <vector> #include <pstade/oven/initial_values.hpp> #include <pstade/oven/front.hpp> using namespace pstade::oven; int main() { std::vector<int> v = initial_values(3, 1, 4); assert(value_front(v) == 3); assert((v|value_front) == 3); v|value_front = 5; // エラー!右辺値を書き換えられない }
【参照】
pstade::oven::front