- 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()によって作成されたデータメンバの仕様であるかを判定する。
rがdata_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
- Clang: ??
- GCC: 16 (
-freflectionオプション指定) [mark verified] - Visual C++: ??