Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Hozzon létre egy nézetet, amely kizárja a tartomány első N elemeit.
Szemantika
template<ranges::view V>
class drop_view : public ranges::view_interface<drop_view<V>>;
Sablonparaméterek
V
Az alapul szolgáló nézet típusa.
Jellemzők megtekintése
Az alábbi bejegyzések leírásáért lásd: Osztályjellemzők megtekintése
| Jellemző | Leírás |
|---|---|
| Tartomány adaptere | views::drop |
| Mögöttes tartomány | Meg kell felelnie vagy magasabbnak kell lennie output_range |
| Elem típusa | Ugyanaz, mint a mögöttes tartomány |
| Iterátor kategória megtekintése | Ugyanaz, mint a mögöttes tartomány |
| Méretű | Csak akkor, ha a mögöttes tartomány megfelel sized_range |
Iterable const |
Csak akkor, ha az alapul szolgáló tartomány const iteráló, és megfelel a random_access_rangesized_range |
| Gyakori tartomány | Csak akkor, ha a mögöttes tartomány egy common_range |
| Kölcsönzött tartomány | Csak akkor, ha a mögöttes tartomány megfelel borrowed_range |
Tagok
| Tagfüggvények | Leírás |
|---|---|
| KonstruktorokC++20 | Hozzon létre egy drop_view. |
base
C++20 |
Kérje le a mögöttes nézetet. |
begin
C++20 |
Iterátor lekérése az első elemhez. |
end
C++20 |
Kérje le a sentinelt a nézet végén. |
size
C++20 |
A nézetben található elemek számának lekérése. A mögöttes tartománynak meg kell felelnie sized_range. |
Öröklődve innen: view_interface |
Leírás |
back
C++20 |
Az utolsó elem lekérése. |
data
C++20 |
Mutasson az első elemre. |
empty
C++20 |
Ellenőrizze, hogy üres-e drop_view . |
front
C++20 |
Az első elem lekérése. |
operator[]
C++20 |
Kérje le az elemet a megadott pozícióba. |
operator bool
C++20 |
Ellenőrizze, hogy nem drop_view üres-e. |
Követelmények
Fejléc:<ranges> (A C++20 óta)
Névtér:std::ranges
Fordítási lehetőség:/std:c++20 vagy újabb verzióra van szükség.
Konstruktorok
Példány létrehozása drop_view
template<ranges::view V>
class drop_view : public ranges::view_interface<drop_view<V>>
Sablonparaméterek
V
Az alapul szolgáló nézet típusa.
Visszaadott érték
Az alapul szolgáló tartomány nézete, az elöl megadott számú elem kivételével.
Ha több elvetendő elemet ad meg, mint amennyi a mögöttes tartományban található, akkor a rendszer egy empty_view értéket ad vissza.
Megjegyzések
A legjobb módszer a tartományadafótor használatával views::drop történő létrehozásradrop_view. A nézetosztályok létrehozásának célja a tartományadabrátorok. A nézettípusok akkor jelennek meg, ha saját egyéni nézettípust szeretne létrehozni.
Példa: 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
Lekéri a mögöttes nézet másolatát.
// 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() &&;
Paraméterek
Nincs.
Visszaadott érték
Az alapul szolgáló nézet.
begin
Iterátor lekérése a 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>;
Paraméterek
Nincs.
Visszaadott érték
Egy iterátor, amely a drop_view.
end
A sentinel lekérése a drop_view
constexpr auto end() requires (!Simple_view<V>);
constexpr auto end() const requires ranges::range<const V>;
Paraméterek
Nincs.
Visszaadott érték
A következő elem utolsó elemét drop_viewkövető sentinel:
size
Az elemek számának lekérése a drop_view.
constexpr auto size() requires ranges::sized_range<V>;
constexpr auto size() const requires ranges::sized_range<const V>;
Paraméterek
Nincs.
Visszaadott érték
drop_viewA .
Megjegyzések
A mögöttes tartománynak meg kell felelnie sized_range.
Lásd még
<ranges>
drop távolsági adapter
take_while()
take_while_view
Osztályok megtekintése