Namespaces
Variants

std:: holds_alternative

From cppreference.net
Utilities library
Definiert im Header <variant>
template < class T, class ... Types >
constexpr bool holds_alternative ( const std:: variant < Types... > & v ) noexcept ;
(seit C++17)

Prüft, ob die Variante v die Alternative T enthält. Der Aufruf ist ill-formed, wenn T nicht genau einmal in Types... vorkommt.

Inhaltsverzeichnis

Parameter

v - zu untersuchende Variante

Rückgabewert

true wenn der Variant aktuell die Alternative T enthält, false andernfalls.

Beispiel

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

Siehe auch

gibt den nullbasierten Index der vom variant gehaltenen Alternative zurück
(öffentliche Elementfunktion)
liest den Wert des Variants anhand des Index oder Typs (falls der Typ eindeutig ist), wirft bei Fehler
(Funktionstemplate)