Namespaces
Variants

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

Aus de.cppreference.net
 
 
Bereichsbibliothek
Bereichsadapter
 
 
constexpr auto size() requires ranges::forward_range<D> &&
    std::sized_sentinel_for<ranges::sentinel_t<D>,
                            ranges::iterator_t<D>>;
(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()-Mitgliedsfunktion ermittelt die Größe des Bereichs, indem sie die Differenz zwischen der Endmarke und dem Start-Iterator berechnet.

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)