|
| constexpr | View ()=default |
| |
| constexpr | View (concepts::ConvertibleToNonSlicing< Iter > auto iterator, Sent sentinel) |
| |
| constexpr | View (concepts::ConvertibleToNonSlicing< Iter > auto iterator, Sent sentinel, SizeType size) |
| |
template<typename Cont>
requires (!concepts::DecaySameAs<Cont, View> && concepts::BorrowedContainer<Cont> && concepts::ConvertibleToNonSlicing<meta::ContainerIterator<Cont>, Iter> && concepts::ConvertibleTo<meta::ContainerSentinel<Cont>, Sent>) (!store_size || concepts::SizedContainer<Cont>) |
| constexpr | View (Cont &&container) |
| |
template<concepts::BorrowedContainer Cont>
requires (concepts::ConvertibleToNonSlicing<meta::ContainerIterator<Cont>, Iter> && concepts::ConvertibleTo<meta::ContainerSentinel<Cont>, Sent>) (is_sized) |
| constexpr | View (Cont &&container, SizeType size) |
| |
| constexpr auto | begin () const -> Iter requires(concepts::Copyable< Iter >) |
| |
| constexpr auto | begin () -> Iter requires(!concepts::Copyable< Iter >) |
| |
| constexpr auto | end () const -> Sent |
| |
| constexpr auto | empty () const -> bool |
| |
| constexpr auto | size () const -> SizeType requires(is_sized) |
| |
| constexpr auto | advance (SSizeType n) -> View & |
| |
| constexpr auto | prev (SSizeType n=1) const -> View requires(concepts::BidirectionalIterator< Iter >) |
| |
| constexpr auto | next (SSizeType n=1) const &-> View requires(concepts::ForwardIterator< Iter >) |
| |
| constexpr auto | next (SSizeType n=1) &&-> View |
| |
| constexpr auto | empty () -> bool requires(concepts::SizedContainer< Self >||concepts::ForwardContainer< Self >) |
| |
| constexpr auto | empty () const -> bool requires(concepts::SizedContainer< Self const >||concepts::ForwardContainer< Self const >) |
| |
| constexpr | operator bool () |
| |
| constexpr | operator bool () const |
| |
| constexpr auto | cbegin () |
| |
| constexpr auto | cbegin () const |
| |
| constexpr auto | cend () |
| |
| constexpr auto | cend () const |
| |
| constexpr auto | data () |
| |
| constexpr auto | data () const |
| |
| constexpr auto | size () |
| |
| constexpr auto | size () const |
| |
| constexpr auto | front () |
| |
| constexpr auto | front () const |
| |
| constexpr auto | back () |
| |
| constexpr auto | back () const |
| |
| template<concepts::RandomAccessContainer Cont = Self> |
| constexpr auto | operator[] (meta::ContainerSSizeType< Cont > n) -> decltype(auto) |
| |
| template<concepts::RandomAccessContainer Cont = Self const> |
| constexpr auto | operator[] (meta::ContainerSSizeType< Cont > n) const -> decltype(auto) |
| |
| template<concepts::RandomAccessContainer Cont = Self> |
| constexpr auto | at (meta::ContainerSSizeType< Cont > n) -> Optional< meta::ContainerReference< Cont > > |
| |
| template<concepts::RandomAccessContainer Cont = Self const> |
| constexpr auto | at (meta::ContainerSSizeType< Cont > n) const -> Optional< meta::ContainerReference< Cont > > |
| |
template<types::size_t index>
requires (requires(Self& self) { util::get<index>(self); }) |
| constexpr auto | get () &-> decltype(auto) |
| |
template<types::size_t index>
requires (requires(Self const& self) { util::get<index>(self); }) |
| constexpr auto | get () const &-> decltype(auto) |
| |
template<types::size_t index>
requires (requires(Self&& self) { util::get<index>(util::move(self)); }) |
| constexpr auto | get () &&-> decltype(auto) |
| |
template<types::size_t index>
requires (requires(Self const&& self) { util::get<index>(util::move(self)); }) |
| constexpr auto | get () const &&-> decltype(auto) |
| |
template<typename T>
requires (requires(Self& self) { util::get<T>(self); }) |
| constexpr auto | get () &-> decltype(auto) |
| |
template<typename T>
requires (requires(Self const& self) { util::get<T>(self); }) |
| constexpr auto | get () const &-> decltype(auto) |
| |
template<typename T>
requires (requires(Self&& self) { util::get<T>(util::move(self)); }) |
| constexpr auto | get () &&-> decltype(auto) |
| |
template<typename T>
requires (requires(Self const&& self) { util::get<T>(util::move(self)); }) |
| constexpr auto | get () const &&-> decltype(auto) |
| |
|
| constexpr friend auto | tag_invoke (types::Tag< vocab::tuple_element >, types::InPlaceType< View >, Constexpr< 0ZU >) -> InPlaceType< Iter > |
| |
| constexpr friend auto | tag_invoke (types::Tag< vocab::tuple_element >, types::InPlaceType< View >, Constexpr< 1ZU >) -> InPlaceType< Sent > |
| |
| constexpr friend auto | tag_invoke (types::Tag< vocab::tuple_element >, types::InPlaceType< View const >, Constexpr< 0ZU >) -> InPlaceType< Iter const > |
| |
| constexpr friend auto | tag_invoke (types::Tag< vocab::tuple_element >, types::InPlaceType< View const >, Constexpr< 1ZU >) -> InPlaceType< Sent const > |
| |
| constexpr friend auto | tag_invoke (types::Tag< vocab::tuple_size >, types::InPlaceType< View >) -> types::size_t |
| |
| template<concepts::DecaySameAs< View > Self> |
| constexpr friend auto | tag_invoke (types::Tag< util::get_in_place >, Constexpr< 0ZU >, Self &&self) -> meta::Like< Self, Iter > |
| |
| template<concepts::DecaySameAs< View > Self> |
| constexpr friend auto | tag_invoke (types::Tag< util::get_in_place >, Constexpr< 1ZU >, Self &&self) -> meta::Like< Self, Sent > |
| |
template<concepts::DecaySameAs< View > Self, typename T>
requires (!concepts::SameAs<Iter, Sent> && (concepts::SameAs<T, Iter> || concepts::SameAs<T, Sent>) ) |
| constexpr friend auto | tag_invoke (types::Tag< util::get_in_place >, types::InPlaceType< T >, Self &&self) -> decltype(auto) |
| |