namespace std::meta {
consteval bool has_virtual_destructor(info r);
}
概要
仮想デストラクタを持つ型であるかを判定する。std::has_virtual_destructorに対応する。
戻り値
rが表す型が仮想デストラクタを持つ場合にtrueを返す。
例外
rが型を表さない場合、std::meta::exception例外を送出する。
例
#include <meta>
struct Base {
virtual ~Base() = default;
};
struct NonVirtual {
~NonVirtual() = default;
};
int main() {
static_assert(std::meta::has_virtual_destructor(^^Base));
static_assert(!std::meta::has_virtual_destructor(^^NonVirtual));
static_assert(!std::meta::has_virtual_destructor(^^int));
}
出力
バージョン
言語
- C++26
処理系
- Clang: ??
- GCC: 16 (
-freflectionオプション指定) ✅ - Visual C++: ??