std::ranges::approximately_sized_range
De fr.cppreference.net
| Défini dans l'en-tête <ranges>
|
||
template< class T >
concept approximately_sized_range = ranges::range<T> &&
requires(T& t) {
ranges::reserve_hint(t);
};
|
(depuis C++26) | |
Le concept approximately_sized_range spécifie les exigences d'un type range qui peut estimer sa taille en temps constant avec la fonction reserve_hint.
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) |