Range-v3 Range algorithms, views, and actions for the Standard Library |

Public Member Functions | Public Attributes | List of all members
ranges::any_view< Ref, Cat, meta::if_c<(Cat &category::forward)==category::input > > Struct Template Reference
Inheritance diagram for ranges::any_view< Ref, Cat, meta::if_c<(Cat &category::forward)==category::input > >:

## Public Member Functions
template<typename Rng >
| any_view (Rng &&rng) requires(!defer
auto | size () -> std::size_t requires(category::sized==(Cat &category::sized))
Public Member Functions inherited from ranges::view_facade< any_view< Ref, Cat, void >,(Cat &category::sized)==category::sized ? finite :unknown >
constexpr auto | begin () -> detail::facade_iterator_t< D > requires same_as< D, any_view< Ref, Cat, void > >
| Let `d` be `static_cast<Derived &>(*this)`. Let `b` be `std::as_const(d).begin_cursor()` if that expression is well-formed; otherwise, let `b` be `d.begin_cursor()`. Let `B` be the type of `b`. More...
constexpr auto | begin () const -> detail::facade_iterator_t< D const > requires same_as< D, any_view< Ref, Cat, void > >
constexpr auto | end () -> detail::facade_sentinel_t< D > requires same_as< D, any_view< Ref, Cat, void > >
| Let `d` be `static_cast<Derived &>(*this)`. Let `e` be `std::as_const(d).end_cursor()` if that expression is well-formed; otherwise, let `e` be `d.end_cursor()`. Let `E` be the type of `e`. More...
constexpr auto | end () const -> detail::facade_sentinel_t< D const > requires same_as< D, any_view< Ref, Cat, void > >
Public Member Functions inherited from ranges::view_interface< any_view< Ref, Cat, void >, Cardinality >
constexpr auto | at (range_difference_t< D< True >> n) -> range_reference_t< D< True >> requires True &&random_access_range< D< True >> &&sized_range< D< True >>
| Returns a reference to the element at specified location pos, with bounds checking.
constexpr auto | at (range_difference_t< D< True >> n) const -> range_reference_t< D< True > const > requires True &&random_access_range< D< True > const > &&sized_range< D< True > const >
constexpr auto | back () -> range_reference_t< D< True >> requires True &&common_range< D< True >> &&bidirectional_range< D< True >>
| Access the last element in a range:
constexpr auto | back () const -> range_reference_t< D< True > const > requires True &&common_range< D< True > const > &&bidirectional_range< D< True > const >
constexpr auto | empty () const noexcept -> bool requires(detail::has_fixed_size_(Cardinality))
constexpr auto | empty () noexcept(noexcept(bool(ranges::size(std::declval< D< True > & >())==0))) -> bool requires True &&(Cardinality< 0) &&(Cardinality !=infinite) &&(!forward_range< D< True >>)&&sized_range< D< True >>
constexpr auto | empty () const noexcept(noexcept(bool(ranges::size(std::declval< D< True > const & >())==0))) -> bool requires True &&(Cardinality< 0) &&(Cardinality !=infinite) &&(!forward_range< D< True > const >)&&sized_range< D< True > const >
constexpr auto | empty () noexcept(noexcept(bool(ranges::begin(std::declval< D< True > & >())==ranges::end(std::declval< D< True > & >())))) -> bool requires True &&(!detail::has_fixed_size_(Cardinality)) &&forward_range< D< True >>
constexpr auto | empty () const noexcept(noexcept(bool(ranges::begin(std::declval< D< True > const & >())==ranges::end(std::declval< D< True > const & >())))) -> bool requires True &&(!detail::has_fixed_size_(Cardinality)) &&forward_range< D< True > const >
requires True && | forward_range (input_range< D< True > & > &&sized_range< D< True > & >)) const expr auto operator[](detail
requires True && | forward_range (input_range< D< True > const & > &&sized_range< D< True > const & >)) const expr auto operator[](detail
requires True && | forward_range (input_range< D< True >> &&sized_range< D< True >>)) const expr auto operator[](detail
requires True && | forward_range (input_range< D< True > & > &&sized_range< D< True > & >)) const expr auto operator[](detail
requires True && | forward_range (input_range< D< True > const & > &&sized_range< D< True > const & >)) const expr auto operator[](detail
requires True && | forward_range (input_range< D< True >> &&sized_range< D< True >>)) const expr auto operator[](detail
constexpr auto | front () -> range_reference_t< D< True >> requires True &&forward_range< D< True >>
| Access the first element in a range:
constexpr auto | front () const -> range_reference_t< D< True > const > requires True &&forward_range< D< True > const >
requires True &&detail::can_empty_< D< True > > constexpr | operator bool () noexcept(noexcept(ranges::empty(std::declval< D< True > & >())))
requires True &&detail::can_empty_< D< True > const > constexpr | operator bool () const noexcept(noexcept(ranges::empty(std::declval< D< True > const & >())))
view_interface & | operator= (view_interface &&)=default
view_interface & | operator= (view_interface const &)=default
constexpr auto | operator[] (range_difference_t< D< True >> n) -> range_reference_t< D< True >> requires True &&random_access_range< D< True >>
| Simple indexing:
constexpr auto | operator[] (range_difference_t< D< True >> n) const -> range_reference_t< D< True > const > requires True &&random_access_range< D< True > const >
requires True &&input_range< D< True > & > constexpr auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>> offs) &
| Python-ic slicing:
requires True &&input_range< D< True > const & > constexpr auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>> offs) const &
requires True &&input_range< D< True > > constexpr auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>> offs) &&
requires True &&input_range< D< True > & > &&sized_range< D< True > & > constexpr auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>, detail::from_end_of_t< D< True >>> offs) &
requires True &&input_range< D< True > const & > &&sized_range< D< True > const & > constexpr auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>, detail::from_end_of_t< D< True >>> offs) const &
requires True &&input_range< D< True > > &&sized_range< D< True > > constexpr auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>, detail::from_end_of_t< D< True >>> offs) &&
requires True &&input_range< D< True > & > constexpr auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>, end_fn > offs) &
requires True &&input_range< D< True > const & > constexpr auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>, end_fn > offs) const &
requires True &&input_range< D< True > > constexpr auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>, end_fn > offs) &&
constexpr auto | size () -> detail::iter_size_t< iterator_t< D< True >>> requires True &&(Cardinality< 0) &&sized_sentinel_for< sentinel_t< D< True >>, iterator_t< D< True >>> &&forward_range< D< True >>
| If `sized_sentinel_for<sentinel_t<Derived>, iterator_t<Derived>>` is satisfied, and if `Derived` is a `forward_range`, then return `end - begin` cast to an unsigned integer.
constexpr auto | size () const -> detail::iter_size_t< iterator_t< D< True >>> requires True &&(Cardinality< 0) &&sized_sentinel_for< sentinel_t< D< True > const >, iterator_t< D< True > const >> &&forward_range< D< True > const >
| view_interface (view_interface &&)=default
| view_interface (view_interface const &)=default

## Public Attributes
friend | range_access

## Additional Inherited Members
Protected Types inherited from ranges::view_interface< any_view< Ref, Cat, void >, Cardinality >
using | D = meta::invoke< detail::dependent_< B >, any_view< Ref, Cat, void > >
Protected Member Functions inherited from ranges::view_facade< any_view< Ref, Cat, void >,(Cat &category::sized)==category::sized ? finite :unknown >
constexpr view_as_cursor | begin_cursor () const
constexpr default_sentinel_t | end_cursor () const
Protected Member Functions inherited from ranges::view_interface< any_view< Ref, Cat, void >, Cardinality >
constexpr any_view< Ref, Cat, void > & | derived () noexcept
constexpr any_view< Ref, Cat, void > const & | derived () const noexcept
Protected Attributes inherited from ranges::view_facade< any_view< Ref, Cat, void >,(Cat &category::sized)==category::sized ? finite :unknown >
friend | range_access