use qubit_datatype::DataType;
macro_rules! define_value_enum {
(
;
$(
(
[$($cfg:meta),*],
$variant:ident,
$type:ty,
$data_type:expr,
$materialization:ident,
$json_class:ident,
$number_projection:ident,
$value_doc:literal,
$multi_doc:literal
$(, $_wire:tt)*
)
),+ $(,)?
) => {
#[derive(Debug, Clone)]
pub(crate) enum ValueRepr {
Unset(
/// Declared data type retained while the value is unset.
DataType,
),
$(
#[doc = $value_doc]
$(#[$cfg])*
$variant(
#[doc = concat!("Stored ", $value_doc, " payload.")]
value_storage_type!($variant, $type),
),
)+
}
};
}
for_each_value_type!(define_value_enum);