Namespaces
Variants

std::meta::is_user_declared

ja.cppreference.net より
< cpp | meta
 
 
 
リフレクションライブラリ
 
リフレクション型とクエリ
リフレクションクエリ
リフレクションレイアウトクエリ
型プロパティ
型プロパティクエリ
 
ヘッダで定義 <meta>
consteval bool is_user_declared( std::meta::info r );
(C++26以上)

戻り値: true もし r がユーザ宣言された関数を表す場合は。そうでなければ を返す。false.

引数

r - リフレクション値

戻り値

true もし r がユーザ宣言された関数を表す場合; そうでなければ false.

注釈

もし r が関数を表さない場合、結果は です。false 特に、結果は false もし r が関数テンプレートを表す場合です。

例

#include <meta>

struct Base
{
    bool operator==(const Base&) const = default;
};

struct Derived : public Base
{
    std::strong_ordering operator<=>(const Derived&) const = default;

    // Derived::operator== is declared by the defaulted definition of operator<=>
};

static_assert(std::meta::is_user_declared(^^Base::operator==));
static_assert(!std::meta::is_user_declared(^^Derived::operator==));
static_assert(std::meta::is_user_declared(^^Derived::operator<=>));

int main() {}

関連項目

リフレクションが関数を表すかどうかを調べる
(関数)
リフレクションがユーザ提供の関数を表すかどうかを調べる
(関数)