operator==,!=,<,<=>(std::error_condition)
Von cppreference.com
< cpp | error | error condition
| Definiert in der Header-Datei <system_error> |
||
| bool operator==( const std::error_condition& lhs, const std::error_condition& rhs ) noexcept; |
(1) | (seit C++11) |
| bool operator!=( const std::error_condition& lhs, const std::error_condition& rhs ) noexcept; |
(2) | (seit C++11) (bis C++20) |
| bool operator<( const std::error_condition& lhs, const std::error_condition& rhs ) noexcept; |
(3) | (seit C++11) (bis C++20) |
| std::strong_ordering operator<=>( const std::error_condition& lhs, const std::error_condition& rhs ) noexcept; |
(4) | (seit C++20) |
| bool operator==( const std::error_code& code, const std::error_condition& cond ) noexcept; |
(5) | (seit C++11) |
| bool operator==( const std::error_condition& cond, const std::error_code& code ) noexcept; |
(5) | (seit C++11) (bis C++20) |
| bool operator!=( const std::error_code& code, const std::error_condition& cond ) noexcept; |
(6) | (seit C++11) (bis C++20) |
| bool operator!=( const std::error_condition& cond, const std::error_code& code ) noexcept; |
(6) | (seit C++11) (bis C++20) |
Vergleicht zwei Fehlerbedingungen.
1) Prüft, ob lhs und rhs gleich sind.
2) Prüft, ob lhs und rhs nicht gleich sind.
3) Prüft, ob lhs *kleiner als* rhs ist.
4) Ermittelt das Ergebnis des Drei-Wege-Vergleichs von lhs und rhs.
5) Prüft, ob code eine semantische Übereinstimmung mit cond ist.
6) Prüft, ob code keine semantische Übereinstimmung mit cond ist.
|
Die Operatoren |
(seit C++20) |
[edit] Parameter
| lhs, rhs, cond | - | Zu vergleichende Fehlerbedingungen |
| code | - | Zu vergleichender Fehlercode |
[edit] Rückgabewert
1) true, wenn die Fehlerkategorie und der Fehlerwert gleich sind.
2) true, wenn die Fehlerkategorie oder der Fehlerwert nicht gleich sind.
3) true, wenn lhs.category() < rhs.category(). Andernfalls true, wenn lhs.category() == rhs.category() && lhs.value() < rhs.value(). Andernfalls false.
4) lhs.category() <=> rhs.category(), wenn es nicht std::strong_ordering::equal ist. Andernfalls lhs.value() <=> rhs.value().
5) true, wenn entweder code.category().equivalent(code.value(), cond) oder cond.category().equivalent(code, cond.value()).
6) true, wenn weder code.category().equivalent(code.value(), cond) noch cond.category().equivalent(code, cond.value()).
[edit] Siehe auch
| [virtuell] |
vergleicht error_code und error_condition auf Gleichwertigkeit(virtuelle öffentliche Memberfunktion von std::error_category) |
| (entfernt in C++20)(entfernt in C++20)(C++20) |
vergleicht zwei error_codes(function) |