24template<
typename Self>
25requires(concepts::Class<Self> && concepts::SameAs<Self, meta::RemoveCV<Self>>)
38 constexpr auto empty() const ->
bool
39 requires(
concepts::SizedContainer<Self const> ||
concepts::ForwardContainer<Self const>)
48 constexpr explicit operator bool()
54 constexpr explicit operator bool() const
55 requires(
concepts::HasEmptyContainer<Self const>)
62 requires(
concepts::Container<Self const>)
68 constexpr auto cend() const
69 requires(
concepts::Container<Self const>)
80 constexpr auto data() const
81 requires(
concepts::Container<Self const> &&
concepts::ContiguousIterator<
meta::ContainerIterator<Self const>>)
93 constexpr auto size() const
94 requires(
concepts::ForwardContainer<Self const> &&
95 concepts::SizedSentinelFor<
meta::ContainerIterator<Self const>,
meta::ContainerSentinel<Self const>>)
111 requires(
concepts::ForwardContainer<Self const>)
131 requires(
concepts::BidirectionalContainer<Self const> &&
concepts::CommonContainer<Self const>)
140 template<concepts::RandomAccessContainer Cont = Self>
145 template<concepts::RandomAccessContainer Cont = Self const>
150 template<concepts::RandomAccessContainer Cont = Self>
152 if (n < 0 || n >= this->
size()) {
158 template<concepts::RandomAccessContainer Cont = Self const>
160 if (n < 0 || n >= this->
size()) {
167 constexpr auto self() -> Self& {
return static_cast<Self&
>(*this); }
168 constexpr auto self() const -> Self const& {
return static_cast<Self const&
>(*this); }
Definition view_interface.h:26
constexpr auto at(meta::ContainerSSizeType< Cont > n) -> Optional< meta::ContainerReference< Cont > >
Definition view_interface.h:151
constexpr auto operator[](meta::ContainerSSizeType< Cont > n) const -> decltype(auto)
Definition view_interface.h:146
constexpr auto back() const
Definition view_interface.h:130
constexpr auto cend() const
Definition view_interface.h:68
constexpr auto cbegin() const
Definition view_interface.h:61
constexpr auto at(meta::ContainerSSizeType< Cont > n) const -> Optional< meta::ContainerReference< Cont > >
Definition view_interface.h:159
constexpr auto front() const
Definition view_interface.h:110
constexpr auto cbegin()
Definition view_interface.h:60
constexpr auto data()
Definition view_interface.h:74
constexpr auto data() const
Definition view_interface.h:80
constexpr auto back()
Definition view_interface.h:120
constexpr auto operator[](meta::ContainerSSizeType< Cont > n) -> decltype(auto)
Definition view_interface.h:141
constexpr auto cend()
Definition view_interface.h:67
constexpr auto size()
Definition view_interface.h:86
constexpr auto size() const
Definition view_interface.h:93
constexpr auto empty() const -> bool requires(concepts::SizedContainer< Self const >||concepts::ForwardContainer< Self const >)
Definition view_interface.h:38
constexpr auto empty() -> bool requires(concepts::SizedContainer< Self >||concepts::ForwardContainer< Self >)
Definition view_interface.h:28
constexpr auto front()
Definition view_interface.h:100
Definition optional_forward_declaration.h:5
Definition bidirectional_container.h:8
Definition common_container.h:10
Definition contiguous_iterator.h:9
Definition forward_container.h:8
Definition has_empty_container.h:7
Definition sized_container.h:8
Definition sized_sentinel_for.h:9
Definition any_storable.h:9
constexpr auto prev
Definition prev.h:28
constexpr auto empty
Definition empty.h:45
constexpr auto cend
Definition cend.h:23
constexpr auto size
Definition size.h:54
constexpr auto end
Definition end.h:47
constexpr auto begin
Definition begin.h:44
constexpr auto cbegin
Definition cbegin.h:24
Expected< T, Error > Result
Definition result.h:8
constexpr auto nullopt
Definition nullopt.h:15
Definition zstring_parser.h:9