// @generated by openehr-codegen from BMM (`BMM_CLASSIFIER`) — DO NOT EDIT.
// SPDX-FileCopyrightText: Cadasto 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 `BMM_CLASSIFIER` spec class, generated from the vendored BMM
//! meta-model.
use crate::v1_1::bmm::core::bmm_class::BmmClass;
use crate::v1_1::bmm::core::bmm_container_type::BmmContainerType;
use crate::v1_1::bmm::core::bmm_generic_parameter::BmmGenericParameter;
use crate::v1_1::bmm::core::bmm_generic_type::BmmGenericType;
use crate::v1_1::bmm::core::bmm_open_type::BmmOpenType;
use crate::v1_1::bmm::core::bmm_simple_type::BmmSimpleType;
/// Closed subtype set of `BMM_CLASSIFIER`, dispatched on each payload's `_type`.
///
/// Abstract idea of specifying a type either by definition or by reference.
#[doc(alias = "BMM_CLASSIFIER")]
#[derive(Debug, Clone, PartialEq)]
pub enum BmmClassifier {
/// The `BMM_CLASS` subtype of `BMM_CLASSIFIER`.
BmmClass(BmmClass),
/// The `BMM_CONTAINER_TYPE` subtype of `BMM_CLASSIFIER`.
BmmContainerType(BmmContainerType),
/// The `BMM_GENERIC_PARAMETER` subtype of `BMM_CLASSIFIER`.
BmmGenericParameter(BmmGenericParameter),
/// The `BMM_GENERIC_TYPE` subtype of `BMM_CLASSIFIER`.
BmmGenericType(BmmGenericType),
/// The `BMM_OPEN_TYPE` subtype of `BMM_CLASSIFIER`.
BmmOpenType(BmmOpenType),
/// The `BMM_SIMPLE_TYPE` subtype of `BMM_CLASSIFIER`.
BmmSimpleType(BmmSimpleType),
}