Namespaces
Variants

std::ranges:: reserve_hint

From cppreference.net
Ranges library
Range adaptors
Défini dans l'en-tête <ranges>
Défini dans l'en-tête <iterator>
inline namespace /* unspecified */ {

inline constexpr auto reserve_hint = /* unspecified */ ;

}
(depuis C++26)
(objet de point de personnalisation)
Signature d'appel
template < class T >

requires /* voir ci-dessous */

constexpr auto reserve_hint ( T && t ) ;
(depuis C++26)

Estime le nombre d'éléments dans t en temps constant.

Étant donné la sous-expression dont t désigne l'objet résultat (éventuellement matérialisé ) comme E , et le type de E comme T :

  • Si ranges:: size ( E ) est une expression valide, ranges :: reserve_hint ( E ) est expression-équivalente à ranges:: size ( E ) .
  • Sinon, si auto ( t. reserve_hint ( ) ) est une expression valide de type entier-like , ranges :: reserve_hint ( E ) est expression-équivalente à auto ( t. reserve_hint ( ) ) .
  • Sinon, si toutes les conditions suivantes sont satisfaites, alors ranges :: reserve_hint ( E ) est expression-équivalente à auto ( reserve_hint ( t ) ) :
    • T est un type classe ou énumération.
    • auto ( reserve_hint ( t ) ) est une expression valide de type entier-like, où la signification de reserve_hint est établie comme si on effectuait une recherche dépendante des arguments uniquement.
  • Sinon, ranges :: reserve_hint ( E ) est mal formée.

Les cas mal formés diagnostiquables ci-dessus entraînent un échec de substitution lorsque ranges :: reserve_hint ( E ) apparaît dans le contexte immédiat d'une instanciation de modèle.

Table des matières

Objets de point de personnalisation

Le nom ranges::reserve_hint désigne un objet de point de personnalisation , qui est un objet fonction constant d'un type de classe littéral semiregular . Voir CustomizationPointObject pour plus de détails.

Notes

Chaque fois que ranges :: reserve_hint ( e ) est valide pour une expression e , le type de retour est integer-like .

Macro de test de fonctionnalité Valeur Std Fonctionnalité
__cpp_lib_ranges_reserve_hint 202502L (C++26) ranges::reserve_hint

Exemple

Voir aussi

retourne un entier égal à la taille d'une plage
(objet de point de personnalisation)
retourne un entier signé égal à la taille d'une plage
(objet de point de personnalisation)
spécifie qu'une plage peut estimer sa taille en temps constant
(concept)