Skip to content

Latest commit

 

History

History
66 lines (47 loc) · 1.43 KB

File metadata and controls

66 lines (47 loc) · 1.43 KB

has_virtual_destructor

  • meta[meta header]
  • std::meta[meta namespace]
  • function[meta id-type]
  • cpp26[meta cpp]
namespace std::meta {
  consteval bool has_virtual_destructor(info r);
}
  • info[link info.md]

概要

仮想デストラクタを持つ型であるかを判定する。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));
}
  • std::meta::has_virtual_destructor[color ff0000]

出力

バージョン

言語

  • C++26

処理系

関連項目

参照