Поделиться через


<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