// @generated by openehr-codegen from BMM (`EL_BINARY_OPERATOR`) — DO NOT EDIT.
// SPDX-FileCopyrightText: Cadasto 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_1::bmm3::expression::el_expression::ElExpression;
use crate::v1_1::bmm3::expression::el_function_call::ElFunctionCall;
/// 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 call equivalent to this operator expression, inferred by matching operator against functions defined in interface of principal operand.
pub call: ElFunctionCall,
/// Left operand node.
pub left_operand: Box<ElExpression>,
/// Right operand node.
pub right_operand: Box<ElExpression>,
}