Equality Comparable

Category: utilities
Component type: concept

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

Models

Notes

See also

LessThan Comparable.

 All Classes Files Functions Variables Typedefs