openehr-am 0.0.78

openEHR AM Archetype Model, generated from BMM: generations v1_4 (AM 1.4.0, ADL 1.4) and v2_4 (AM 2.4.0, ADL 2; current)
Documentation
// @generated by openehr-codegen from BMM (`C_OBJECT`) — DO NOT EDIT.
// SPDX-FileCopyrightText: Vernum Projecten B.V.
// SPDX-FileCopyrightText: openEHR Foundation
// SPDX-License-Identifier: Apache-2.0
// Hand-written spec functions/invariants live in the sibling `*_impl.rs`.

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

use crate::v2_4::aom2::constraint_model::archetype_slot::ArchetypeSlot;
use crate::v2_4::aom2::constraint_model::c_complex_object::CComplexObject;
use crate::v2_4::aom2::constraint_model::c_complex_object_proxy::CComplexObjectProxy;
use crate::v2_4::aom2::constraint_model::primitive::c_boolean::CBoolean;
use crate::v2_4::aom2::constraint_model::primitive::c_date::CDate;
use crate::v2_4::aom2::constraint_model::primitive::c_date_time::CDateTime;
use crate::v2_4::aom2::constraint_model::primitive::c_duration::CDuration;
use crate::v2_4::aom2::constraint_model::primitive::c_integer::CInteger;
use crate::v2_4::aom2::constraint_model::primitive::c_real::CReal;
use crate::v2_4::aom2::constraint_model::primitive::c_string::CString;
use crate::v2_4::aom2::constraint_model::primitive::c_terminology_code::CTerminologyCode;
use crate::v2_4::aom2::constraint_model::primitive::c_time::CTime;

/// Closed subtype set of `C_OBJECT`, dispatched on each payload's `_type`.
///
/// Abstract model of constraint on any kind of object node.
#[doc(alias = "C_OBJECT")]
#[derive(Debug, Clone, PartialEq)]
pub enum CObject {
    /// The `ARCHETYPE_SLOT` subtype of `C_OBJECT`.
    ArchetypeSlot(ArchetypeSlot),
    /// The `C_BOOLEAN` subtype of `C_OBJECT`.
    CBoolean(CBoolean),
    /// The `C_COMPLEX_OBJECT` subtype of `C_OBJECT`.
    CComplexObject(CComplexObject),
    /// The `C_COMPLEX_OBJECT_PROXY` subtype of `C_OBJECT`.
    CComplexObjectProxy(CComplexObjectProxy),
    /// The `C_DATE` subtype of `C_OBJECT`.
    CDate(CDate),
    /// The `C_DATE_TIME` subtype of `C_OBJECT`.
    CDateTime(CDateTime),
    /// The `C_DURATION` subtype of `C_OBJECT`.
    CDuration(CDuration),
    /// The `C_INTEGER` subtype of `C_OBJECT`.
    CInteger(CInteger),
    /// The `C_REAL` subtype of `C_OBJECT`.
    CReal(CReal),
    /// The `C_STRING` subtype of `C_OBJECT`.
    CString(CString),
    /// The `C_TERMINOLOGY_CODE` subtype of `C_OBJECT`.
    CTerminologyCode(CTerminologyCode),
    /// The `C_TIME` subtype of `C_OBJECT`.
    CTime(CTime),
}