diff options
Diffstat (limited to 'vespalib/src/tests/coro/generator/hidden_sequence.cpp')
-rw-r--r-- | vespalib/src/tests/coro/generator/hidden_sequence.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/vespalib/src/tests/coro/generator/hidden_sequence.cpp b/vespalib/src/tests/coro/generator/hidden_sequence.cpp new file mode 100644 index 00000000000..39eedb4623c --- /dev/null +++ b/vespalib/src/tests/coro/generator/hidden_sequence.cpp @@ -0,0 +1,21 @@ +// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +#include "hidden_sequence.h" + +namespace { + +struct MyHiddenSeq : vespalib::Sequence<size_t> { + const std::vector<size_t> &data; + size_t pos; + MyHiddenSeq(const std::vector<size_t> &data_in) + : data(data_in), pos(0) {} + bool valid() const override { return pos < data.size(); } + size_t get() const override { return data[pos]; } + void next() override { ++pos; } +}; + +} + +vespalib::Sequence<size_t>::UP make_ext_seq(const std::vector<size_t> &data) { + return std::make_unique<MyHiddenSeq>(data); +} |