namespace std {
// operator<=>により、以下の演算子が使用可能になる (C++20)
bool
operator<(const error_code& lhs,
const error_code& rhs) noexcept; // (1) C++11
}
概要
error_code
において、左辺が右辺より小さいかの比較を行う。
戻り値
return lhs.category() < rhs.category() || lhs.category() == rhs.category() && lhs.value() < rhs.value();
例外
投げない
例
#include <iostream>
#include <system_error>
int main()
{
std::error_code ec1 = std::make_error_code(std::errc::invalid_argument);
std::error_code ec2 = std::make_error_code(std::errc::permission_denied);
std::cout << std::boolalpha;
std::cout << (ec1 < ec2) << std::endl;
}
xxxxxxxxxx
#include <iostream>
#include <system_error>
int main()
{
std::error_code ec1 = std::make_error_code(std::errc::invalid_argument);
std::error_code ec2 = std::make_error_code(std::errc::permission_denied);
std::cout << std::boolalpha;
std::cout << (ec1 < ec2) << std::endl;
}
出力
false
バージョン
言語
- C++11
処理系
- Clang: ??
- GCC: 4.7.0 ✅
- ICC: ??
- Visual C++: 2010 ✅