Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
(1) (seit 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) (seit C++20)

Die Standardimplementierung der size() Memberfunktion ermittelt die Größe des Bereichs durch Berechnung der Differenz zwischen dem Sentinel und dem Beginn-Iterator.

Inhaltsverzeichnis

Rückgabewert

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 ) ) )
.

Hinweise

Folgende abgeleitete Typen können die Standardimplementierung von size() verwenden:

Folgende Typen sind von std::ranges::view_interface abgeleitet und deklarieren keine eigene size() Memberfunktion, können jedoch die Standardimplementierung nicht verwenden, weil ihre Iterator- und Sentinel-Typen niemals sized_sentinel_for erfüllen:

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
LWG 3646 C++20 die Standardimplementierungen der size -Funktionen lieferten einen vorzeichenbehafteten Typ zurück sie liefern einen vorzeichenlosen Typ zurück

Siehe auch

(C++17) (C++20)
gibt die Größe eines Containers oder Arrays zurück
(Funktions-Template)
gibt einen Integer gleich der Größe eines Ranges zurück
(Customization Point Object)
gibt einen vorzeichenbehafteten Integer gleich der Größe eines Ranges zurück
(Customization Point Object)