std::meta::is_special_member_function
Определён в заголовочном файле <meta> | ||
|---|---|---|
consteval bool is_special_member_function( std::meta::info r ); | (начиная с C++26) |
Возвращает true, если r представляет специальную функцию-член (то есть конструктор по умолчанию, копирующий или перемещающий конструктор, копирующий или перемещающий оператор присваивания либо (возможно, предполагаемый) деструктор). В противном случае возвращает false.
Параметры
| r | - | значение отражения |
Возвращаемое значение
true, если r представляет специальную функцию-член; в противном случае — false.
Пример
#include <meta>
struct S
{
~S();
operator int();
S& operator()(int);
};
static_assert(is_special_member_function(^^S::~S));
static_assert(!is_special_member_function(^^S::operator int));
static_assert(!is_special_member_function(^^S::operator()));
int main() {}
См. также
|
(C++26) | проверяет, представляет ли отражение функцию (функция) |
|
(C++26) | проверяет, представляет ли отражение функцию преобразования (функция) |
|
(C++26)(C++26)(C++26)(C++26) | проверяет, является ли отражённая сущность конструктором указанного вида (функция) |
|
(C++26) | проверяет, является ли отражённая сущность деструктором (функция) |
|
(C++26)(C++26)(C++26) | проверяет, является ли отражённая сущность оператором присваивания указанного вида (функция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/meta/is_special_member_function