Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::any_view< Ref, Cat, enable > Struct Template Reference

Description

template<typename Ref, category Cat = category::input, typename enable = void>
struct ranges::any_view< Ref, Cat, enable >

A type-erased view.

+ Inheritance diagram for ranges::any_view< Ref, Cat, enable >:

Public Member Functions

 any_view (any_view &&)=default
 
 any_view (any_view const &that)
 
template<typename Rng >
 any_view (Rng &&rng)
 
any_viewoperator= (any_view &&)=default
 
any_viewoperator= (any_view const &that)
 
auto size () -> std::size_t
 
- Public Member Functions inherited from ranges::view_facade< any_view< Ref, category::input >,(category::input &category::sized)==category::sized ? finite :unknown >
constexpr auto begin () -> detail::facade_iterator_t< D >
 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 >
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr auto end () -> detail::facade_sentinel_t< D >
 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 >
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 

Public Attributes

friend range_access
 

Additional Inherited Members

- Protected Member Functions inherited from ranges::view_facade< any_view< Ref, category::input >,(category::input &category::sized)==category::sized ? finite :unknown >
constexpr view_as_cursor begin_cursor () const
 
constexpr default_sentinel_t end_cursor () const
 
- Protected Attributes inherited from ranges::view_facade< any_view< Ref, category::input >,(category::input &category::sized)==category::sized ? finite :unknown >
friend range_access
 

Constructor & Destructor Documentation

◆ any_view()

template<typename Ref , category Cat = category::input, typename enable = void>
template<typename Rng >
ranges::any_view< Ref, Cat, enable >::any_view ( Rng &&  rng)
Precondition
requires // (!same_as<detail::decay_t<Rng>, any_view>) && input_range<Rng> && detail::any_compatible_range<Rng, Ref>