Namespaces
Variants

std::holds_alternative

Depuis fr.cppreference.net
 
 
Bibliothèque d'utilitaires
Support linguistique
Support des types (types de base, RTTI)
Macros de test de fonctionnalités de la bibliothèque (C++20)
Utilitaires de programme
Fonctions variadiques
Support des coroutines (C++20)
Support des contrats (C++26)
Comparaison à trois voies
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilitaires généraux
Opérateurs relationnels (déprécié en C++20)
 
 
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...

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)