namespace std::meta {
consteval bool has_identifier(info r);
}
概要
リフレクションが識別子を持つかどうかを判定する。
戻り値
rが識別子を持つ場合はtrue、そうでなければfalseを返す。名前のない関数パラメータや、異なる宣言間でパラメータ名が一致しない場合はfalseとなる。
例
#include <meta>
void func(int x, int);
int main() {
static_assert(std::meta::has_identifier(
std::meta::parameters_of(^^func)[0])); // "x"という名前がある
static_assert(!std::meta::has_identifier(
std::meta::parameters_of(^^func)[1])); // 名前がない
}
出力
バージョン
言語
- C++26
処理系
- Clang: ??
- GCC: 16 (
-freflectionオプション指定) ✅ - Visual C++: ??