A utility for constructing a view from a (derived) type that implements begin and end cursors. More...
#include <range/v3/view/facade.hpp>
 Inheritance diagram for ranges::view_facade< Derived, Cardinality >:
 Inheritance diagram for ranges::view_facade< Derived, Cardinality >:| Classes | |
| struct | view_as_cursor | 
| Public Member Functions | |
| template<typename D  = Derived> requires same_as<D, Derived> | |
| constexpr auto | begin () -> detail::facade_iterator_t< D > | 
| Let dbestatic_cast<Derived &>(*this). Letbbestd::as_const(d).begin_cursor()if that expression is well-formed; otherwise, letbbed.begin_cursor(). LetBbe the type ofb.  More... | |
| template<typename D  = Derived> requires same_as<D, Derived> | |
| 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. | |
| template<typename D  = Derived> requires same_as<D, Derived> | |
| constexpr auto | end () -> detail::facade_sentinel_t< D > | 
| Let dbestatic_cast<Derived &>(*this). Letebestd::as_const(d).end_cursor()if that expression is well-formed; otherwise, letebed.end_cursor(). LetEbe the type ofe.  More... | |
| template<typename D  = Derived> requires same_as<D, Derived> | |
| 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. | |
|  Public Member Functions inherited from ranges::view_interface< Derived, Cardinality > | |
| constexpr auto | empty () const noexcept -> bool | 
| Test whether a range can be empty: | |
| template<bool True = true> requires True | |
| &&!detail ::has_fixed_size_< Cardinality > &&forward_range< D< True > const > constexpr bool | empty () const noexcept(noexcept(bool(ranges::begin(std::declval< D< True > const & >())==ranges::end(std::declval< D< True > const & >())))) | 
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| template<bool True = true> requires True | |
| &&Cardinality< 0) &&(Cardinality !=infinite) &&(!forward_range< D< True > >) &&sized_range< D< True > > constexpr bool empty() noexcept(noexcept(bool(ranges::size(std::declval< D< True > & >())==0))) { return ranges::size(derived())==0;} template< bool True=true > &&Cardinality< 0) &&(Cardinality !=infinite) &&(!forward_range< D< True > const >) &&sized_range< D< True > const > constexpr bool empty() const noexcept(noexcept(bool(ranges::size(std::declval< D< True > const & >())==0))) { return ranges::size(derived())==0;} template< bool True=true > &&!detail ::has_fixed_size_< Cardinality > &&forward_range< D< True > > constexpr bool | empty () noexcept(noexcept(bool(ranges::begin(std::declval< D< True > & >())==ranges::end(std::declval< D< True > & >())))) | 
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| template<bool True = true> requires True | |
| &&detail::can_empty_< D< True > const > constexpr | operator bool () const noexcept(noexcept(ranges::empty(std::declval< D< True > const & >()))) | 
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| template<bool True = true> requires True | |
| &&detail::can_empty_< D< True > > constexpr | operator bool () noexcept(noexcept(ranges::empty(std::declval< D< True > & >()))) | 
| view_interface & | operator= (view_interface &&)=default | 
| view_interface & | operator= (view_interface const &)=default | 
| view_interface (view_interface &&)=default | |
| view_interface (view_interface const &)=default | |
| Protected Member Functions | |
| constexpr view_as_cursor | begin_cursor () const | 
| constexpr default_sentinel_t | end_cursor () const | 
|  Protected Member Functions inherited from ranges::view_interface< Derived, Cardinality > | |
| constexpr Derived const & | derived () const noexcept | 
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| constexpr Derived & | derived () noexcept | 
| Protected Attributes | |
| friend | range_access | 
| Additional Inherited Members | |
|  Protected Types inherited from ranges::view_interface< Derived, Cardinality > | |
| template<bool B> | |
| using | D = meta::invoke< detail::dependent_< B >, Derived > | 
A utility for constructing a view from a (derived) type that implements begin and end cursors.
| Derived | A type that derives from view_facadeand implements begin and end cursors. This type is permitted to be incomplete. | 
| Cardinality | The cardinality of this view: finite,infinite, orunknown. Seeranges::cardinality. | 
| 
 | constexpr | 
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. 
ranges::basic_iterator<B>(b) | 
 | constexpr | 
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. 
ranges::basic_iterator<E>(e) if E is the same as B computed above for begin(); otherwise, return e.