Namespaces
Variants

std::ranges::view_interface<D>:: size

From cppreference.net
Ranges library
Range adaptors
(1) (depuis C++20)
constexpr auto size ( ) const requires ranges:: forward_range < const D > &&

std:: sized_sentinel_for < ranges:: sentinel_t < const D > ,

ranges:: iterator_t < const D >> ;
(2) (depuis C++20)

L'implémentation par défaut de la fonction membre size() obtient la taille de la plage en calculant la différence entre le sentinelle et l'itérateur de début.

Table des matières

Valeur de retour

1) to-unsigned-like  ( ranges:: end ( static_cast < D & > ( this ) ) -
ranges:: begin ( static_cast < D & > ( this ) ) )
.
2) to-unsigned-like  ( ranges:: end ( static_cast < const D & > ( this ) ) -
ranges:: begin ( static_cast < const D & > ( this ) ) )
.

Notes

Les types dérivés suivants peuvent utiliser l'implémentation par défaut de size() :

Les types suivants sont dérivés de std::ranges::view_interface et ne déclarent pas leur propre fonction membre size() , mais ils ne peuvent pas utiliser l'implémentation par défaut, car leurs types d'itérateur et de sentinelle ne satisfont jamais sized_sentinel_for :

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Applicable à Comportement publié Comportement corrigé
LWG 3646 C++20 les implémentations par défaut des fonctions size retournaient un type signé elles retournent un type non signé

Voir aussi

(C++17) (C++20)
retourne la taille d'un conteneur ou d'un tableau
(modèle de fonction)
retourne un entier égal à la taille d'une plage
(objet point de personnalisation)
retourne un entier signé égal à la taille d'une plage
(objet point de personnalisation)