std::holds_alternative
From cppreference.com
| ヘッダ <variant> で定義 |
||
| template< class T, class... Types > constexpr bool holds_alternative( const std::variant<Types...>& v ) noexcept; |
(C++17以降) | |
バリアントvが代替型Tを保持しているかを確認します。TがTypes...にちょうど1回だけ現れない場合、呼び出しは形式エラーとなります。
目次 |
[編集] パラメータ
| v | - | 調べるバリアント |
[編集] 戻り値
バリアントが現在代替型Tを保持している場合はtrue、それ以外の場合はfalse。
[編集] 例
このコードを実行
#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)); }
[編集] 関連項目
variant が保持する代替型のゼロから始まるインデックスを返す(public member function) | |
| (C++17) |
インデックスまたは型(型が一意である場合)を指定して variant の値を読み取る。エラーの場合は例外をスローする (function template) |