Namespaces
Variants

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

From cppreference.net
Utilities library
constexpr std:: size_t index ( ) const noexcept ;
(seit C++17)

Gibt den nullbasierten Index der Alternative zurück, die derzeit von der Variante gehalten wird.

Wenn die Variante valueless_by_exception ist, wird variant_npos zurückgegeben.

Beispiel

#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';
}

Ausgabe:

v.index = 1
v.index = 0

Siehe auch

prüft, ob ein variant derzeit einen gegebenen Typ enthält
(Funktions-Template)
liest den Wert des Variants mit gegebenem Index oder Typ (falls der Typ eindeutig ist), wirft bei Fehler eine Exception
(Funktions-Template)