openehr-lang 0.0.78

openEHR LANG BMM/P_BMM object model, generated from BMM: generations v1_0 (LANG 1.0.0) and v1_1 (LANG 1.1.0, current; the stable BMM v2.x unit beside the paused BMM3 unit), plus hand-written ODIN/BEL/EL readers
Documentation
// @generated by openehr-codegen from BMM (`EXPR_VALUE`) — DO NOT EDIT.
// SPDX-FileCopyrightText: Vernum Projecten B.V.
// SPDX-FileCopyrightText: openEHR Foundation
// SPDX-License-Identifier: Apache-2.0

//! The openEHR `EXPR_VALUE` spec class, generated from the vendored BMM
//! meta-model.

use crate::v1_1::beom::core::expr_binary_operator::ExprBinaryOperator;
use crate::v1_1::beom::core::expr_for_all::ExprForAll;
use crate::v1_1::beom::core::expr_function_call::ExprFunctionCall;
use crate::v1_1::beom::core::expr_literal::ExprLiteral;
use crate::v1_1::beom::core::expr_unary_operator::ExprUnaryOperator;
use crate::v1_1::beom::core::expr_value_ref::ExprValueRef;
use crate::v1_1::beom::core::expr_variable_ref::ExprVariableRef;
use crate::v1_1::beom::core::external_query::ExternalQuery;

/// Closed subtype set of `EXPR_VALUE`, dispatched on each payload's `_type`.
///
/// Any kind of statement element that can be evaluated. The type will either be supplied in descendant types or else will be inferred by an assignment statement linked to a typed variable.
#[doc(alias = "EXPR_VALUE")]
#[derive(Debug, Clone, PartialEq)]
pub enum ExprValue {
    /// The `EXPR_BINARY_OPERATOR` subtype of `EXPR_VALUE`.
    ExprBinaryOperator(ExprBinaryOperator),
    /// The `EXPR_FOR_ALL` subtype of `EXPR_VALUE`.
    ExprForAll(ExprForAll),
    /// The `EXPR_FUNCTION_CALL` subtype of `EXPR_VALUE`.
    ExprFunctionCall(ExprFunctionCall),
    /// The `EXPR_LITERAL` subtype of `EXPR_VALUE`.
    ExprLiteral(ExprLiteral),
    /// The `EXPR_UNARY_OPERATOR` subtype of `EXPR_VALUE`.
    ExprUnaryOperator(ExprUnaryOperator),
    /// The `EXPR_VALUE_REF` subtype of `EXPR_VALUE`.
    ExprValueRef(ExprValueRef),
    /// The `EXPR_VARIABLE_REF` subtype of `EXPR_VALUE`.
    ExprVariableRef(ExprVariableRef),
    /// The `EXTERNAL_QUERY` subtype of `EXPR_VALUE`.
    ExternalQuery(ExternalQuery),
}