blob: dbdbfe8ebe021a457f7baf98c098b0102bf77c9d (
plain) (
tree)
|
|
package generic
import Shapes.Singleton
trait Enum {
def enumTag: Int
}
trait FiniteEnum extends Enum
abstract class EnumValues[E <: Enum](numVals: Int) {
private var myValues = new Array[AnyRef](numVals)
def registerEnumValue(v: E) =
myValues(v.enumTag) = v
def value: IndexedSeq[E] = (myValues: IndexedSeq[AnyRef]).asInstanceOf[IndexedSeq[E]]
}
|