std::ranges:: views:: empty, std::ranges:: empty_view
|
Défini dans l'en-tête
<ranges>
|
||
|
template
<
class
T
>
requires
std::
is_object_v
<
T
>
|
(1) | (depuis C++20) |
|
namespace
views
{
template
<
class
T
>
|
(2) | (depuis C++20) |
view
d'aucun élément d'un type particulier.
empty_view
.
Table des matières |
Fonctions membres
|
begin
[static]
|
retourne
nullptr
(fonction membre publique statique) |
|
end
[static]
|
retourne
nullptr
(fonction membre publique statique) |
|
data
[static]
|
retourne
nullptr
(fonction membre publique statique) |
|
size
[static]
|
retourne
0
(fonction membre publique statique) |
|
empty
[static]
|
retourne
true
(fonction membre publique statique) |
Hérité de std::ranges::view_interface |
|
|
(C++23)
|
retourne un itérateur constant vers le début de la plage
(fonction membre publique de
std::ranges::view_interface<D>
)
|
|
(C++23)
|
retourne un sentinelle pour l'itérateur constant de la plage
(fonction membre publique de
std::ranges::view_interface<D>
)
|
|
retourne si la vue dérivée n'est pas vide, fourni uniquement si
ranges::empty
lui est applicable
(fonction membre publique de
std::ranges::view_interface<D>
)
|
|
retourne le premier élément de la vue dérivée, fourni si elle satisfait
forward_range
(fonction membre publique de
std::ranges::view_interface<D>
)
|
|
retourne le dernier élément de la vue dérivée, fourni uniquement si elle satisfait
bidirectional_range
et
common_range
(fonction membre publique de
std::ranges::view_interface<D>
)
|
|
retourne le
n
ème
élément de la vue dérivée, fourni uniquement si elle satisfait
random_access_range
(fonction membre publique de
std::ranges::view_interface<D>
)
|
|
std::ranges::empty_view:: begin
|
static
constexpr
T
*
begin
(
)
noexcept
{
return
nullptr
;
}
|
(depuis C++20) | |
empty_view
ne référence aucun élément.
std::ranges::empty_view:: end
|
static
constexpr
T
*
end
(
)
noexcept
{
return
nullptr
;
}
|
(depuis C++20) | |
empty_view
ne référence aucun élément.
std::ranges::empty_view:: data
|
static
constexpr
T
*
data
(
)
noexcept
{
return
nullptr
;
}
|
(depuis C++20) | |
empty_view
ne référence aucun élément.
std::ranges::empty_view:: size
|
static
constexpr
std::
size_t
size
(
)
noexcept
{
return
0
;
}
|
(depuis C++20) | |
empty_view
est toujours vide.
std::ranges::empty_view:: empty
|
static
constexpr
bool
empty
(
)
noexcept
{
return
true
;
}
|
(depuis C++20) | |
empty_view
est toujours vide.
Modèles d'assistance
|
template
<
class
T
>
constexpr bool ranges:: enable_borrowed_range < ranges :: empty_view < T >> = true ; |
(depuis C++20) | |
Cette spécialisation de
ranges::
enable_borrowed_range
permet à
empty_view
de satisfaire
borrowed_range
.
Notes
Bien que
empty_view
obtienne
front
,
back
, et
operator
[
]
comme fonctions membres de
view_interface
, leurs appels entraînent toujours un comportement indéfini car un
empty_view
est toujours vide.
La fonction de conversion héritée operator bool retourne toujours false .
Exemple
#include <ranges> int main() { namespace ranges = std::ranges; ranges::empty_view<long> e; static_assert(ranges::empty(e)); // utilise l'opérateur 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()); }
Voir aussi
|
(C++17)
|
un wrapper qui peut contenir ou non un objet
(modèle de classe) |
une
view
qui contient un seul élément d'une valeur spécifiée
(modèle de classe) (objet de point de personnalisation) |
|
|
(C++20)
|
une
view
qui inclut tous les éléments d'un
range
(modèle d'alias) (objet adaptateur de gamme) |
|
(C++20)
|
une
view
des éléments d'une autre
range
(modèle de classe) |