<functional>
Операторов
operator==
Проверяет, является ли вызываемый объект пустым.
template <class Fty>
bool operator==(const function<Fty>& f, null_ptr_type npc);
template <class Fty>
bool operator==(null_ptr_type npc, const function<Fty>& f);
Параметры
Fty
Тип функции для заключения в оболочку.
f
Объект функции
npc
Указатель null
Замечания
Операторы принимают аргумент, являющийся ссылкой на объект function
, и аргумент, являющийся константой указателя null. В обоих случаях возвращается значение true только в том случае, если объект function
пуст.
Пример
// std__functional__operator_eq.cpp
// compile with: /EHsc
#include <functional>
#include <iostream>
int neg(int val)
{
return (-val);
}
int main()
{
std::function<int(int)> fn0;
std::cout << std::boolalpha << "empty == "
<< (fn0 == 0) << std::endl;
std::function<int(int)> fn1(neg);
std::cout << std::boolalpha << "empty == "
<< (fn1 == 0) << std::endl;
return (0);
}
empty == true
empty == false
оператор!=
Проверяет, является ли вызываемый объект не пустым.
template <class Fty>
bool operator!=(const function<Fty>& f, null_ptr_type npc);
template <class Fty>
bool operator!=(null_ptr_type npc, const function<Fty>& f);
Параметры
Fty
Тип функции для заключения в оболочку.
f
Объект функции
npc
Указатель null
Замечания
Операторы принимают аргумент, являющийся ссылкой на объект function
, и аргумент, являющийся константой указателя null. В обоих случаях возвращается значение true только в том случае, если объект function
не пуст.
Пример
// std__functional__operator_ne.cpp
// compile with: /EHsc
#include <functional>
#include <iostream>
int neg(int val)
{
return (-val);
}
int main()
{
std::function<int (int)> fn0;
std::cout << std::boolalpha << "not empty == "
<< (fn0 != 0) << std::endl;
std::function<int (int)> fn1(neg);
std::cout << std::boolalpha << "not empty == "
<< (fn1 != 0) << std::endl;
return (0);
}
not empty == false
not empty == true