- functional[meta header]
- std[meta namespace]
- function template[meta id-type]
- cpp11[meta cpp]
namespace std {
template <class R, class... ArgTypes>
bool operator==(const function<R(ArgTypes...)>& f, nullptr_t) noexcept;
template <class R, class... ArgTypes>
bool operator==(nullptr_t, const function<R(ArgTypes...)>& f) noexcept;
}
- nullptr_t[link /reference/cstddef/nullptr_t.md]
等値比較する。
!f
#include <iostream>
#include <functional>
int ident(int x) { return x; }
int main()
{
std::function<int(int)> f;
if (f == nullptr) {
std::cout << "empty" << std::endl;
}
f = ident;
if (f == nullptr) {}
else {
std::cout << "not empty" << std::endl;
}
}
empty
not empty
- C++11
- Clang, C++11 mode: 3.0
- GCC, C++11 mode: 4.6.4
- Visual C++: ??