Namensräume
Varianten
Aktionen

std::holds_alternative

Von cppreference.com
< cpp‎ | utility‎ | variant
 
 
Dienstprogramm-Bibliotheken
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Coroutine-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

Allgemeine Hilfsmittel
Relationale Operatoren (in C++20 veraltet)
 
 
Definiert in der Header-Datei <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 schlecht geformt, wenn T nicht genau einmal in Types... vorkommt.

Inhalt

[edit] Parameter

v - zu untersuchende Variante

[edit] Rückgabewert

true, wenn die Variante derzeit die Alternative T enthält, andernfalls false.

[edit] 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));
}

[edit] Siehe auch

gibt den nullbasierten Index der vom variant gehaltenen Alternative zurück
(public member function) [bearbeiten]
liest den Wert des variants anhand des Index oder des Typs (wenn der Typ eindeutig ist), wirft bei Fehler
(function template) [bearbeiten]