Namespaces
Variants

std::ranges::reserve_hint

Depuis fr.cppreference.net
 
 
Bibliothèque des intervalles
Adaptateurs d'intervalle
 
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 point de personnalisation)
Signature d'appel
template< class T >
    requires /* see below */
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é) sous le nom E, et le type de E sous le nom T:

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

Les cas mal formés diagnostics 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.

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)