Spec-Zone.ru › C++

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

Определено в заголовочном файле <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) Возвращает true, если r представляет собой нестатическую функцию-член, квалифицированную ссылкой на lvalue. В противном случае возвращает false.
2) Возвращает true, если r представляет собой нестатическую функцию-член, квалифицированную ссылкой на rvalue. В противном случае возвращает false.

Параметры

r - значение отражения

Возвращаемое значение

true, если r представляет собой функцию-член с соответствующей квалификацией ссылки; в противном случае false.

Пример

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

См. также

is_class_member
(C++26)
проверяет, представляет ли отражение член класса
(функция)

© 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