Primitive Types

Overview

This section describes primitive types assumed by all openEHR models. These are types supported directly by most programing languages, and usually visible via either a class interface and/or a built-in raw value type. The following table lists the primitive types assumed by openEHR.

Type name
in openEHR
Description

Octet

a type whose value is an 8-bit value.

Character

a type whose value is a member of an 8-bit character-set (ISO: "repertoire").

Boolean

logical True/False values; usually physically represented as an integer, but need not be.

Integer

32-bit integers.

Integer64

64-bit integers.

Real

32-bit real numbers in any interoperable representation, including single-width IEEE floating point.

Double

64-bit real numbers, in any interoperable representation including double-precision IEEE floating point.

String

represents unicode-enabled strings.

The figure below illustrates these types. Simple inheritance relationships are shown which facilitate the type descriptions below. Actual inheritance from or subsitutability for an Any class is not assumed, and is shown only for convenience (e.g. to indicate that the '=' operator is available on any type). The type Ordered_numeric is on the other hand is used to indicate assumed substitutability of numeric types, and is intended to be mapped to an equivalent type in a real type system (e.g. in Java, java.lang.Number). Data-oriented implementation type systems such as XML-schema do not have such operations.

BASE foundation types.primitive types
Figure 1. base.foundation_types.primitive_types Package

Unicode

It is assumed in the openEHR specifications that Unicode is supported by the type String. Unicode is needed for all Asian, Arabic and other script languages, for both data values (particularly plain text and coded text) and for many predefined string attributes of the classes in the openEHR Reference Model. It encompasses all existing character sets. In openEHR, UTF-8 encoding is assumed.

Class Definitions

Boolean Class

  • Definition

  • Effective

  • BMM

  • UML

Class

Boolean

Description

Class representing minimal interface of standard Boolean type.

Inherit

Any

Functions

Signature

Meaning

1..1

infix and (
other: Boolean[1]
): Boolean

Post_de_Morgan: Result = not (not self or not other)
Post_commutative: Result = (other and self)

Logical conjunction

1..1

infix and_then (
other: Boolean[1]
): Boolean

Post_de_Morgan: Result = not (not self or else not other)

Boolean semi-strict conjunction with other

1..1

infix or (
other: Boolean[1]
): Boolean

Post_de_Morgan: Result = not (not self and not other)
Post_commutative: Result = (other or Current)
Post_consistent_with_semi_strict: Result implies (self or else other)

Boolean disjunction with other.

1..1

infix or_else (
other: Boolean[1]
): Boolean

Post_de_Morgan: Result = not (not self and then not other)

Boolean semi-strict disjunction with `other'.

1..1

infix xor (
other: Boolean[1]
): Boolean

Post_definition: Result = self or other) and not (self and other

Boolean exclusive or with `other'.

1..1

infix implies (
other: Boolean[1]
): Boolean

Post_definition: Result = (not self or else other)

Boolean implication of `other' (semi-strict)

Invariants

Involutive_negation: is_equal (not (not self))

Non_contradiction: not (self and (not self))

Completeness: self or else (not self)

Boolean

Class representing minimal interface of standard Boolean type.

Inherits: Any

Functions

(abstract) is_equal (
other: Any[1]
): Boolean [1..1]

Value equality.
Inherited from Any

infix = (
other: Any[1]
): Boolean [1..1]

Reference equality.
Inherited from Any

Parameters
other

Reference equality.

instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.
Inherited from Any

type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".
Inherited from Any

infix and (
other: Boolean[1]
): Boolean

Post_de_Morgan: Result = not (not self or not other)
Post_commutative: Result = (other and self) [1..1]

Logical conjunction

infix and_then (
other: Boolean[1]
): Boolean

Post_de_Morgan: Result = not (not self or else not other) [1..1]

Boolean semi-strict conjunction with other

infix or (
other: Boolean[1]
): Boolean

Post_de_Morgan: Result = not (not self and not other)
Post_commutative: Result = (other or Current)
Post_consistent_with_semi_strict: Result implies (self or else other) [1..1]

Boolean disjunction with other.

infix or_else (
other: Boolean[1]
): Boolean

Post_de_Morgan: Result = not (not self and then not other) [1..1]

Boolean semi-strict disjunction with `other'.

infix xor (
other: Boolean[1]
): Boolean

Post_definition: Result = self or other) and not (self and other [1..1]

Boolean exclusive or with `other'.

infix implies (
other: Boolean[1]
): Boolean

Post_definition: Result = (not self or else other) [1..1]

Boolean implication of `other' (semi-strict)

Invariants

Involutive_negation: is_equal (not (not self))

Non_contradiction: not (self and (not self))

Completeness: self or else (not self)

{
    "name": "Boolean",
    "documentation": "Class representing minimal interface of standard Boolean type.",
    "ancestors": [
        "Any"
    ],
    "functions": {
        "infix and": {
            "name": "infix and",
            "documentation": "Logical conjunction",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Boolean"
                }
            },
            "post_conditions": {
                "Post_de_Morgan": "Result = not (not self or not other)",
                "Post_commutative": "Result = (other and self)"
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "infix and_then": {
            "name": "infix and_then",
            "documentation": "Boolean semi-strict conjunction with other",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Boolean"
                }
            },
            "post_conditions": {
                "Post_de_Morgan": "Result = not (not self or else not other)"
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "infix or": {
            "name": "infix or",
            "documentation": "Boolean disjunction with other.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Boolean"
                }
            },
            "post_conditions": {
                "Post_de_Morgan": "Result = not (not self and not other)",
                "Post_commutative": "Result = (other or Current)",
                "Post_consistent_with_semi_strict": "Result implies (self or else other)"
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "infix or_else": {
            "name": "infix or_else",
            "documentation": "Boolean semi-strict disjunction with `other'.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Boolean"
                }
            },
            "post_conditions": {
                "Post_de_Morgan": "Result = not (not self and then not other)"
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "infix xor": {
            "name": "infix xor",
            "documentation": "Boolean exclusive or with `other'.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Boolean"
                }
            },
            "post_conditions": {
                "Post_definition": "Result = ((self or other) and not (self and other))"
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "infix implies": {
            "name": "infix implies",
            "documentation": "Boolean implication of `other' (semi-strict)",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Boolean"
                }
            },
            "post_conditions": {
                "Post_definition": "Result = (not self or else other)"
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        }
    },
    "invariants": {
        "Involutive_negation": "is_equal (not (not self))",
        "Non_contradiction": "not (self and (not self))",
        "Completeness": "self or else (not self)"
    }
}
boolean

Ordered Class

  • Definition

  • Effective

  • BMM

  • UML

Class

Ordered (abstract)

Description

Abstract notional parent class of ordered, types i.e. types on which the ‘<‘ operator is defined.

Inherit

Any

Functions

Signature

Meaning

1..1
(abstract)

infix < (
other: Ordered[1]
): Boolean

Arithmetic comparison. In conjunction with ‘=’, enables the definition of the operators ‘>’, ‘>=’, ‘<=’, ‘<>’. In real type systems, this operator might be defined on another class for comparability.

Ordered (abstract)

Abstract notional parent class of ordered, types i.e. types on which the ‘<‘ operator is defined.

Inherits: Any

Functions

(abstract) is_equal (
other: Any[1]
): Boolean [1..1]

Value equality.
Inherited from Any

infix = (
other: Any[1]
): Boolean [1..1]

Reference equality.
Inherited from Any

Parameters
other

Reference equality.

instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.
Inherited from Any

type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".
Inherited from Any

(abstract) infix < (
other: Ordered[1]
): Boolean [1..1]

Arithmetic comparison. In conjunction with ‘=’, enables the definition of the operators ‘>’, ‘>=’, ‘<=’, ‘<>’. In real type systems, this operator might be defined on another class for comparability.

{
    "name": "Ordered",
    "documentation": "Abstract notional parent class of ordered, types i.e. types on which the ‘<‘ operator is defined.",
    "is_abstract": true,
    "ancestors": [
        "Any"
    ],
    "functions": {
        "infix <": {
            "name": "infix <",
            "documentation": "Arithmetic comparison. In conjunction with ‘=’, enables the definition of the operators ‘>’, ‘>=’, ‘<=’, ‘<>’. In real type systems, this operator might be defined on another class for comparability.",
            "is_abstract": true,
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Ordered"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        }
    }
}
ordered

Character Class

  • Definition

  • Effective

  • BMM

  • UML

Class

Character

Inherit

Ordered

Character

Inherits: Any, Ordered

Functions

(abstract) is_equal (
other: Any[1]
): Boolean [1..1]

Value equality.
Inherited from Any

infix = (
other: Any[1]
): Boolean [1..1]

Reference equality.
Inherited from Any

Parameters
other

Reference equality.

instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.
Inherited from Any

type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".
Inherited from Any

(abstract) infix < (
other: Ordered[1]
): Boolean [1..1]

Arithmetic comparison. In conjunction with ‘=’, enables the definition of the operators ‘>’, ‘>=’, ‘<=’, ‘<>’. In real type systems, this operator might be defined on another class for comparability.
Inherited from Ordered

{
    "name": "Character",
    "ancestors": [
        "Ordered"
    ]
}
character

Octet Class

  • Definition

  • Effective

  • BMM

  • UML

Class

Octet

Inherit

Ordered

Octet

Inherits: Any, Ordered

Functions

(abstract) is_equal (
other: Any[1]
): Boolean [1..1]

Value equality.
Inherited from Any

infix = (
other: Any[1]
): Boolean [1..1]

Reference equality.
Inherited from Any

Parameters
other

Reference equality.

instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.
Inherited from Any

type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".
Inherited from Any

(abstract) infix < (
other: Ordered[1]
): Boolean [1..1]

Arithmetic comparison. In conjunction with ‘=’, enables the definition of the operators ‘>’, ‘>=’, ‘<=’, ‘<>’. In real type systems, this operator might be defined on another class for comparability.
Inherited from Ordered

{
    "name": "Octet",
    "ancestors": [
        "Ordered"
    ]
}
octet

String Class

  • Definition

  • Effective

  • BMM

  • UML

Class

String

Description

Strings of characters, as used to represent textual data in any natural or formal language.

Inherit

Ordered

Functions

Signature

Meaning

1..1

infix + (
other: String[1]
): String

Concatenation operator - causes ‘other’ to be appended to this string.

1..1

is_empty (): Boolean

True if string is empty, i.e. equal to "".

1..1

is_integer (): Boolean

True if string can be parsed as an integer.

1..1

as_integer (): Integer

Return the integer corresponding to the integer value represented in this string.

String

Strings of characters, as used to represent textual data in any natural or formal language.

Inherits: Any, Ordered

Functions

(abstract) is_equal (
other: Any[1]
): Boolean [1..1]

Value equality.
Inherited from Any

infix = (
other: Any[1]
): Boolean [1..1]

Reference equality.
Inherited from Any

Parameters
other

Reference equality.

instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.
Inherited from Any

type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".
Inherited from Any

(abstract) infix < (
other: Ordered[1]
): Boolean [1..1]

Arithmetic comparison. In conjunction with ‘=’, enables the definition of the operators ‘>’, ‘>=’, ‘<=’, ‘<>’. In real type systems, this operator might be defined on another class for comparability.
Inherited from Ordered

infix + (
other: String[1]
): String [1..1]

Concatenation operator - causes ‘other’ to be appended to this string.

is_empty (): Boolean [1..1]

True if string is empty, i.e. equal to "".

is_integer (): Boolean [1..1]

True if string can be parsed as an integer.

as_integer (): Integer [1..1]

Return the integer corresponding to the integer value represented in this string.

{
    "name": "String",
    "documentation": "Strings of characters, as used to represent textual data in any natural or formal language.",
    "ancestors": [
        "Ordered"
    ],
    "functions": {
        "infix +": {
            "name": "infix +",
            "documentation": "Concatenation operator - causes ‘other’ to be appended to this string.",
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "String"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "String"
            }
        },
        "is_empty": {
            "name": "is_empty",
            "documentation": "True if string is empty, i.e. equal to \"\".",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "is_integer": {
            "name": "is_integer",
            "documentation": "True if string can be parsed as an integer.",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "as_integer": {
            "name": "as_integer",
            "documentation": "Return the integer corresponding to the integer value represented in this string.",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Integer"
            }
        }
    }
}
string

Uri Class

  • Definition

  • Effective

  • BMM

  • UML

Class

Uri

Inherit

String

Uri

Inherits: Any, Ordered, String

Functions

(abstract) is_equal (
other: Any[1]
): Boolean [1..1]

Value equality.
Inherited from Any

infix = (
other: Any[1]
): Boolean [1..1]

Reference equality.
Inherited from Any

Parameters
other

Reference equality.

instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.
Inherited from Any

type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".
Inherited from Any

(abstract) infix < (
other: Ordered[1]
): Boolean [1..1]

Arithmetic comparison. In conjunction with ‘=’, enables the definition of the operators ‘>’, ‘>=’, ‘<=’, ‘<>’. In real type systems, this operator might be defined on another class for comparability.
Inherited from Ordered

infix + (
other: String[1]
): String [1..1]

Concatenation operator - causes ‘other’ to be appended to this string.
Inherited from String

is_empty (): Boolean [1..1]

True if string is empty, i.e. equal to "".
Inherited from String

is_integer (): Boolean [1..1]

True if string can be parsed as an integer.
Inherited from String

as_integer (): Integer [1..1]

Return the integer corresponding to the integer value represented in this string.
Inherited from String

{
    "name": "Uri",
    "ancestors": [
        "String"
    ]
}
uri

Numeric Class

  • Definition

  • Effective

  • BMM

  • UML

Class

Numeric (abstract)

Description

Abstract notional parent class of numeric types, which are types which have various arithmetic and comparison operators defined.

Inherit

Any

Functions

Signature

Meaning

1..1
(abstract)

infix * (
other: Numeric[1]
): Numeric

Product by `other'. Actual type of result depends on arithmetic balancing rules.

1..1
(abstract)

infix + (
other: Numeric[1]
): Numeric

Sum with `other' (commutative). Actual type of result depends on arithmetic balancing rules.

1..1
(abstract)

infix - (
other: Numeric[1]
): Numeric

Result of subtracting `other'. Actual type of result depends on arithmetic balancing rules.

Numeric (abstract)

Abstract notional parent class of numeric types, which are types which have various arithmetic and comparison operators defined.

Inherits: Any

Functions

(abstract) is_equal (
other: Any[1]
): Boolean [1..1]

Value equality.
Inherited from Any

infix = (
other: Any[1]
): Boolean [1..1]

Reference equality.
Inherited from Any

Parameters
other

Reference equality.

instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.
Inherited from Any

type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".
Inherited from Any

(abstract) infix * (
other: Numeric[1]
): Numeric [1..1]

Product by `other'. Actual type of result depends on arithmetic balancing rules.

(abstract) infix + (
other: Numeric[1]
): Numeric [1..1]

Sum with `other' (commutative). Actual type of result depends on arithmetic balancing rules.

(abstract) infix - (
other: Numeric[1]
): Numeric [1..1]

Result of subtracting `other'. Actual type of result depends on arithmetic balancing rules.

{
    "name": "Numeric",
    "documentation": "Abstract notional parent class of numeric types, which are types which have various arithmetic and comparison operators defined.",
    "is_abstract": true,
    "ancestors": [
        "Any"
    ],
    "functions": {
        "infix *": {
            "name": "infix *",
            "documentation": "Product by `other'. Actual type of result depends on arithmetic balancing rules.",
            "is_abstract": true,
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Numeric"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Numeric"
            }
        },
        "infix +": {
            "name": "infix +",
            "documentation": "Sum with `other' (commutative). Actual type of result depends on arithmetic balancing rules.",
            "is_abstract": true,
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Numeric"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Numeric"
            }
        },
        "infix -": {
            "name": "infix -",
            "documentation": "Result of subtracting `other'. Actual type of result depends on arithmetic balancing rules.",
            "is_abstract": true,
            "parameters": {
                "other": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "other",
                    "type": "Numeric"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Numeric"
            }
        }
    }
}
numeric

Ordered_Numeric Class

  • Definition

  • Effective

  • BMM

  • UML

Class

Ordered_Numeric (abstract)

Description

Abstract notional parent class of ordered, numeric types, which are types with ‘<‘ and arithmetic operators defined.

Inherit

Ordered, Numeric

Ordered_Numeric (abstract)

Abstract notional parent class of ordered, numeric types, which are types with ‘<‘ and arithmetic operators defined.

Inherits: Any, Any, Ordered, Numeric

Functions

(abstract) is_equal (
other: Any[1]
): Boolean [1..1]

Value equality.
Inherited from Any

infix = (
other: Any[1]
): Boolean [1..1]

Reference equality.
Inherited from Any

Parameters
other

Reference equality.

instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.
Inherited from Any

type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".
Inherited from Any

(abstract) infix < (
other: Ordered[1]
): Boolean [1..1]

Arithmetic comparison. In conjunction with ‘=’, enables the definition of the operators ‘>’, ‘>=’, ‘<=’, ‘<>’. In real type systems, this operator might be defined on another class for comparability.
Inherited from Ordered

(abstract) infix * (
other: Numeric[1]
): Numeric [1..1]

Product by `other'. Actual type of result depends on arithmetic balancing rules.
Inherited from Numeric

(abstract) infix + (
other: Numeric[1]
): Numeric [1..1]

Sum with `other' (commutative). Actual type of result depends on arithmetic balancing rules.
Inherited from Numeric

(abstract) infix - (
other: Numeric[1]
): Numeric [1..1]

Result of subtracting `other'. Actual type of result depends on arithmetic balancing rules.
Inherited from Numeric

{
    "name": "Ordered_Numeric",
    "documentation": "Abstract notional parent class of ordered, numeric types, which are types with ‘<‘ and arithmetic operators defined.",
    "is_abstract": true,
    "ancestors": [
        "Ordered",
        "Numeric"
    ]
}
ordered numeric

Integer Class

  • Definition

  • Effective

  • BMM

  • UML

Class

Integer

Description

Class representing minimal interface of standard Integer type.

Inherit

Ordered_Numeric

Integer

Class representing minimal interface of standard Integer type.

Inherits: Any, Any, Ordered, Numeric, Ordered_Numeric

Functions

(abstract) is_equal (
other: Any[1]
): Boolean [1..1]

Value equality.
Inherited from Any

infix = (
other: Any[1]
): Boolean [1..1]

Reference equality.
Inherited from Any

Parameters
other

Reference equality.

instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.
Inherited from Any

type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".
Inherited from Any

(abstract) infix < (
other: Ordered[1]
): Boolean [1..1]

Arithmetic comparison. In conjunction with ‘=’, enables the definition of the operators ‘>’, ‘>=’, ‘<=’, ‘<>’. In real type systems, this operator might be defined on another class for comparability.
Inherited from Ordered

(abstract) infix * (
other: Numeric[1]
): Numeric [1..1]

Product by `other'. Actual type of result depends on arithmetic balancing rules.
Inherited from Numeric

(abstract) infix + (
other: Numeric[1]
): Numeric [1..1]

Sum with `other' (commutative). Actual type of result depends on arithmetic balancing rules.
Inherited from Numeric

(abstract) infix - (
other: Numeric[1]
): Numeric [1..1]

Result of subtracting `other'. Actual type of result depends on arithmetic balancing rules.
Inherited from Numeric

{
    "name": "Integer",
    "documentation": "Class representing minimal interface of standard Integer type.",
    "ancestors": [
        "Ordered_Numeric"
    ]
}
integer

Integer64 Class

  • Definition

  • Effective

  • BMM

  • UML

Class

Integer64

Description

Class representing minimal interface of standard Integer64 type.

Inherit

Ordered_Numeric

Integer64

Class representing minimal interface of standard Integer64 type.

Inherits: Any, Any, Ordered, Numeric, Ordered_Numeric

Functions

(abstract) is_equal (
other: Any[1]
): Boolean [1..1]

Value equality.
Inherited from Any

infix = (
other: Any[1]
): Boolean [1..1]

Reference equality.
Inherited from Any

Parameters
other

Reference equality.

instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.
Inherited from Any

type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".
Inherited from Any

(abstract) infix < (
other: Ordered[1]
): Boolean [1..1]

Arithmetic comparison. In conjunction with ‘=’, enables the definition of the operators ‘>’, ‘>=’, ‘<=’, ‘<>’. In real type systems, this operator might be defined on another class for comparability.
Inherited from Ordered

(abstract) infix * (
other: Numeric[1]
): Numeric [1..1]

Product by `other'. Actual type of result depends on arithmetic balancing rules.
Inherited from Numeric

(abstract) infix + (
other: Numeric[1]
): Numeric [1..1]

Sum with `other' (commutative). Actual type of result depends on arithmetic balancing rules.
Inherited from Numeric

(abstract) infix - (
other: Numeric[1]
): Numeric [1..1]

Result of subtracting `other'. Actual type of result depends on arithmetic balancing rules.
Inherited from Numeric

{
    "name": "Integer64",
    "documentation": "Class representing minimal interface of standard Integer64 type.",
    "ancestors": [
        "Ordered_Numeric"
    ]
}
integer64

Real Class

  • Definition

  • Effective

  • BMM

  • UML

Class

Real

Description

Type used to represent decimal numbers. Corresponds to a single-precision floating point value in most languages.

Inherit

Ordered_Numeric

Functions

Signature

Meaning

1..1

floor (): Integer

Return the greatest integer no greater than the value of this object.

Real

Type used to represent decimal numbers. Corresponds to a single-precision floating point value in most languages.

Inherits: Any, Any, Ordered, Numeric, Ordered_Numeric

Functions

(abstract) is_equal (
other: Any[1]
): Boolean [1..1]

Value equality.
Inherited from Any

infix = (
other: Any[1]
): Boolean [1..1]

Reference equality.
Inherited from Any

Parameters
other

Reference equality.

instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.
Inherited from Any

type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".
Inherited from Any

(abstract) infix < (
other: Ordered[1]
): Boolean [1..1]

Arithmetic comparison. In conjunction with ‘=’, enables the definition of the operators ‘>’, ‘>=’, ‘<=’, ‘<>’. In real type systems, this operator might be defined on another class for comparability.
Inherited from Ordered

(abstract) infix * (
other: Numeric[1]
): Numeric [1..1]

Product by `other'. Actual type of result depends on arithmetic balancing rules.
Inherited from Numeric

(abstract) infix + (
other: Numeric[1]
): Numeric [1..1]

Sum with `other' (commutative). Actual type of result depends on arithmetic balancing rules.
Inherited from Numeric

(abstract) infix - (
other: Numeric[1]
): Numeric [1..1]

Result of subtracting `other'. Actual type of result depends on arithmetic balancing rules.
Inherited from Numeric

floor (): Integer [1..1]

Return the greatest integer no greater than the value of this object.

{
    "name": "Real",
    "documentation": "Type used to represent decimal numbers. Corresponds to a single-precision floating point value in most languages.",
    "ancestors": [
        "Ordered_Numeric"
    ],
    "functions": {
        "floor": {
            "name": "floor",
            "documentation": "Return the greatest integer no greater than the value of this object.",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Integer"
            }
        }
    }
}
real

Double Class

  • Definition

  • Effective

  • BMM

  • UML

Class

Double

Inherit

Ordered_Numeric

Double

Inherits: Any, Any, Ordered, Numeric, Ordered_Numeric

Functions

(abstract) is_equal (
other: Any[1]
): Boolean [1..1]

Value equality.
Inherited from Any

infix = (
other: Any[1]
): Boolean [1..1]

Reference equality.
Inherited from Any

Parameters
other

Reference equality.

instance_of (
a_type: String[1]
): Any [1..1]

Create new instance of a type.
Inherited from Any

type_of (
an_object: Any[1]
): String [1..1]

Type name of an object as a string. May include generic parameters, as in "Interval<Time>".
Inherited from Any

(abstract) infix < (
other: Ordered[1]
): Boolean [1..1]

Arithmetic comparison. In conjunction with ‘=’, enables the definition of the operators ‘>’, ‘>=’, ‘<=’, ‘<>’. In real type systems, this operator might be defined on another class for comparability.
Inherited from Ordered

(abstract) infix * (
other: Numeric[1]
): Numeric [1..1]

Product by `other'. Actual type of result depends on arithmetic balancing rules.
Inherited from Numeric

(abstract) infix + (
other: Numeric[1]
): Numeric [1..1]

Sum with `other' (commutative). Actual type of result depends on arithmetic balancing rules.
Inherited from Numeric

(abstract) infix - (
other: Numeric[1]
): Numeric [1..1]

Result of subtracting `other'. Actual type of result depends on arithmetic balancing rules.
Inherited from Numeric

{
    "name": "Double",
    "ancestors": [
        "Ordered_Numeric"
    ]
}
double