Skip to content

Latest commit

 

History

History
60 lines (44 loc) · 1.47 KB

File metadata and controls

60 lines (44 loc) · 1.47 KB

variant_alternative

  • meta[meta header]
  • std::meta[meta namespace]
  • function[meta id-type]
  • cpp26[meta cpp]
namespace std::meta {
  consteval info variant_alternative(std::size_t index, info type);
}
  • info[link info.md]

概要

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);
}
  • std::meta::variant_alternative[color ff0000]

出力

バージョン

言語

  • C++26

処理系

関連項目

参照