22template<concepts::View View>
23requires(concepts::BidirectionalContainer<View>)
46 return util::move(m_view);
50 if (m_begin_cache.value.has_value()) {
51 return *m_begin_cache.value;
53 return m_begin_cache.value.emplace(
71 constexpr auto end() const
83 constexpr auto size() const
Definition reverse_iterator.h:26
Definition reverse_view.h:26
constexpr auto base() &&-> View requires(concepts::CopyConstructible< View >)
Definition reverse_view.h:43
constexpr auto base() const &-> View requires(concepts::CopyConstructible< View >)
Definition reverse_view.h:37
constexpr auto begin() -> ReverseIterator< Iter >
Definition reverse_view.h:49
constexpr auto begin() const
Definition reverse_view.h:63
constexpr auto end() -> ReverseIterator< Iter >
Definition reverse_view.h:69
constexpr auto end() const
Definition reverse_view.h:71
constexpr auto begin() -> ReverseIterator< Iter > requires(concepts::CommonContainer< View >)
Definition reverse_view.h:57
constexpr ReverseView(View view)
Definition reverse_view.h:35
constexpr auto size()
Definition reverse_view.h:77
constexpr ReverseView()=default
constexpr auto size() const
Definition reverse_view.h:83
Definition view_interface.h:26
Definition common_container.h:10
Definition operations.h:34
Definition operations.h:27
Definition sized_container.h:8
Definition any_storable.h:9
constexpr auto next
Definition next.h:35
constexpr auto move
Definition move.h:38
constexpr auto size
Definition size.h:54
constexpr auto make_reverse_iterator(Iter iter)
Definition reverse_iterator.h:110
constexpr auto end
Definition end.h:47
ReverseView(Con &&) -> ReverseView< meta::AsView< Con > >
constexpr auto begin
Definition begin.h:44
Definition enable_borrowed_container.h:9