std::ranges::drop_while_view<V,Pred>::drop_while_view
De cppreference.com
<tbody>
</tbody>
drop_while_view() requires std::default_initializable<V> && std::default_initializable<Pred> = default; |
(1) | (desde C++20) |
constexpr drop_while_view( V base, Pred pred ); |
(2) | (desde C++20) |
Construye un objeto drop_while_view.
1) Constructor por defecto. Inicializa por valor la vista subyacente y el predicado.
2) Construye por movimiento la vista subyacente a partir de
base y el predicado a partir de pred.Parámetros
| base | - | La vista subyacente. |
| fun | - | El predicado. |
Ejemplo
Ejecuta este código
#include <array>
#include <iostream>
#include <ranges>
int main()
{
constexpr std::array data{ 0, -1, -2, 3, 1, 4, 1, 5, };
auto view = std::ranges::drop_while_view{
data, [](int x) { return x <= 0; }
};
for (int x: view) {
std::cout << x << ' ';
}
std::cout << '\n';
}
Salida:
3 1 4 1 5
Informes de defectos
Los siguientes informes de defectos de cambio de comportamiento se aplicaron de manera retroactiva a los estándares de C++ publicados anteriormente.
| ID | Aplicado a | Comportamiento según lo publicado | Comportamiento correcto |
|---|---|---|---|
| P2325R3 | C++20 | Si Pred no es default_initializable, el constructor por defectoconstruye un objeto drop_while_view que no contiene un Pred.
|
La vista drop_while_view tampoco esdefault_initializable.
|