khteh
khteh

Reputation: 3976

C++23 ranges::elements_of from combination of multiple ranges::iota_view?

How to generate a sequence of numbers from a combination of multiple ranges?

generator<const size_t &> GenerateSequence(size_t start1, size_t end1, size_t start2, size_t end2)
{
    co_yield ranges::elements_of(ranges::iota_view{start, end});
}

I am looking for contatenation of the ranges in elements_of

Upvotes: 0

Views: 79

Answers (1)

vht981230
vht981230

Reputation: 4946

It's pretty straightforward I think. You just need to have co_yield for std::ranges::iota_view for each given range

std::generator<const size_t &> GenerateSequence(size_t start1, size_t end1, size_t start2, size_t end2) {
  co_yield std::ranges::elements_of(std::ranges::iota_view{start1, end1});
  co_yield std::ranges::elements_of(std::ranges::iota_view{start2, end2});
}

Upvotes: 1

Related Questions