Partilhar via


drop_view classe (C++ Standard Library)

Crie um modo de exibição que exclua os primeiros N elementos de um intervalo.

Sintaxe

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

Parâmetros do modelo

V
O tipo de exibição subjacente.

Ver características

Para obter uma descrição das entradas a seguir, consulte Exibir características da classe

Característica Descrição
Adaptador de gama views::drop
Gama subjacente Deve satisfazer output_range ou superior
Tipo de elemento O mesmo que o intervalo subjacente
Ver categoria do iterador O mesmo que o intervalo subjacente
Tamanho Apenas se o intervalo subjacente satisfizer sized_range
É const-iterável Apenas se o intervalo subjacente for const iterável e satisfizer e random_access_rangesized_range
Gama comum Apenas se o intervalo subjacente for um common_range
Intervalo emprestado Apenas se o intervalo subjacente satisfizer borrowed_range

Membros

Funções de membro Descrição
ConstrutoresC++20 Construa um drop_viewarquivo .
base C++20 Obtenha a visão subjacente.
begin C++20 Obtenha um iterador para o primeiro elemento.
end C++20 Obtenha a sentinela no final da vista.
size C++20 Obtenha o número de elementos nesta vista. A gama subjacente deve satisfazer sized_range.
Herdado de view_interface Descrição
back C++20 Obtenha o último elemento.
data C++20 Obtenha um ponteiro para o primeiro elemento.
empty C++20 Teste se o está drop_view vazio.
front C++20 Obtenha o primeiro elemento.
operator[] C++20 Obtenha o elemento na posição especificada.
operator bool C++20 Teste se o drop_view não está vazio.

Requerimentos

Cabeçalho:<ranges> (desde C++20)

Espaço de nomes: std::ranges

Opção do compilador:/std:c++20 ou mais tarde é necessário.

Construtores

Construir uma instância de um drop_view

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

Parâmetros do modelo

V
O tipo de exibição subjacente.

Valor de retorno

Uma vista do intervalo subjacente, excluindo o número especificado de elementos da frente.
Se você especificar mais elementos a serem descartados do que os existentes no intervalo subjacente, um empty_view será retornado.

Observações

A melhor maneira de criar um drop_view é usando o adaptador de views::drop intervalo. Os adaptadores de intervalo são a maneira pretendida de criar classes de exibição. Os tipos de exibição são expostos caso você queira criar seu próprio tipo de exibição personalizado.

Exemplo: 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

Obtém uma cópia do modo de exibição subjacente.

// 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

Nenhum.

Valor de retorno

A visão subjacente.

begin

Obtenha um iterador para o primeiro elemento no 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

Nenhum.

Valor de retorno

Um iterador apontando para o primeiro elemento no drop_view.

Imagem de um vetor com os elementos 10, 20 e 30. O primeiro elemento contém 10 e é rotulado begin(). O último elemento contém 30 e é rotulado como

end

Obtenha a sentinela no final da seringa drop_view

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

Parâmetros

Nenhum.

Valor de retorno

A sentinela que se segue ao último elemento do drop_view:

Imagem de um vetor com os elementos 10, 20 e 30. O primeiro elemento contém 10 e é rotulado begin(). O último elemento contém 30 e é rotulado como

size

Obtenha o número de elementos no drop_view.

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

Parâmetros

Nenhum.

Valor de retorno

O número de elementos no drop_view.

Observações

A gama subjacente deve satisfazer sized_range.

Ver também

<ranges>
drop adaptador de gama
take_while()
take_while_view
Ver aulas