| 123456789101112131415161718192021222324252627282930313233343536 |
- //
- // owning_view.h
- // stream
- //
- // Created by Sam Jaffe on 3/29/23.
- //
- #pragma once
- #include <iterator/detail/macro.h>
- namespace stream::ranges {
- template <typename C> class all_view {
- private:
- C container_;
- public:
- all_view(C && container) : container_(FWD(container)) {}
- auto begin() const { return container_.begin(); }
- auto end() const { return container_.end(); }
- bool empty() const { return container_.empty(); }
- size_t size() const { return container_.size(); }
- };
- template <typename C> all_view(C &&) -> all_view<C>;
- }
- namespace stream::ranges::views {
- template <typename C> auto all(C && container) {
- return all_view(FWD(container));
- }
- }
- #include <iterator/detail/undef.h>
|