Detailed Description
A type is EqualityComparable if objects of that type can be compared for equality using operator==
, and if operator==
is an equivalence relation.
- Refinement Of:
- Associated Types:
- Notation:
X | A type that is a model of EqualityComparable |
x , y , z | Object of type X |
- Definitions:
- Valid Expressions:
Name | Expression | Type requirements | Return type |
Equality | x == y | | Convertible to bool |
Inequality | x != y | | Convertible to bool |
- Expression Semantics:
Name | Expression | Precondition | Semantics | Postcondition |
Equality | x == y | x and y are in the domain of == | | |
Inequality | x != y | x and y are in the domain of == | Equivalent to !(x == y) | |
- Complexity Guarantees:
- Invariants:
Identity | &x == &y implies x == y |
Reflexivity | x == x |
Symmetry | x == y implies y == x |
Transitivity | x == y and y == z implies x == z |
- Type(s) Modeling this Concept:
-
- Notes:
- See Also:
-