std::ranges:: reserve_hint
|
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 */
|
(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
)
)
:
-
Test un type classe ou énumération. -
auto
(
reserve_hint
(
t
)
)
est une expression valide de type entier-like, où la signification de
reserve_hintest é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
|
Cette section est incomplète
Raison : aucun exemple |
Voir aussi
|
(C++20)
|
retourne un entier égal à la taille d'une plage
(objet de point de personnalisation) |
|
(C++20)
|
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) |