forked from OctaForge/libostd
add the same iterators to generator_range
This commit is contained in:
parent
b63729641b
commit
ea9ac2e5c6
|
@ -577,6 +577,11 @@ struct generator_range: input_range<generator_range<T>> {
|
|||
bool equals_front(generator_range const &g) const noexcept {
|
||||
return p_gen == g.p_gen;
|
||||
}
|
||||
|
||||
/* same behavior as on generator itself, for range for loop */
|
||||
detail::generator_iterator<T> begin() noexcept;
|
||||
detail::generator_iterator<T> end() noexcept;
|
||||
|
||||
private:
|
||||
generator<T> *p_gen;
|
||||
};
|
||||
|
@ -621,6 +626,16 @@ detail::generator_iterator<T> generator<T>::end() noexcept {
|
|||
return detail::generator_iterator<T>{*this};
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
detail::generator_iterator<T> generator_range<T>::begin() noexcept {
|
||||
return detail::generator_iterator<T>{*p_gen};
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
detail::generator_iterator<T> generator_range<T>::end() noexcept {
|
||||
return detail::generator_iterator<T>{*p_gen};
|
||||
}
|
||||
|
||||
} /* namespace ostd */
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue