Namespaces
Variants

std::variant<Types...>::index

Depuis fr.cppreference.net
 
 
Bibliothèque d'utilitaires
Support linguistique
Support de 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 (obsolète en C++20)
 
 
constexpr std::size_t index() const noexcept;
(depuis C++17)

Retourne l'indice basé sur zéro de l'alternative actuellement détenue par la variante.

Si la variante est valueless_by_exception, retourne variant_npos.

Exemple

#include <iostream>
#include <string>
#include <variant>
int main()
{
    std::variant<int, std::string> v = "abc";
    std::cout << "v.index = " << v.index() << '\n';
    v = {};
    std::cout << "v.index = " << v.index() << '\n';
}

Sortie :

v.index = 1
v.index = 0

Voir aussi

vérifie si un variant contient actuellement un type donné
(modèle de fonction)
lit la valeur du variant selon l'index ou le type (si le type est unique), lance une exception en cas d'erreur
(modèle de fonction)