C++ named requirements: EqualityComparable
The type must work with == operator and the result should have standard semantics.
T satisfies EqualityComparable if
- a, b and c, expressions of type
The following expressions must be valid and have their specified effects:
|a == b||implicitly convertible to bool||Establishes an equivalence relation, that is, it satisfies the following properties:
For the types that are both EqualityComparable and LessThanComparable, the C++ standard library makes a distinction between equality, which is the value of the expression a == b and equivalence, which is the value of the expression !(a < b) && !(b < a).
 Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
|DR||Applied to||Behavior as published||Correct behavior|
|LWG 283||C++98||even if
||they apply to |
 See also
| specifies that operator == is an equivalence relation |