Approximate size of the given value in bytes.
Approximate size of the given value in bytes. It is actual size only for primitive types.
Downcasts the given value of a larger type to this smaller type.
Downcasts the given value of a larger type to this smaller type.
numeric value to be converted
a value of WrappedType of this type descriptor's instance.
Returns true if dataSize doesn't depend on data value.
Returns true if dataSize doesn't depend on data value. This is useful for optimizations of calculating sizes of collections. The method should have O(1) amortized complexity over n invocations to avoid over-cost attacks on ErgoTree interpretation.
Type code used in serialization of SType values.
Type code used in serialization of SType values.
TypeSerializer
Upcasts the given value of a smaller type to this larger type.
Upcasts the given value of a smaller type to this larger type.
numeric value to be converted
a value of WrappedType of this type descriptor's instance.
Elvis operator for types.
Elvis operator for types. See https://en.wikipedia.org/wiki/Elvis_operator
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 this type has a method with the given name.
Returns true if this type has a method with the given name.
Checks if the given name is a cast method name.
Checks if the given name is a cast method name.
true if it is.
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.
Finds a method descriptor SMethod for the given name.
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.
Marker trait for all numeric types.