#![allow(clippy::exhaustive_structs, clippy::exhaustive_enums)]
#[cfg(feature = "datagen")]
use core::fmt::Debug;
use icu_pattern::SinglePlaceholderPattern;
use icu_plurals::provider::PluralElementsPackedCow;
use icu_provider::prelude::*;
use zerovec::ZeroMap;
#[cfg(feature = "compiled_data")]
pub use crate::provider::Baked;
#[icu_provider::data_struct(
LongSecondRelativeTimeFormatDataV1Marker = "relativetime/long/second@1",
ShortSecondRelativeTimeFormatDataV1Marker = "relativetime/short/second@1",
NarrowSecondRelativeTimeFormatDataV1Marker = "relativetime/narrow/second@1",
LongMinuteRelativeTimeFormatDataV1Marker = "relativetime/long/minute@1",
ShortMinuteRelativeTimeFormatDataV1Marker = "relativetime/short/minute@1",
NarrowMinuteRelativeTimeFormatDataV1Marker = "relativetime/narrow/minute@1",
LongHourRelativeTimeFormatDataV1Marker = "relativetime/long/hour@1",
ShortHourRelativeTimeFormatDataV1Marker = "relativetime/short/hour@1",
NarrowHourRelativeTimeFormatDataV1Marker = "relativetime/narrow/hour@1",
LongDayRelativeTimeFormatDataV1Marker = "relativetime/long/day@1",
ShortDayRelativeTimeFormatDataV1Marker = "relativetime/short/day@1",
NarrowDayRelativeTimeFormatDataV1Marker = "relativetime/narrow/day@1",
LongWeekRelativeTimeFormatDataV1Marker = "relativetime/long/week@1",
ShortWeekRelativeTimeFormatDataV1Marker = "relativetime/short/week@1",
NarrowWeekRelativeTimeFormatDataV1Marker = "relativetime/narrow/week@1",
LongMonthRelativeTimeFormatDataV1Marker = "relativetime/long/month@1",
ShortMonthRelativeTimeFormatDataV1Marker = "relativetime/short/month@1",
NarrowMonthRelativeTimeFormatDataV1Marker = "relativetime/narrow/month@1",
LongQuarterRelativeTimeFormatDataV1Marker = "relativetime/long/quarter@1",
ShortQuarterRelativeTimeFormatDataV1Marker = "relativetime/short/quarter@1",
NarrowQuarterRelativeTimeFormatDataV1Marker = "relativetime/narrow/quarter@1",
LongYearRelativeTimeFormatDataV1Marker = "relativetime/long/year@1",
ShortYearRelativeTimeFormatDataV1Marker = "relativetime/short/year@1",
NarrowYearRelativeTimeFormatDataV1Marker = "relativetime/narrow/year@1"
)]
#[derive(Debug, Clone, 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::relativetime::provider))]
#[yoke(prove_covariance_manually)]
pub struct RelativeTimePatternDataV1<'data> {
#[cfg_attr(feature = "serde", serde(borrow))]
pub relatives: ZeroMap<'data, i8, str>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub past: PluralElementsPackedCow<'data, SinglePlaceholderPattern>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub future: PluralElementsPackedCow<'data, SinglePlaceholderPattern>,
}