std::ranges:: views:: empty, std::ranges:: empty_view
|
Definiert im Header
<ranges>
|
||
|
template
<
class
T
>
requires
std::
is_object_v
<
T
>
|
(1) | (seit C++20) |
|
namespace
views
{
template
<
class
T
>
|
(2) | (seit C++20) |
view
ohne Elemente eines bestimmten Typs erzeugt.
empty_view
.
Inhaltsverzeichnis |
Memberfunktionen
|
begin
[static]
|
gibt
nullptr
zurück
(öffentliche statische Elementfunktion) |
|
end
[static]
|
gibt
nullptr
zurück
(öffentliche statische Elementfunktion) |
|
data
[static]
|
gibt
nullptr
zurück
(öffentliche statische Elementfunktion) |
|
size
[static]
|
gibt
0
zurück
(öffentliche statische Elementfunktion) |
|
empty
[static]
|
gibt
true
zurück
(öffentliche statische Elementfunktion) |
Geerbt von std::ranges::view_interface |
|
|
(C++23)
|
gibt einen konstanten Iterator zum Anfang des Bereichs zurück
(öffentliche Elementfunktion von
std::ranges::view_interface<D>
)
|
|
(C++23)
|
gibt einen Sentinel für den konstanten Iterator des Bereichs zurück
(öffentliche Elementfunktion von
std::ranges::view_interface<D>
)
|
|
gibt zurück, ob die abgeleitete Ansicht nicht leer ist, bereitgestellt nur wenn
ranges::empty
darauf anwendbar ist
(öffentliche Elementfunktion von
std::ranges::view_interface<D>
)
|
|
gibt das erste Element in der abgeleiteten Ansicht zurück, bereitgestellt wenn sie
forward_range
erfüllt
(öffentliche Elementfunktion von
std::ranges::view_interface<D>
)
|
|
gibt das letzte Element in der abgeleiteten Ansicht zurück, bereitgestellt nur wenn sie
bidirectional_range
und
common_range
erfüllt
(öffentliche Elementfunktion von
std::ranges::view_interface<D>
)
|
|
gibt das
n
te
Element in der abgeleiteten Ansicht zurück, bereitgestellt nur wenn sie
random_access_range
erfüllt
(öffentliche Elementfunktion von
std::ranges::view_interface<D>
)
|
|
std::ranges::empty_view:: begin
|
static
constexpr
T
*
begin
(
)
noexcept
{
return
nullptr
;
}
|
(seit C++20) | |
empty_view
referenziert keine Elemente.
std::ranges::empty_view:: end
|
static
constexpr
T
*
end
(
)
noexcept
{
return
nullptr
;
}
|
(seit C++20) | |
empty_view
referenziert keine Elemente.
std::ranges::empty_view:: data
|
static
constexpr
T
*
data
(
)
noexcept
{
return
nullptr
;
}
|
(seit C++20) | |
empty_view
referenziert keine Elemente.
std::ranges::empty_view:: size
|
static
constexpr
std::
size_t
size
(
)
noexcept
{
return
0
;
}
|
(seit C++20) | |
empty_view
ist immer leer.
std::ranges::empty_view:: empty
|
static
constexpr
bool
empty
(
)
noexcept
{
return
true
;
}
|
(seit C++20) | |
empty_view
ist immer leer.
Hilfsvorlagen
|
template
<
class
T
>
constexpr bool ranges:: enable_borrowed_range < ranges :: empty_view < T >> = true ; |
(seit C++20) | |
Diese Spezialisierung von
ranges::
enable_borrowed_range
bewirkt, dass
empty_view
die Anforderungen von
borrowed_range
erfüllt.
Hinweise
Obwohl
empty_view
die
front
-,
back
- und
operator
[
]
Memberfunktionen von
view_interface
erhält, führen Aufrufe dieser Funktionen stets zu undefiniertem Verhalten, da ein
empty_view
immer leer ist.
Die geerbte operator bool Konvertierungsfunktion gibt immer false zurück.
Beispiel
#include <ranges> int main() { namespace ranges = std::ranges; ranges::empty_view<long> e; static_assert(ranges::empty(e)); // verwendet operator bool static_assert(0 == e.size()); static_assert(nullptr == e.data()); static_assert(nullptr == e.begin()); static_assert(nullptr == e.end()); static_assert(nullptr == e.cbegin()); static_assert(nullptr == e.cend()); }
Siehe auch
|
(C++17)
|
Ein Wrapper, der möglicherweise ein Objekt enthält oder nicht
(Klassen-Template) |
Eine
view
die ein einzelnes Element eines bestimmten Wertes enthält
(Klassen-Template) (Customization Point Object) |
|
|
(C++20)
|
Eine
view
die alle Elemente eines
range
enthält
(Alias-Template) (Range-Adapter-Objekt) |
|
(C++20)
|
Eine
view
der Elemente eines anderen
range
(Klassen-Template) |