namespace std::meta {
template <reflection_range R = std::initializer_list<info>>
consteval info common_type(R&& type_args);
}
概要
複数の型の共通型を求める。std::common_typeに対応する。
戻り値
type_argsの各要素が表す型に対してstd::common_type相当の変換を適用した結果の型のリフレクションを返す。
例外
type_argsの各要素が型を表さない場合、std::meta::exception例外を送出する。
例
#include <meta>
int main() {
static_assert(std::meta::common_type({^^int, ^^double}) == ^^double);
}
出力
バージョン
言語
- C++26
処理系
- Clang: ??
- GCC: 16 (
-freflectionオプション指定) ✅ - Visual C++: ??