Trait to be extended by enums whose values are ordered by declaration order. Ordering is derived from
SourceInfo object, which is typically accepted as an implicit, e.g.
sealedabstractclass MyOrderedEnum(implicitval sourceInfo: SourceInfo) extends OrderedEnum
object MyOrderedEnum {
caseobject First extends MyOrderedEnum
caseobject Second extends MyOrderedEnum
caseobject Third extends MyOrderedEnum
val values: List[MyOrderedEnum] = caseObjects
}
In the example above, values is guaranteed to return First, Second and Third objects in exactly that order.
Trait to be extended by enums whose values are ordered by declaration order. Ordering is derived from SourceInfo object, which is typically accepted as an implicit, e.g.
In the example above,
values
is guaranteed to returnFirst
,Second
andThird
objects in exactly that order.