std::holds_alternative
提供: cppreference.com
ヘッダ <variant> で定義 | ||
template<class T, class... Types> constexprbool holds_alternative(conststd::variant<Types...>& v )noexcept; | (C++17以上) | |
バリアント v
が選択肢 T
を保持しているかどうか調べます。 T
が Types...
内にちょうど1回現れない場合、この呼び出しは ill-formed です。
目次 |
[編集]引数
v | - | 調べるバリアント |
[編集]戻り値
バリアントが現在選択肢 T
を保持していれば true
、そうでなければ false
。
[編集]例
Run this code
#include <variant>#include <string>#include <iostream>int main(){std::variant<int, std::string> v ="abc";std::cout<<std::boolalpha<<"variant holds int? "<< std::holds_alternative<int>(v)<<'\n'<<"variant holds string? "<< std::holds_alternative<std::string>(v)<<'\n';}
出力:
variant holds int? false variant holds string? true
[編集]関連項目
variant が保持している選択肢の0から始まるインデックスを返します (パブリックメンバ関数) | |
(C++17) | 指定されたインデックスまたは型 (一意な場合) の値を variant から読み込みます。 エラーの場合は例外を投げます (関数テンプレート) |