概要
トリビアルに代入可能かを判定する。std::is_trivially_assignableに対応する。
戻り値
type_dstとtype_srcが表す型について、トリビアルに代入可能な場合にtrueを返す。
例外
type_dstまたはtype_srcが型を表さない場合、std::meta::exception例外を送出する。
例
#include <meta>
struct Trivial {
int x;
};
struct NonTrivial {
NonTrivial& operator=(const int& v) { x = v; return *this; }
int x;
};
int main() {
static_assert(std::meta::is_trivially_assignable_type(^^int&, ^^int));
static_assert(std::meta::is_trivially_assignable_type(^^Trivial&, ^^Trivial));
static_assert(!std::meta::is_trivially_assignable_type(^^NonTrivial&, ^^int));
}
出力
バージョン
言語
- C++26
処理系
- Clang: ??
- GCC: 16 (
-freflectionオプション指定) ✅ - Visual C++: ??