Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Skapa en vy som exkluderar de första N-elementen i ett intervall.
Syntax
template<ranges::view V>
class drop_view : public ranges::view_interface<drop_view<V>>;
Mallparametrar
V
Typen av underliggande vy.
Visa egenskaper
En beskrivning av följande poster finns i Visa klassegenskaper
| Karakteristisk | Beskrivning |
|---|---|
| Intervalladapter | views::drop |
| Underliggande intervall | Måste uppfylla output_range eller högre |
| Elementtyp | Samma som det underliggande intervallet |
| Visa iteratorkategori | Samma som det underliggande intervallet |
| Storlek | Endast om det underliggande intervallet uppfyller sized_range |
Är const-iterable |
Endast om det underliggande intervallet är const iterbart och uppfyller random_access_range och sized_range |
| Gemensamt intervall | Endast om det underliggande intervallet är ett common_range |
| Lånat intervall | Endast om det underliggande intervallet uppfyller borrowed_range |
Medlemmar
| Medlemsfunktioner | Beskrivning |
|---|---|
| KonstruktorerC++20 | Konstruera en drop_view. |
base
C++20 |
Hämta den underliggande vyn. |
begin
C++20 |
Hämta en iterator till det första elementet. |
end
C++20 |
Hämta sentinel i slutet av vyn. |
size
C++20 |
Hämta antalet element i den här vyn. Det underliggande intervallet måste uppfylla sized_range. |
Ärvd från view_interface |
Beskrivning |
back
C++20 |
Hämta det sista elementet. |
data
C++20 |
Hämta en pekare till det första elementet. |
empty
C++20 |
Testa om är drop_view tom. |
front
C++20 |
Hämta det första elementet. |
operator[]
C++20 |
Hämta elementet på den angivna positionen. |
operator bool
C++20 |
Testa om är drop_view inte tom. |
Kravspecifikation
Rubrik:<ranges> (sedan C++20)
Namespace:std::ranges
Kompilatoralternativ:/std:c++20 eller senare krävs.
Konstruktörer
Konstruera en instans av en drop_view
template<ranges::view V>
class drop_view : public ranges::view_interface<drop_view<V>>
Mallparametrar
V
Typen av underliggande vy.
Returvärde
En vy över det underliggande intervallet, exklusive det angivna antalet element framifrån.
Om du anger fler element att släppa än vad som finns i det underliggande intervallet returneras ett empty_view .
Anmärkningar
Det bästa sättet att skapa en drop_view är genom att använda views::drop intervalladaptern. Intervalladapter är det avsedda sättet att skapa visningsklasser. Vytyperna exponeras om du vill skapa en egen anpassad vytyp.
Exempel: 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
Hämtar en kopia av den underliggande vyn.
// 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() &&;
Parameterar
Ingen.
Returvärde
Den underliggande vyn.
begin
Hämta en iterator till det första elementet i 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>;
Parameterar
Ingen.
Returvärde
En iterator som pekar på det första elementet i drop_view.
end
Hämta sentinel i slutet av drop_view
constexpr auto end() requires (!Simple_view<V>);
constexpr auto end() const requires ranges::range<const V>;
Parameterar
Ingen.
Returvärde
Sentinel som följer det sista elementet i drop_view:
size
Hämta antalet element i drop_view.
constexpr auto size() requires ranges::sized_range<V>;
constexpr auto size() const requires ranges::sized_range<const V>;
Parameterar
Ingen.
Returvärde
Antalet element i drop_view.
Anmärkningar
Det underliggande intervallet måste uppfylla sized_range.
Se även
<ranges>
drop intervalladapter
take_while()
take_while_view
Visa klasser