最終更新日時(UTC):
が更新

履歴 編集

function
<meta>

std::meta::is_bit_field(C++26)

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

処理系

参照