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

履歴 編集

function
<meta>

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

namespace std::meta {
  consteval bool is_public(info r);
}

概要

publicアクセスであるかを判定する。

戻り値

rがクラスメンバまたは基底クラス関係を表し、かつpublicアクセスである場合にtrueを返す。

#include <meta>

struct S {
  int pub;
protected:
  int prot;
private:
  int priv;
};

consteval bool check() {
  auto members = std::meta::nonstatic_data_members_of(
      ^^S, std::meta::access_context::unchecked());
  return std::meta::is_public(members[0])
      && std::meta::is_protected(members[1])
      && std::meta::is_private(members[2]);
}

int main() {
  static_assert(check());
}

出力

バージョン

言語

  • C++26

処理系

参照