std::ranges:: approximately_sized_range
|
||||||||||||||||||||||
| Range primitives | |||||||
|
|||||||
| Range concepts | |||||||||||||||||||
|
|||||||||||||||||||
| Range factories | |||||||||
|
|||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||
| Helper items | |||||||||||||||||
|
|
||||||||||||||||
|
Défini dans l'en-tête
<ranges>
|
||
|
template
<
class
T
>
concept approximately_sized_range
=
ranges::
range
<
T
>
&&
|
(depuis C++26) | |
Le concept
approximately_sized_range
spécifie les exigences d'un type de
range
qui peut estimer sa taille en temps constant avec la fonction
reserve_hint
.
Table des matières |
Exigences sémantiques
Étant donné un lvalue
t
de type
std::
remove_reference_t
<
T
>
,
T
modélise
approximately_sized_range
seulement si
- ranges :: reserve_hint ( t )
-
- a une complexité en temps amortie constante,
- ne modifie pas la valeur de t d'une manière observable par les expressions préservant l'égalité , et
- a une valeur qui n'est pas négative et est représentable dans ranges:: range_difference_t < T > , et
-
si
ranges::
iterator_t
<
T
>
modélise
forward_iterator, ranges :: reserve_hint ( t ) est bien défini indépendamment de l'évaluation de ranges:: begin ( t ) (en d'autres termes, un range à passage unique de taille approximative peut supporter un appel àreserve_hintuniquement avant le premier appel àbegin, mais un range forward doit supporter la taille à tout moment).
Notes
| Macro de test de fonctionnalité | Valeur | Std | Fonctionnalité |
|---|---|---|---|
__cpp_lib_ranges_reserve_hint
|
202502L
|
(C++26) | ranges::approximately_sized_range |
Exemple
|
Cette section est incomplète
Raison : aucun exemple |
Voir aussi
|
(C++20)
|
spécifie qu'un range connaît sa taille en temps constant
(concept) |