namespace std::meta {
consteval info variant_alternative(std::size_t index, info type);
}
概要
std::variantの指定位置の候補型を取得する。std::variant_alternativeに対応する。
戻り値
typeが表す型のindex番目の候補型のリフレクションを返す。
例外
typeが型を表さない場合、std::meta::exception例外を送出する。
例
#include <meta>
#include <variant>
int main() {
using V = std::variant<int, double, char>;
static_assert(std::meta::variant_alternative(0, ^^V) == ^^int);
static_assert(std::meta::variant_alternative(1, ^^V) == ^^double);
static_assert(std::meta::variant_alternative(2, ^^V) == ^^char);
}
出力
バージョン
言語
- C++26
処理系
- Clang: ??
- GCC: 16 (
-freflectionオプション指定) ✅ - Visual C++: ??