std::empty - cppreference.com
De cppreference.com
</tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody>
| Definido en el archivo de encabezado |
||
| Definido en el archivo de encabezado |
||
| Definido en el archivo de encabezado |
||
| Definido en el archivo de encabezado |
||
| Definido en el archivo de encabezado |
||
| Definido en el archivo de encabezado |
||
| Definido en el archivo de encabezado |
||
| Definido en el archivo de encabezado |
||
| Definido en el archivo de encabezado |
(desde C++20) |
|
| Definido en el archivo de encabezado |
||
| Definido en el archivo de encabezado |
||
| Definido en el archivo de encabezado |
||
| Definido en el archivo de encabezado |
||
| Definido en el archivo de encabezado |
||
| (1) | ||
|
|
(desde C++17) (hasta C++20) |
|
|
|
(desde C++20) | |
| (2) | ||
|
|
(desde C++17) (hasta C++20) |
|
|
|
(desde C++20) | |
| (3) | ||
|
|
(desde C++17) (hasta C++20) |
|
|
|
(desde C++20) | |
Devuelve si el contenedor dado está vacío.
1) devuelve c.empty()
2) devuelve false
3) devuelve il.size() == 0
Parámetros
| c | - | Un contenedor con una función miembro empty.
|
| array | - | Un array de tipo arbitrario. |
| il | - | Una lista de inicializadores. |
Valor de retorno
true Si el contenedor no tiene ningún elemento.
Posible implementación
| Primera versión |
|---|
template <class C> constexpr auto empty(const C& c) -> decltype(c.empty()) { return c.empty(); } |
| Segunda versión |
template <class T, std::size_t N> constexpr bool empty(const T (&array)[N]) noexcept { return false; } |
| Tercera versión |
template <class E> constexpr bool empty(std::initializer_list<E> il) noexcept { return il.size() == 0; } |
Ejemplo
#include <iostream> #include <vector> template <class T> void print(const T& container) { if ( !std::empty(container) ) { std::cout << "Elementos:\n"; for ( const auto& element : container ) std::cout << element << '\n'; } else { std::cout << "Vacio\n"; } } int main() { std::vector<int> c = { 1, 2, 3 }; print(c); c.clear(); print(c); int array[] = { 4, 5, 6 }; print(array); auto il = { 7, 8, 9 }; print(il); }
Salida:
Elementos: 1 2 3 Vacio Elementos: 4 5 6 Elementos: 7 8 9