std::ranges::take_view<V>::begin
De cppreference.com
constexpr auto begin() requires (!__SimpleView<V>);
|
(1) | (desde C++20) |
constexpr auto begin() const requires ranges::range<const V>;
|
(2) | (desde C++20) |
Devuelve un iterador al primer elemento de la vista take_view.
1) Devuelve un
std::counted_iterator o un ranges::range_iterator_t<V>.2) Devuelve un
std::counted_iterator o un ranges::range_iterator_t<const V>.La sobrecarga (1) no participa en la resolución de sobrecarga si V es una vista simple (es decir, si V y const V son vistas con el mismo tipo iterador y tipo centinela).
Parámetros
(Ninguno)
Valor de retorno
El resultado depende de los conceptos satisfechos por el tipo (posiblemente calificado const) de la vista subyacente Base_, que es V (para la sobrecarga (1)) o const V (para la sobrecarga (2)).
Sea base_ la vista subyacente, sea count_ el número pasado al constructor (0 si se inicializa por defecto).
| La vista subyacente satisface ... | random_access_range
| ||
|---|---|---|---|
| Sí | No | ||
sized_range
|
Sí | ranges::begin(base_)
|
std::counted_iterator(ranges::begin(base_), ranges::range_difference_t<Base_>(this->size()))
|
| No | std::counted_iterator(ranges::begin(base_), count_)
|
Ejemplo
Ejecuta este código
#include <ranges>
#include <iostream>
#include <string_view>
using namespace std::literals;
int main()
{
static constexpr auto sv = {"∀x"sv, "∃y"sv, "ε"sv, "δ"sv};
std::cout << *std::ranges::take_view(sv, 8).begin() << '\n';
}
Salida:
∀x
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 |
|---|---|---|---|
| P2393R1 | C++20 | Las conversiones implícitas entre tipos enteros con signo y sin signo podrían fracasar. | Se hicieron explícitas. |
Véase también
(C++20) |
Devuelve un iterador o un centinela al final. (función miembro pública) |
(C++20) |
Adaptador de iterador que rastrea la distancia hasta el final del rango. (plantilla de clase) |
(C++20) |
Compara un centinela con un iterador devuelto desde take_view::begin. (función) |