#![allow(clippy::exhaustive_structs, clippy::exhaustive_enums)]
use icu_plurals::PluralCategory;
use icu_provider::prelude::*;
use zerovec::ZeroMap;
#[icu_provider::data_struct(marker(ShortCurrencyCompactV1Marker, "currency/compact@1"))]
#[derive(Debug, Clone, Default, PartialEq)]
#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
#[cfg_attr(feature = "datagen", derive(serde::Serialize, databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_experimental::dimension::provider::currency_compact))]
#[yoke(prove_covariance_manually)]
pub struct ShortCurrencyCompactV1<'data> {
#[cfg_attr(feature = "serde", serde(borrow))]
pub compact_patterns: ZeroMap<'data, (i8, CompactCount), str>,
}
#[derive(Copy, Clone, PartialOrd, Ord, PartialEq, Eq, Debug)]
#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
#[cfg_attr(feature = "datagen", derive(serde::Serialize, databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_experimental::dimension::provider::currency_compact))]
#[repr(u8)]
pub enum CompactCount {
Standard(PluralCategory),
AlphaNextToNumber(PluralCategory),
}