std::ranges::view_interface<D>:: size
|
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
size()
Memberfunktion ermittelt die Größe des Bereichs durch Berechnung der Differenz zwischen dem Sentinel und dem Beginn-Iterator.
Inhaltsverzeichnis |
Rückgabewert
to-unsigned-like
(
ranges::
end
(
static_cast
<
D
&
>
(
this
)
)
-
ranges::
begin
(
static_cast
<
D
&
>
(
this
)
)
)
.
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:
- 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
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) |
|
(C++20)
|
gibt einen Integer gleich der Größe eines Ranges zurück
(Customization Point Object) |
|
(C++20)
|
gibt einen vorzeichenbehafteten Integer gleich der Größe eines Ranges zurück
(Customization Point Object) |