openehr-lang 0.0.2

openEHR LANG 1.0.0: BMM/P_BMM object model (generated from BMM) plus a hand-written ODIN instance parser (the `odin` module — deliberately off the codegen path).
Documentation
// @generated by openehr-codegen from BMM (`EXPR_FOR_ALL`) — DO NOT EDIT.

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

use crate::beom::core::assertion::Assertion;
use crate::beom::core::expr_value_ref::ExprValueRef;
use crate::beom::core::operator_kind::OperatorKind;

/// Universal quantification operator, usually known as `for_all`, whose operand is a collection of items referenced by an `EXPR_VALUE_REF`.
///
/// The `_condition_` attribute represents an assertion that is applied to every member of the collection at runtime to determine the result.
#[doc(alias = "EXPR_FOR_ALL")]
#[derive(Debug, Clone, PartialEq)]
pub struct ExprForAll {
    // inherited: EXPR_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>,
    /// Operator definition.
    pub operator: OperatorKind,
    /// The symbol actually used in the rule, or intended to be used for serialisation. Must be a member of `operator_def.symbols`.
    pub symbol: Option<String>,
    /// Boolean condition that returns True or False when applied to a member of the operand of a `for_all` operator.
    pub condition: Box<Assertion>,
    /// Reference to collection / container object to which the `for_all` operator is to be applied.
    pub operand: ExprValueRef,
}