std::meta::is_lvalue_reference_qualified, std::meta::is_rvalue_reference_qualified

来自cppreference.com
< cpp | meta


 
 
 
反射库
 
反射类型与查询
反射查询
反射布局查询
类型属性
类型属性查询
 
在标头 <meta> 定义
consteval bool is_lvalue_reference_qualified( std::meta::info r );
(1) (C++26 起)
consteval bool is_rvalue_reference_qualified( std::meta::info r );
(2) (C++26 起)
1) 如果 r 表示一个带有左值引用限定的非静态成员函数,则返回 true,否则返回 false
2) 如果 r 表示一个带有右值引用限定的非静态成员函数,则返回 true,否则返回 false

参数

r - 一个反射值

返回值

如果 r 表示一个具有相应引用限定符的成员函数,则为 true,否则为 false

示例

#include <meta>

struct A
{
    int f(int);     // 无引用限定
    int fl(int) &;  // 左值引用
    int fr(int) &&; // 右值引用
};

static_assert(!std::meta::is_lvalue_reference_qualified(^^A::f));
static_assert(!std::meta::is_rvalue_reference_qualified(^^A::f));

static_assert(std::meta::is_lvalue_reference_qualified(^^A::fl));
static_assert(!std::meta::is_rvalue_reference_qualified(^^A::fl));

static_assert(!std::meta::is_lvalue_reference_qualified(^^A::fr));
static_assert(std::meta::is_rvalue_reference_qualified(^^A::fr));

int main() {}

参阅

检查反射是否表示类成员
(函数) [编辑]
Morty Proxy This is a proxified and sanitized view of the page, visit original site.