20 #ifndef OTest2_INCLUDE_OTEST2_REPEATERVALUES_H_
21 #define OTest2_INCLUDE_OTEST2_REPEATERVALUES_H_
23 #include <initializer_list>
35 template<
typename Value_>
38 std::vector<Value_> values;
52 std::vector<Value_>&& values_);
60 std::initializer_list<Value_> values_);
65 template<
typename Container_>
67 Container_&& values_);
72 template<
typename Iter_>
94 const Context& context_)
const noexcept;
104 static std::shared_ptr<RepeaterValue>
createNext(
106 std::shared_ptr<RepeaterValue>& current_,
107 std::vector<Value_>&& values_);
118 template<
typename Container_>
121 std::shared_ptr<RepeaterValue>& current_,
122 Container_&& values_) {
126 std::vector<Value_>(std::forward<Container_>(values_)));
138 template<
typename Iter_>
141 std::shared_ptr<RepeaterValue>& current_,
144 return createNext(context_, current_, std::vector<Value_>(begin_, end_));