Namespaces
Variants

std::ranges::approximately_sized_range

De fr.cppreference.net
 
 
Bibliothèque des ranges
Adaptateurs de ranges
 
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 )
  • 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_hint uniquement 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

Voir aussi

spécifie qu'un range connaît sa taille en temps constant
(concept)