Spec-Zone.ru › C++

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

Defined in header <meta>
consteval bool is_lvalue_reference_qualified( std::meta::info r );
(1) (since C++26)
consteval bool is_rvalue_reference_qualified( std::meta::info r );
(2) (since C++26)
1) Returns true if r represents a lvalue reference qualified non-static member function. Otherwise returns false.
2) Returns true if r represents a rvalue reference qualified non-static member function. Otherwise returns false.

Parameters

r - a reflection value

Return value

true if r represents an appropriately ref-qualified member function; otherwise false.

Example

#include <meta>

struct A
{
    int f(int);     // not ref-qualified
    int fl(int) &;  // lvalue ref
    int fr(int) &&; // rvalue ref
};

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() {}

See also

is_class_member
(C++26)
checks if reflection represents a class member
(function)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/meta/is_lvalue_reference_qualified

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API