blob: 39eedb4623c09b3cce37c4fadbdc9a4cf1a7fd19 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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);
}
|