std::move_only_function::operator bool
Материал из cppreference.com
< cpp | utility | functional | move only function
explicit operator bool() const noexcept; |
(начиная с C++23) | |
Проверяет, хранит ли *this вызываемую цель, т.е. не является ли он пустым.
Содержание |
[править] Параметры
(нет)
[править] Возвращаемое значение
true, если *this хранит вызываемую цель, false иначе.
[править] Пример
Запустить этот код
#include <functional> #include <iostream> void sampleFunction() { std::cout << "Это пример функции!\n"; } void checkFunc( std::move_only_function<void() const> const &func ) { // Использует operator bool, чтобы определить, доступна ли вызываемая цель. if( func ) { std::cout << "Функция не пустая! Вызов функции.\n"; func(); } else { std::cout << "Функция пуста. Ничего не делать.\n"; } } int main() { std::move_only_function<void() const> f1{}; std::move_only_function<void() const> f2{ sampleFunction }; std::cout << "f1: "; checkFunc(f1); std::cout << "f2: "; checkFunc(f2); }
Вывод:
f1: Функция пуста. Ничего не делать. f2: Функция не пустая! Вызов функции. Это пример функции!
[править] Смотрите также
проверяет, содержится ли цель (public функция-элемент std::function<R(Args...)> )
|