Elvis operator for types.
Elvis operator for types. See https://en.wikipedia.org/wiki/Elvis_operator
Approximate size of the given value in bytes.
Type code of embeddable type can be combined with code of type constructor.
Type code of embeddable type can be combined with code of type constructor. Resulting code can be serialized. This simple convention allows to save space for most frequently used types. See TypeSerializer
Lookup method by its id in this type.
Lookup method by its id in this type.
This method should be overriden in derived classes to add new methods in addition to inherited.
This method should be overriden in derived classes to add new methods in addition to inherited.
Typical override: super.getMethods() ++ Seq(m1, m2, m3)
Returns true if dataSize doesn't depend on data value.
Returns true if this type embeddable, i.e.
Returns true if this type embeddable, i.e. a type that can be combined with type
constructor for optimized encoding. For each embeddable type T
, and type
constructor C
, the type C[T]
can be represented by a single byte.
Returns a type which is larger.
Returns a type which is larger.
Lookup method in this type by method's id or throw ValidationException.
Lookup method in this type by method's id or throw ValidationException. This method can be used in trySoftForkable section to either obtain valid method or catch ValidatioinException which can be checked for soft-fork condition. It delegate to getMethodById to lookup method.
getMethodById
Returns -1 if method
is not found.
Returns -1 if method
is not found.
Returns all the methods of this type.
Returns all the methods of this type.
Returns parsable type term string of the type described by this type descriptor.
Returns parsable type term string of the type described by this type descriptor. For every type it should be inverse to SigmaTyper.parseType. This is default fallback implementation, should be overriden if it is not correct for a particular type.
Type code used in serialization of SType values.
Type identifier to use in method serialization
Type identifier to use in method serialization