Namespaces
Variants

std::ranges:: approximately_sized_range

From cppreference.net
Ranges library
Range adaptors
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 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 )
  • 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)