// @generated by openehr-codegen from BMM (`BMM_INSTANTIABLE_FEATURE`) — DO NOT EDIT.
//! The openEHR `BMM_INSTANTIABLE_FEATURE` spec class, generated from the vendored BMM
//! meta-model.
use crate::bmm3::core::feature::bmm_constant::BmmConstant;
use crate::bmm3::core::feature::bmm_container_property::BmmContainerProperty;
use crate::bmm3::core::feature::bmm_singleton::BmmSingleton;
use crate::bmm3::core::feature::bmm_unitary_property::BmmUnitaryProperty;
/// Closed subtype set of `BMM_INSTANTIABLE_FEATURE`, dispatched on each payload's `_type`.
///
/// Meta-type representing instantiable features, i.e. features that are created as value objects.
#[doc(alias = "BMM_INSTANTIABLE_FEATURE")]
#[derive(Debug, Clone, PartialEq)]
pub enum BmmInstantiableFeature {
/// The `BMM_CONSTANT` subtype of `BMM_INSTANTIABLE_FEATURE`.
BmmConstant(BmmConstant),
/// The `BMM_CONTAINER_PROPERTY` subtype of `BMM_INSTANTIABLE_FEATURE`.
BmmContainerProperty(BmmContainerProperty),
/// The `BMM_SINGLETON` subtype of `BMM_INSTANTIABLE_FEATURE`.
BmmSingleton(BmmSingleton),
/// The `BMM_UNITARY_PROPERTY` subtype of `BMM_INSTANTIABLE_FEATURE`.
BmmUnitaryProperty(BmmUnitaryProperty),
}