Namensräume
Varianten
Aktionen

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

Von cppreference.com
 
 
Bereichsbibliothek
Range-Adaptoren
 
 
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 Memberfunktion size() ermittelt die Größe des Bereichs, indem sie die Differenz zwischen dem Sentinel und dem Anfangsiterator berechnet.

Inhalt

[bearbeiten] 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)))
.

[bearbeiten] Hinweise

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

Folgende Typen leiten sich von std::ranges::view_interface ab und deklarieren keine eigene size()-Memberfunktion, können aber die Standardimplementierung nicht nutzen, da ihre Iterator- und Sentinel-Typen sized_sentinel_for niemals erfüllen.

[bearbeiten] Fehlerberichte

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

DR angewendet auf Verhalten wie veröffentlicht Korrigiertes Verhalten
LWG 3646 C++20 die Standardimplementierungen der size-Funktionen gaben einen vorzeichenbehafteten Typ zurück sie geben einen vorzeichenlosen Typ zurück

[bearbeiten] Siehe auch

(C++17)(C++20)
gibt die Größe eines Containers oder Arrays zurück
(Funktionsvorlage) [bearbeiten]
gibt eine Ganzzahl zurück, die der Größe eines Ranges entspricht
(Customization Point Objekt)[edit]
gibt eine vorzeichenbehaftete Ganzzahl zurück, die der Größe eines Ranges entspricht
(Customization Point Objekt)[edit]