Espacios de nombres
Variantes

std::holds_alternative

De cppreference.com
 
 
Biblioteca de servicios
Apoyo del lenguaje
Apoyo de tipos (tipos básicos, RTTI)
Macros de prueba de característica de la biblioteca (C++20)
Servicios de programa
Funciones variádicas
Apoyo de corrutinas (C++20)
Apoyo de contratos (C++26)
Comparación de tres vías (C++20)
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

 
 
Definido en el archivo de encabezado <variant>
template< class T, class... Types >
constexpr bool holds_alternative( const std::variant<Types...>& v ) noexcept;
(desde C++17)

Comprueba si el variante v mantiene la alternativa T. La llamada está mal formada si T no aparece exactamente una vez en Types...

Parámetros

v - Variante a inspeccionar.

Valor de retorno

true si el variante actualmente mantiene la alternativa T; de lo contrario, false.

Ejemplo

#include <variant>
#include <string>
#include <iostream>
int main()
{
    std::variant<int, std::string> v = "abc";
    std::cout << std::boolalpha
              << "¿variante mantiene int? "
              << std::holds_alternative<int>(v) << '\n'
              << "¿variante mantiene string? "
              << std::holds_alternative<std::string>(v) << '\n';
}

Salida:

¿variante mantiene int? false
¿variante mantiene string? true

Véase también

Devuelve el subíndice de base cero de la alternativa mantenida por el variante.
(función miembro pública) [editar]
Lee el valor del variante dado el subíndice o el tipo (si el tipo es único), lanza una excepción si existe un error.
(plantilla de función) [editar]