Compartir a través de


drop_view (Clase, Biblioteca estándar de C++)

Cree una vista que excluya los primeros N elementos de un intervalo.

Sintaxis

template<ranges::view V>
class drop_view : public ranges::view_interface<drop_view<V>>;

Parámetros de plantilla

V
Tipo de la vista subyacente.

Características de la vista

Para obtener una descripción de las siguientes entradas, vea View class characteristics (Ver características de clase).

Característica Descripción
Adaptador de rango views::drop
Intervalo subyacente Debe satisfacer output_range o superior
Tipo de elemento Igual que el intervalo subyacente
Ver categoría de iterador Igual que el intervalo subyacente
Tamaño Solo si el intervalo subyacente cumple sized_range
Es const-iterable Solo si el intervalo subyacente es const iterable y satisface random_access_range y sized_range
Rango común Solo si el intervalo subyacente es un common_range
Intervalo prestado Solo si el intervalo subyacente cumple borrowed_range

Miembros

Funciones miembro Descripción
ConstructoresC++20 Construya un elemento drop_view.
baseC++20 Obtenga la vista subyacente.
beginC++20 Obtenga un iterador al primer elemento.
endC++20 Obtenga el sentinel al final de la vista.
sizeC++20 Obtenga el número de elementos de esta vista. El intervalo subyacente debe satisfacer sized_range.
Heredado de view_interface Descripción
backC++20 Obtenga el último elemento.
dataC++20 Obtiene un puntero al primer elemento.
emptyC++20 Comprueba si el objeto drop_view está vacío.
frontC++20 Obtiene el primer elemento.
operator[]C++20 Obtiene el elemento que se encuentra en la posición especificada.
operator boolC++20 Compruebe si drop_view no está vacío.

Requisitos

Encabezado: <ranges> (desde C++20)

Espacio de nombres: std::ranges

Opción del compilador: /std:c++20 o posterior es necesaria.

Constructores

Construcción de una instancia de drop_view

template<ranges::view V>
class drop_view : public ranges::view_interface<drop_view<V>>

Parámetros de plantilla

V
Tipo de la vista subyacente.

Valor devuelto

Vista del intervalo subyacente, excepto el número especificado de elementos del frente.
Si especifica más elementos que quitar de los que existen en el intervalo subyacente, se devuelve un empty_view .

Comentarios

La mejor manera de crear un drop_view es usar el adaptador de views::drop rango. Los adaptadores de rango son la manera prevista de crear clases de vista. Los tipos de vista se exponen en caso de que desee crear su propio tipo de vista personalizado.

Ejemplo: drop_view

// requires /std:c++20 or later
#include <ranges>
#include <iostream>
#include <vector>

int main()
{
    std::vector<int> v{ 1, 2, 3, 4, 5 };
    auto newView = std::views::drop(v, 3);
    for (auto e : newView) // outputs 4 5
    {
        std::cout << e << ' ';
    }
    std::cout << '\n';

    auto numbers = std::views::iota(0) | std::views::take(10); // generate a view of 10 integers
    for (auto i : numbers | std::views::drop(5)) // use the '|' syntax to create a drop_view
    {
        std::cout << i << ' '; // outputs 5 6 7 8 9
    }
}
4 5
5 6 7 8 9

base

Obtiene una copia de la vista subyacente.

// Uses a copy constructor to return the underlying view
constexpr V base() const& requires std::copy_constructible<V>;

// Uses a move constructor to return the underlying view
constexpr V base() &&;

Parámetros

Ninguno.

Valor devuelto

Vista subyacente.

begin

Obtenga un iterador al primer elemento de .drop_view

constexpr auto begin()
  requires (!(Simple_view<V> && ranges::random_access_range<const V> && ranges::sized_range<const V>));

constexpr auto begin() const
  requires ranges::random_access_range<const V> && ranges::sized_range<const V>;

Parámetros

Ninguno.

Valor devuelto

Iterador que apunta al primer elemento de drop_view.

Imagen de un vector con los elementos 10, 20 y 30. El primer elemento contiene 10 y se etiqueta begin(). El último elemento contiene 30 y se etiqueta como

end

Obtención del centinela al final del drop_view

constexpr auto end() requires (!Simple_view<V>);
constexpr auto end() const requires ranges::range<const V>;

Parámetros

Ninguno.

Valor devuelto

Sentinel que sigue al último elemento de drop_view:

Imagen de un vector con los elementos 10, 20 y 30. El primer elemento contiene 10 y se etiqueta begin(). El último elemento contiene 30 y se etiqueta como

size

Obtiene el número de elementos de drop_view.

constexpr auto size() requires ranges::sized_range<V>;
constexpr auto size() const requires ranges::sized_range<const V>;

Parámetros

Ninguno.

Valor devuelto

Número de elementos incluidos en drop_view.

Comentarios

El intervalo subyacente debe satisfacer sized_range.

Consulte también

<ranges>
drop adaptador de rango
take_while()
take_while_view
Ver clases