- functional[meta header]
- std[meta namespace]
- move_only_function[meta class]
- function template[meta id-type]
- cpp23[meta cpp]
friend bool operator==(const move_only_function& f, nullptr_t) noexcept; // (1)
// (1)により、以下のオーバーロードが使用可能になる
friend bool operator==(nullptr_t, const move_only_function& f) noexcept; // (2)
- nullptr_t[link /reference/cstddef/nullptr_t.md]
等値比較する。
!f
#include <iostream>
#include <functional>
int ident(int x) { return x; }
int main()
{
std::move_only_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++23
- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??