std::ranges:: views:: to_input, std::ranges:: to_input_view
|
Definido en el encabezado
<ranges>
|
||
|
template
<
ranges::
input_range
V
>
requires
ranges::
view
<
V
>
|
(1) | (desde C++26) |
|
namespace
views
{
inline
constexpr
/* no especificado */
to_input
=
/* no especificado */
;
|
(2) | (desde C++26) |
|
Firma de llamada
|
||
|
template
<
ranges::
viewable_range
R
>
requires
/* ver más abajo */
|
(desde C++26) | |
view
subyacente como un
input_range
exclusivamente y no como un
common_range
.
-
views::
all
(
e
)
, si es una expresión bien formada y todas las condiciones siguientes son
true
:
-
Tmodelainput_range, -
Tno satisfacecommon_range, y -
Tno satisfaceforward_range.
-
- to_input_view { e } en caso contrario.
En consecuencia,
to_input_view
nunca modela conceptos de rango que sean más fuertes que
input_range
. En particular, no modela ninguno de estos:
Además,
to_input_view
no modela
common_range
. Sin embargo, sí modela
borrowed_range
,
constant_range
, y
sized_range
cuando la vista subyacente
V
modela los conceptos respectivos.
Contenidos |
Miembros de datos
| Miembro | Descripción |
V
base_
(privado)
|
la vista subyacente
( objeto miembro solo para exposición* ) |
Funciones miembro
construye un
to_input_view
(función miembro pública) |
|
|
devuelve una copia de la vista subyacente (adaptada)
(función miembro pública) |
|
|
devuelve un iterador al inicio
(función miembro pública) |
|
|
devuelve un iterador o un centinela al final
(función miembro pública) |
|
devuelve el número de elementos. Proporcionado solo si el rango subyacente (adaptado) satisface
sized_range
.
(función miembro pública) |
|
Heredado de std::ranges::view_interface |
|
devuelve si la vista derivada está vacía, proporcionado solo si satisface
sized_range
o
forward_range
(función miembro pública de
std::ranges::view_interface<D>
)
|
|
|
(C++23)
|
devuelve un iterador constante al inicio del rango
(función miembro pública de
std::ranges::view_interface<D>
)
|
|
(C++23)
|
devuelve un centinela para el iterador constante del rango
(función miembro pública de
std::ranges::view_interface<D>
)
|
|
devuelve si la vista derivada no está vacía, proporcionado solo si
ranges::empty
es aplicable a ella
(función miembro pública de
std::ranges::view_interface<D>
)
|
|
obtiene la dirección de los datos de la vista derivada, proporcionado solo si su tipo de iterador satisface
contiguous_iterator
(función miembro pública de
std::ranges::view_interface<D>
)
|
|
devuelve el primer elemento en la vista derivada, proporcionado si satisface
forward_range
(función miembro pública de
std::ranges::view_interface<D>
)
|
|
devuelve el último elemento en la vista derivada, proporcionado solo si satisface
bidirectional_range
y
common_range
(función miembro pública de
std::ranges::view_interface<D>
)
|
|
devuelve el
n
ésimo
elemento en la vista derivada, proporcionado solo si satisface
random_access_range
(función miembro pública de
std::ranges::view_interface<D>
)
|
|
std::ranges::to_input_view:: to_input_view
|
to_input_view
(
)
requires
std::
default_initializable
<
V
>
=
default
;
|
(1) | (desde C++26) |
|
constexpr
explicit
to_input_view
(
V base
)
;
|
(2) | (desde C++26) |
base_
mediante su inicializador de miembro predeterminado (
=
V
(
)
).
base_
con
std
::
move
(
base
)
.
Parámetros
| base | - | una vista |
std::ranges::to_input_view:: base
|
constexpr
V base
(
)
const
&
requires
std::
copy_constructible
<
V
>
;
|
(1) | (desde C++26) |
|
constexpr
V base
(
)
&&
;
|
(2) | (desde C++26) |
std::ranges::to_input_view:: begin
|
constexpr
auto
begin
(
)
requires
(
!
__simple_view
<
V
>
)
;
|
(1) | (desde C++26) |
|
constexpr
auto
begin
(
)
const
requires
ranges::
range
<
const
V
>
;
|
(2) | (desde C++26) |
std::ranges::to_input_view:: end
|
constexpr
auto
end
(
)
requires
(
!
__simple_view
<
V
>
)
;
|
(1) | (desde C++26) |
|
constexpr
auto
end
(
)
const
requires
ranges::
range
<
const
V
>
;
|
(2) | (desde C++26) |
std::ranges::to_input_view:: size
|
constexpr
auto
size
(
)
requires
ranges::
sized_range
<
V
>
;
|
(1) | (desde C++26) |
|
constexpr
auto
size
(
)
const
requires
ranges::
sized_range
<
const
V
>
;
|
(2) | (desde C++26) |
Guías de deducción
|
template
<
class
R
>
to_input_view ( R && ) - > to_input_view < views:: all_t < R >> ; |
(desde C++26) | |
Clases anidadas
|
el tipo de iterador
( clase de plantilla miembro solo para exposición* ) |
Plantillas auxiliares
|
template
<
class
T
>
constexpr
bool
enable_borrowed_range
<
std
::
ranges
::
to_input_view
<
T
>>
=
|
(desde C++26) | |
Esta especialización de
std
::
ranges::
enable_borrowed_range
hace que
to_input_view
satisfaga
borrowed_range
cuando la vista subyacente lo satisface.
Notas
to_input_view
puede ser útil para evitar la sobrecarga necesaria para proporcionar soporte para las operaciones requeridas para una mayor fortaleza del iterador.
| Macro de prueba de características | Valor | Std | Característica |
|---|---|---|---|
__cpp_lib_ranges_to_input
|
202502L
|
(C++26) |
std::ranges::to_input_view
|
Ejemplo
|
Esta sección está incompleta
Motivo: sin ejemplo |
Véase también
|
(C++20)
|
especifica un rango cuyo tipo de iterador satisface
input_iterator
(concepto) |
convierte una
view
en un
common_range
(plantilla de clase) (objeto adaptador de rango) |