std::ranges::view_interface<D>::size
Von cppreference.com
< cpp | ranges | view interface
| constexpr auto size() requires ranges::forward_range<D> && std::sized_sentinel_for<ranges::sentinel_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>, |
(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.
- std::ranges::basic_istream_view
- std::ranges::filter_view
- std::ranges::join_view
- std::ranges::lazy_split_view
- std::ranges::split_view
- std::ranges::take_while_view
[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) |
| (C++20) |
gibt eine Ganzzahl zurück, die der Größe eines Ranges entspricht (Customization Point Objekt) |
| (C++20) |
gibt eine vorzeichenbehaftete Ganzzahl zurück, die der Größe eines Ranges entspricht (Customization Point Objekt) |