 Inheritance diagram for ranges::drop_last_view< Rng, detail::drop_last_view::mode_bidi >:
 Inheritance diagram for ranges::drop_last_view< Rng, detail::drop_last_view::mode_bidi >:| Public Member Functions | |
| Rng & | base () | 
| Rng const & | base () const | 
| iterator_t< Rng > | begin () | 
| template<typename CRng  = Rng const> requires random_access_range<CRng> && sized_range<CRng> | |
| iterator_t< CRng > | begin () const | 
| constexpr | drop_last_view (Rng rng, difference_t n) | 
| sentinel_t< Rng > | end () | 
| template<typename CRng  = Rng const> requires random_access_range<CRng> && sized_range<CRng> | |
| iterator_t< CRng > | end () const | 
| auto | size () | 
| auto | size () const | 
|  Public Member Functions inherited from ranges::view_interface< drop_last_view< Rng, detail::drop_last_view::mode_bidi >, is_finite< Rng >::value ? finite :range_cardinality< Rng >::value > | |
| constexpr auto | empty () const noexcept -> bool | 
| Test whether a range can be empty: | |
| &&!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. | |
| &&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. | |
| &&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. | |
| &&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 | |
| Additional Inherited Members | |
|  Protected Types inherited from ranges::view_interface< drop_last_view< Rng, detail::drop_last_view::mode_bidi >, is_finite< Rng >::value ? finite :range_cardinality< Rng >::value > | |
| using | D = meta::invoke< detail::dependent_< B >, drop_last_view< Rng, detail::drop_last_view::mode_bidi > > | 
|  Protected Member Functions inherited from ranges::view_interface< drop_last_view< Rng, detail::drop_last_view::mode_bidi >, is_finite< Rng >::value ? finite :range_cardinality< Rng >::value > | |
| constexpr drop_last_view< Rng, detail::drop_last_view::mode_bidi > 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 drop_last_view< Rng, detail::drop_last_view::mode_bidi > & | derived () noexcept |