namespace std::meta {
consteval bool is_trivially_copy_constructible_type(info type);
}
概要
トリビアルにコピー構築可能型であるかを判定する。std::is_trivially_copy_constructibleに対応する。
戻り値
typeが表す型がトリビアルにコピー構築可能型である場合にtrueを返す。
例外
typeが型を表さない場合、std::meta::exception例外を送出する。
例
#include <meta>
#include <string>
struct Trivial {
int x;
};
struct NonTrivial {
NonTrivial(const NonTrivial& other) : x(other.x) {} // ユーザー定義
int x;
};
int main() {
static_assert(std::meta::is_trivially_copy_constructible_type(^^int));
static_assert(std::meta::is_trivially_copy_constructible_type(^^Trivial));
static_assert(!std::meta::is_trivially_copy_constructible_type(^^NonTrivial));
static_assert(!std::meta::is_trivially_copy_constructible_type(^^std::string));
}
出力
バージョン
言語
- C++26
処理系
- Clang: ??
- GCC: 16 (
-freflectionオプション指定) ✅ - Visual C++: ??