1 package frost.core
2
3 ====================================================================================================
4 Interface for objects which can be compared for equality. As `Equatable` provides a default
5 implementation of `!=`, only the `=` operator is strictly required.
6 ====================================================================================================
7 interface Equatable<T:Equatable<T>> {
8 ================================================================================================
9 Returns `true` if these objects are equal.
10 ================================================================================================
11 function =(other:T):Bit
12
13 ================================================================================================
14 Returns `true` if these objects are not equal.
15 ================================================================================================
16 @default
17 function !=(other:T):Bit {
18 return !(self = other)
19 }
20 }