Abstract Types
Abstract types are used to describe polymorphic functions, otherwise known as “generic functions,” which can be called on a broad range of types.
A generic object.
Similarly to anytype
, this type is used to denote a generic
object. This is useful when defining polymorphic parameters in functions
and operators as it conforms to whatever type is actually passed. This is
different friom BaseObject
which although is the parent type
of any object also only has an id
property, making access to other
properties and links harder.
An abstract base enumerated type.
All enum
types are derived from this type.
A generic tuple.
Similarly to anytype
, this type is used to denote a generic
tuple without detailing its component types. This is useful when defining
polymorphic parameters in functions and operators.
Abstract Numeric Types
These abstract numeric types extend anyscalar
.
Abstract Range Types
There are some types that can be used to construct ranges. These scalar types are distinguished by the following abstract types:
Abstract base type for all valid ranges.
Abstract base scalar type for int32
, int64
,
float32
, float64
, decimal
,
datetime
, cal::local_datetime
, and
cal::local_date
.
An abstract base type for all valid discrete ranges.
This is an abstract base scalar type for int32
,
int64
, and cal::local_date
.
An abstract base type for all valid contiguous ranges.
This is an abstract base scalar type for float32
,
float64
, decimal
, datetime
, and
cal::local_datetime
.