namespace std::meta {
consteval bool is_bit_field(info r);
}
概要
ビットフィールドであるかを判定する。
戻り値
rがビットフィールドを表す場合にtrueを返す。
例
#include <meta>
struct Flags {
unsigned a : 1;
unsigned b : 3;
unsigned c;
};
consteval bool check() {
auto members = std::meta::nonstatic_data_members_of(
^^Flags, std::meta::access_context::unchecked());
return std::meta::is_bit_field(members[0]) // a
&& std::meta::is_bit_field(members[1]) // b
&& !std::meta::is_bit_field(members[2]); // c
}
int main() {
static_assert(check());
}
出力
バージョン
言語
- C++26
処理系
- Clang: ??
- GCC: 16 (
-freflectionオプション指定) ✅ - Visual C++: ??