Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Maak een weergave die de eerste N-elementen van een bereik uitsluit.
Syntaxis
template<ranges::view V>
class drop_view : public ranges::view_interface<drop_view<V>>;
Sjabloonparameters
V
Het type onderliggende weergave.
Kenmerken weergeven
Zie Klassekenmerken weergeven voor een beschrijving van de volgende vermeldingen
| Karakteristiek | Beschrijving |
|---|---|
| Bereikadapter | views::drop |
| Onderliggend bereik | Moet voldoen aan output_range of hoger |
| Elementtype | Hetzelfde als het onderliggende bereik |
| Iteratorcategorie weergeven | Hetzelfde als het onderliggende bereik |
| Formaat | Alleen als het onderliggende bereik voldoet aan sized_range |
Is const-iterable |
Alleen als het onderliggende bereik kan worden const itereerbaar en voldoet aan random_access_range en sized_range |
| Algemeen bereik | Alleen als het onderliggende bereik een common_range |
| Geleend bereik | Alleen als het onderliggende bereik voldoet aan borrowed_range |
Leden
| Lidfuncties | Beschrijving |
|---|---|
| ConstructorsC++20 | Maak een drop_view. |
base
C++20- |
De onderliggende weergave ophalen. |
begin
C++20- |
Haal een iterator naar het eerste element. |
end
C++20- |
Haal de sentinel aan het einde van de weergave op. |
size
C++20- |
Het aantal elementen in deze weergave ophalen. Het onderliggende bereik moet voldoen aan sized_range. |
Overgenomen van view_interface |
Beschrijving |
back
C++20- |
Haal het laatste element op. |
data
C++20- |
Haal een aanwijzer naar het eerste element. |
empty
C++20- |
Test of het drop_view leeg is. |
front
C++20- |
Haal het eerste element op. |
operator[]
C++20- |
Haal het element op de opgegeven positie op. |
operator bool
C++20- |
Test of het drop_view niet leeg is. |
Behoeften
Rubriek:<ranges> (sinds C++20)
Namespace:std::ranges
Compileroptie:/std:c++20 of hoger is vereist.
Constructeurs
Een exemplaar van een drop_view
template<ranges::view V>
class drop_view : public ranges::view_interface<drop_view<V>>
Sjabloonparameters
V
Het type onderliggende weergave.
Retourwaarde
Een weergave van het onderliggende bereik, met uitzondering van het opgegeven aantal elementen van de voorzijde.
Als u meer elementen opgeeft die moeten worden verwijderd dan in het onderliggende bereik, wordt er een empty_view geretourneerd.
Opmerkingen
De beste manier om een drop_view te maken is door gebruik te maken van de views::drop bereikadapter. Bereikadapters zijn de beoogde manier om weergaveklassen te maken. De weergavetypen worden weergegeven voor het geval u uw eigen aangepaste weergavetype wilt maken.
Voorbeeld: 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
Hiermee haalt u een kopie van de onderliggende weergave op.
// 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() &&;
Parameterwaarden
Geen.
Retourwaarde
De onderliggende weergave.
begin
Haal een iterator naar het eerste element in 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>;
Parameterwaarden
Geen.
Retourwaarde
Een iterator die wijst naar het eerste element in de drop_view.
end
De sentinel aan het einde van de drop_view
constexpr auto end() requires (!Simple_view<V>);
constexpr auto end() const requires ranges::range<const V>;
Parameterwaarden
Geen.
Retourwaarde
De sentinel die het laatste element in het drop_viewvolgende element volgt:
size
Het aantal elementen in de drop_view.
constexpr auto size() requires ranges::sized_range<V>;
constexpr auto size() const requires ranges::sized_range<const V>;
Parameterwaarden
Geen.
Retourwaarde
Het aantal elementen in de drop_view.
Opmerkingen
Het onderliggende bereik moet voldoen aan sized_range.
Zie ook
<ranges>
drop bereikadapter
take_while()
take_while_view
Klassen weergeven