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 (`EL_BINARY_OPERATOR`) — DO NOT EDIT.
// SPDX-FileCopyrightText: Vernum Projecten B.V.
// SPDX-FileCopyrightText: openEHR Foundation
// SPDX-License-Identifier: Apache-2.0

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

use crate::v1_0::bmm::core::feature::bmm_function::BmmFunction;
use crate::v1_0::bmm::expression::el_simple::ElSimple;
use crate::v1_0::bmm::expression::el_terminal::ElTerminal;

/// Binary operator expression node.
#[doc(alias = "EL_BINARY_OPERATOR")]
#[derive(Debug, Clone, PartialEq)]
pub struct ElBinaryOperator {
    // inherited: EL_OPERATOR
    /// True if the natural precedence of operators is overridden in the expression represented by this node of the expression tree.
    ///
    /// If True, parentheses should be introduced around the totality of the syntax expression corresponding to this operator node and its operands.
    pub precedence_overridden: Option<bool>,
    /// The symbol actually used in the expression, or intended to be used for serialisation. Must be a member of `OPERATOR_DEF._symbols_`.
    pub symbol: Option<String>,
    /// Function equivalent to this operator, inferred by matching operator against functions defined in interface of principal operand.
    pub definition: Box<BmmFunction>,
    /// Left operand node.
    pub left_operand: Box<ElSimple>,
    /// Right operand node.
    pub right_operand: Box<ElTerminal>,
}