std::ranges:: approximately_sized_range
|
||||||||||||||||||||||
| Range primitives | |||||||
|
|||||||
| Range concepts | |||||||||||||||||||
|
|||||||||||||||||||
| Range factories | |||||||||
|
|||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||
| Helper items | |||||||||||||||||
|
|
||||||||||||||||
|
Definido en el encabezado
<ranges>
|
||
|
template
<
class
T
>
concept approximately_sized_range
=
ranges::
range
<
T
>
&&
|
(desde C++26) | |
El concepto
approximately_sized_range
especifica los requisitos de un tipo
range
que puede estimar su tamaño en tiempo constante con la función
reserve_hint
.
Contenidos |
Requisitos semánticos
Dado un lvalue
t
de tipo
std::
remove_reference_t
<
T
>
,
T
modela
approximately_sized_range
solo si
- ranges :: reserve_hint ( t )
-
- tiene una complejidad de tiempo constante amortizada,
- no altera el valor de t de manera observable para expresiones que preservan la igualdad , y
- tiene un valor que no es negativo y es representable en ranges:: range_difference_t < T > , y
-
si
ranges::
iterator_t
<
T
>
modela
forward_iterator, ranges :: reserve_hint ( t ) está bien definido independientemente de la evaluación de ranges:: begin ( t ) (en otras palabras, un rango de tamaño aproximado de paso único puede admitir una llamada areserve_hintsolo antes de la primera llamada abegin, pero un rango de avance debe admitir tamaño en todo momento).
Notas
| Macro de prueba de características | Valor | Std | Característica |
|---|---|---|---|
__cpp_lib_ranges_reserve_hint
|
202502L
|
(C++26) | ranges::approximately_sized_range |
Ejemplo
|
Esta sección está incompleta
Razón: sin ejemplo |
Véase también
|
(C++20)
|
especifica que un rango conoce su tamaño en tiempo constante
(concepto) |