std:: holds_alternative
From cppreference.net
C++
Utilities library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::variant
| Member functions | ||||
| Observers | ||||
| Modifiers | ||||
| Visitation | ||||
|
(C++26)
|
||||
| Non-member functions | ||||
|
holds_alternative
|
||||
| Helper classes | ||||
| Helper objects | ||||
|
ヘッダーで定義
<variant>
|
||
|
template
<
class
T,
class
...
Types
>
constexpr bool holds_alternative ( const std:: variant < Types... > & v ) noexcept ; |
(C++17以降) | |
バリアント
v
が代替型
T
を保持しているかどうかをチェックします。
T
が
Types...
内に正確に1回出現しない場合、この呼び出しは不適格となります。
目次 |
パラメータ
| v | - | 検査するバリアント |
戻り値
true
バリアントが現在
T
の代替型を保持している場合、
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
が保持する代替案の0ベースのインデックスを返す
(public member function) |
|
|
(C++17)
|
インデックスまたは型(型が一意の場合)を指定してvariantの値を読み取り、エラー時には例外をスローする
(function template) |