std::holds_alternative
De cppreference.com
| 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
Ejecuta este código
#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) | |
(C++17) |
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) |