std::ranges:: views:: empty, std::ranges:: empty_view
|
Definido en el encabezado
<ranges>
|
||
|
template
<
class
T
>
requires
std::
is_object_v
<
T
>
|
(1) | (desde C++20) |
|
namespace
views
{
template
<
class
T
>
|
(2) | (desde C++20) |
view
sin elementos de un tipo particular.
empty_view
.
Contenidos |
Funciones miembro
|
begin
[static]
|
devuelve
nullptr
(función miembro pública estática) |
|
end
[static]
|
devuelve
nullptr
(función miembro pública estática) |
|
data
[static]
|
devuelve
nullptr
(función miembro pública estática) |
|
size
[static]
|
devuelve
0
(función miembro pública estática) |
|
empty
[static]
|
devuelve
true
(función miembro pública estática) |
Heredado de std::ranges::view_interface |
|
|
(C++23)
|
devuelve un iterador constante al inicio del rango
(función miembro pública de
std::ranges::view_interface<D>
)
|
|
(C++23)
|
devuelve un centinela para el iterador constante del rango
(función miembro pública de
std::ranges::view_interface<D>
)
|
|
devuelve si la vista derivada no está vacía, proporcionado solo si
ranges::empty
es aplicable a ella
(función miembro pública de
std::ranges::view_interface<D>
)
|
|
devuelve el primer elemento en la vista derivada, proporcionado si satisface
forward_range
(función miembro pública de
std::ranges::view_interface<D>
)
|
|
devuelve el último elemento en la vista derivada, proporcionado solo si satisface
bidirectional_range
y
common_range
(función miembro pública de
std::ranges::view_interface<D>
)
|
|
devuelve el
n
ésimo
elemento en la vista derivada, proporcionado solo si satisface
random_access_range
(función miembro pública de
std::ranges::view_interface<D>
)
|
|
std::ranges::empty_view:: begin
|
static
constexpr
T
*
begin
(
)
noexcept
{
return
nullptr
;
}
|
(desde C++20) | |
empty_view
no referencia ningún elemento.
std::ranges::empty_view:: end
|
static
constexpr
T
*
end
(
)
noexcept
{
return
nullptr
;
}
|
(desde C++20) | |
empty_view
no referencia ningún elemento.
std::ranges::empty_view:: data
|
static
constexpr
T
*
data
(
)
noexcept
{
return
nullptr
;
}
|
(desde C++20) | |
empty_view
no referencia ningún elemento.
std::ranges::empty_view:: size
|
static
constexpr
std::
size_t
size
(
)
noexcept
{
return
0
;
}
|
(desde C++20) | |
empty_view
siempre está vacío.
std::ranges::empty_view:: empty
|
static
constexpr
bool
empty
(
)
noexcept
{
return
true
;
}
|
(desde C++20) | |
empty_view
siempre está vacío.
Plantillas auxiliares
|
template
<
class
T
>
constexpr bool ranges:: enable_borrowed_range < ranges :: empty_view < T >> = true ; |
(desde C++20) | |
Esta especialización de
ranges::
enable_borrowed_range
hace que
empty_view
cumpla con
borrowed_range
.
Notas
Aunque
empty_view
obtiene las funciones miembro
front
,
back
, y
operator
[
]
de
view_interface
, las llamadas a ellas siempre resultan en comportamiento indefinido ya que un
empty_view
siempre está vacío.
La función de conversión heredada operator bool siempre retorna false .
Ejemplo
#include <ranges> int main() { namespace ranges = std::ranges; ranges::empty_view<long> e; static_assert(ranges::empty(e)); // utiliza 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()); }
Véase también
|
(C++17)
|
un contenedor que puede o no contener un objeto
(class template) |
una
view
que contiene un único elemento de un valor especificado
(class template) (customization point object) |
|
|
(C++20)
|
una
view
que incluye todos los elementos de un
range
(alias template) (range adaptor object) |
|
(C++20)
|
una
view
de los elementos de algún otro
range
(class template) |