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

Public Member Functions | List of all members
ranges::drop_exactly_view< Rng > Struct Template Reference
Views
Inheritance diagram for ranges::drop_exactly_view< Rng >:

## Public Member Functions
Rng | base () const
iterator_t< Rng > | begin ()
template<bool Const = true>
iterator_t< meta::const_if_c< Const, Rng > > | begin () const
| drop_exactly_view (Rng rng, difference_type_ n)
sentinel_t< Rng > | end ()
template<bool Const = true>
sentinel_t< meta::const_if_c< Const, Rng > > | end () const
auto | size ()
auto | size () const
Public Member Functions inherited from ranges::view_interface< drop_exactly_view< Rng >, is_finite< Rng >::value ? finite :range_cardinality< Rng >::value >
constexpr range_reference_t< D< True > > | at (range_difference_t< D< True >> n)
| Returns a reference to the element at specified location pos, with bounds checking. More...
constexpr range_reference_t< D< True > const > | at (range_difference_t< D< True >> n) 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 range_reference_t< D< True > > | back ()
| Access the last element in a range: More...
constexpr range_reference_t< D< True > const > | back () 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 std::add_pointer_t< range_reference_t< D< True > > > | data ()
| Returns a pointer to the block of memory containing the elements of a contiguous range: More...
constexpr std::add_pointer_t< range_reference_t< D< True > const > > | data () 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 | empty () const noexcept -> bool
| Test whether a range can be empty:
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. More...
constexpr bool | empty () const noexcept(noexcept(bool(ranges::size(std::declval< D< True > const & >())==0)))
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
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. More...
constexpr bool | empty () noexcept(noexcept(bool(ranges::size(std::declval< D< True > & >())==0)))
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
constexpr range_reference_t< D< True > > | front ()
| Access the first element in a range: More...
constexpr range_reference_t< D< True > const > | front () 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 | 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. More...
constexpr | operator bool () noexcept(noexcept(ranges::empty(std::declval< D< True > & >())))
view_interface & | operator= (view_interface &&)=default
view_interface & | operator= (view_interface const &)=default
constexpr auto | operator[] (detail::slice_bounds< detail::from_end_of_t< D< True >>, detail::from_end_of_t< D< True >>> offs) &
| 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 | operator[] (detail::slice_bounds< detail::from_end_of_t< D< True >>, detail::from_end_of_t< D< True >>> offs) &&
| 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 | operator[] (detail::slice_bounds< detail::from_end_of_t< D< True >>, detail::from_end_of_t< D< True >>> offs) 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 | operator[] (detail::slice_bounds< detail::from_end_of_t< D< True >>, end_fn > offs) &
| 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 | operator[] (detail::slice_bounds< detail::from_end_of_t< D< True >>, end_fn > offs) &&
| 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 | operator[] (detail::slice_bounds< detail::from_end_of_t< D< True >>, end_fn > offs) 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 | operator[] (detail::slice_bounds< range_difference_t< D< True >>, detail::from_end_of_t< D< True >>> offs) &
| 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 | operator[] (detail::slice_bounds< range_difference_t< D< True >>, detail::from_end_of_t< D< True >>> offs) &&
| 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 | operator[] (detail::slice_bounds< range_difference_t< D< True >>, detail::from_end_of_t< D< True >>> offs) 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 | operator[] (detail::slice_bounds< range_difference_t< D< True >>, end_fn > offs) &
| 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 | operator[] (detail::slice_bounds< range_difference_t< D< True >>, end_fn > offs) &&
| 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 | operator[] (detail::slice_bounds< range_difference_t< D< True >>, end_fn > offs) 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 | operator[] (detail::slice_bounds< range_difference_t< D< True >>> offs) &
| Python-ic slicing: More...
constexpr auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>> offs) &&
| 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 | operator[] (detail::slice_bounds< range_difference_t< D< True >>> offs) 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 range_reference_t< D< True > > | operator[] (range_difference_t< D< True >> n)
| Simple indexing: More...
constexpr range_reference_t< D< True > const > | operator[] (range_difference_t< D< True >> n) 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 detail::iter_size_t< iterator_t< D< True > > > | size ()
| 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. More...
constexpr detail::iter_size_t< iterator_t< D< True > > > | size () const
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
| view_interface (view_interface &&)=default
| view_interface (view_interface const &)=default

## Additional Inherited Members
Static Public Member Functions inherited from ranges::view_interface< drop_exactly_view< Rng >, is_finite< Rng >::value ? finite :range_cardinality< Rng >::value >
static constexpr std::size_t | size () noexcept
| If the size of the range is known at compile-time and finite, return it. More...
Protected Types inherited from ranges::view_interface< drop_exactly_view< Rng >, is_finite< Rng >::value ? finite :range_cardinality< Rng >::value >
using | D = meta::invoke< detail::dependent_< B >, drop_exactly_view< Rng > >
Protected Member Functions inherited from ranges::view_interface< drop_exactly_view< Rng >, is_finite< Rng >::value ? finite :range_cardinality< Rng >::value >
constexpr drop_exactly_view< Rng > 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_exactly_view< Rng > & | derived () noexcept

## Member Function Documentation

## ◆ begin()

template<typename Rng >
template<bool Const = true>

iterator_t<meta::const_if_c<Const, Rng> > ranges::drop_exactly_view< Rng >::begin | ( |  | ) | const

Precondition
  requires `Const && random_access_range<meta::const_if_c<Const, Rng>>`

References ranges::end.

## ◆ end()

template<typename Rng >
template<bool Const = true>

sentinel_t<meta::const_if_c<Const, Rng> > ranges::drop_exactly_view< Rng >::end | ( |  | ) | const

Precondition
  requires `Const && random_access_range<meta::const_if_c<Const, Rng>>`

## ◆ size() [1/2]

template<typename Rng >

auto ranges::drop_exactly_view< Rng >::size | ( |  | ) |

Precondition
  requires `sized_range<Rng>`

## ◆ size() [2/2]

template<typename Rng >

auto ranges::drop_exactly_view< Rng >::size | ( |  | ) | const

Precondition
  requires `sized_range<Rng const>`