Namespaces
Variants

std:: holds_alternative

From cppreference.net
Utilities library
Défini dans l'en-tête <variant>
template < class T, class ... Types >
constexpr bool holds_alternative ( const std:: variant < Types... > & v ) noexcept ;
(depuis C++17)

Vérifie si la variante v contient l'alternative T . L'appel est mal formé si T n'apparaît pas exactement une fois dans Types...

Table des matières

Paramètres

v - variant à examiner

Valeur de retour

true si la variante contient actuellement l'alternative T , false sinon.

Exemple

#include <cassert>
#include <string>
#include <variant>
int main()
{
    std::variant<int, std::string> v = "abc";
    assert(not std::holds_alternative<int>(v));
    assert(std::holds_alternative<std::string>(v));
}

Voir aussi

retourne l'index de base zéro de l'alternative contenue par le variant
(fonction membre publique)
lit la valeur du variant selon l'index ou le type (si le type est unique), lance une exception en cas d'erreur
(fonction template)