Skip to content

Latest commit

 

History

History
58 lines (43 loc) · 1.21 KB

File metadata and controls

58 lines (43 loc) · 1.21 KB

is_data_member_spec

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

概要

data_member_spec()によって作成されたデータメンバの仕様であるかを判定する。

戻り値

rdata_member_spec()によって作成されたデータメンバの仕様を表す場合にtrueを返す。

#include <meta>

struct S;

consteval {
  std::meta::define_aggregate(^^S, {
    std::meta::data_member_spec(^^int, {.name = "x"}),
    std::meta::data_member_spec(^^double, {.name = "y"})
  });
}

int main() {
  S s{1, 2.0};
  static_assert(std::meta::is_data_member_spec(
    std::meta::data_member_spec(^^int, {.name = "z"})));
}

出力

バージョン

言語

  • C++26

処理系

参照