// @generated
/// Implement `DataProvider<SegmenterBreakLineOverrideV2>` on the given struct using the data
/// hardcoded in this file. This allows the struct to be used with
/// `icu`'s `_unstable` constructors.
///
/// Using this implementation will embed the following data in the binary's data segment:
/// * 90B for the lookup data structure (7 data identifiers)
/// * 784B[^1] for the actual data (7 unique structs)
///
/// [^1]: these numbers can be smaller in practice due to linker deduplication
///
/// This macro requires the following crates:
/// * `icu`
/// * `icu_provider`
/// * `icu_provider/baked`
/// * `zerovec`
#[doc(hidden)]
#[macro_export]
macro_rules! __impl_segmenter_break_line_override_v2 {
($ provider : ty) => {
#[clippy::msrv = "1.88"]
const _: () = <$provider>::MUST_USE_MAKE_PROVIDER_MACRO;
#[clippy::msrv = "1.88"]
impl $provider {
#[doc(hidden)]
pub const SEGMENTER_BREAK_LINE_OVERRIDE_V2_CHECKSUM: u64 = 5195445235246444843u64;
pub const SEGMENTER_BREAK_LINE_OVERRIDE_V2_UND_BREAKALL: &<icu::segmenter::provider::SegmenterBreakLineOverrideV2 as icu_provider::baked::zerotrie::DynamicDataMarker>::DataStruct = &icu::segmenter::provider::SegmenterStateMachineOverride { pseudo_symbol_map: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"!\0!\0!\0!\0\x18\0\x1C\0\x1D\0\x1E\0!\0\"\0#\0$\0%\0'\0(\0)\0!\x000\x000\x000\x001\0!\x005\x006\x007\08\09\0:\0\x0E\x03!\0\x0E\x04!\0\x0E\x01!\0\x0E\x05!\0\x02\x03!\0\x02\x04!\0\x02\x01!\0\x02\x05!\0") } };
pub const SEGMENTER_BREAK_LINE_OVERRIDE_V2_UND_JA: &<icu::segmenter::provider::SegmenterBreakLineOverrideV2 as icu_provider::baked::zerotrie::DynamicDataMarker>::DataStruct = &icu::segmenter::provider::SegmenterStateMachineOverride { pseudo_symbol_map: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x01\0\x02\0\x04\0\x0E\0\x18\0\x1C\0\x1D\0\x1E\0!\0\"\0#\0$\0%\0'\0(\0)\x000\x000\x000\x000\x001\x002\x005\x006\x007\08\0\r\x004\0\x0E\x03\x0E\x03\x0E\x04\x0E\x04\x0E\x01\x0E\x01\x0E\x05\x0E\x05\x02\x03\x02\x03\x02\x04\x02\x04\x02\x01\x02\x01\x02\x05\x02\x05") } };
pub const SEGMENTER_BREAK_LINE_OVERRIDE_V2_UND_JA_LOOSE: &<icu::segmenter::provider::SegmenterBreakLineOverrideV2 as icu_provider::baked::zerotrie::DynamicDataMarker>::DataStruct = &icu::segmenter::provider::SegmenterStateMachineOverride { pseudo_symbol_map: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x01\0\x02\0\x04\0\x0E\0\x14\0\x1C\0\x1D\0+\0!\0\"\0#\0\x11\0,\0'\0(\0)\0!\0\x14\0\x14\0\x14\0/\x002\0\x12\0-\0\x13\0.\0\r\x004\0\x0E\x03\x0E\x03\x0E\x04\x0E\x04\x0E\x01\x0E\x01\x0E\x05\x0E\x05\x02\x03\x02\x03\x02\x04\x02\x04\x02\x01\x02\x01\x02\x05\x02\x05") } };
pub const SEGMENTER_BREAK_LINE_OVERRIDE_V2_UND_JA_NORMAL: &<icu::segmenter::provider::SegmenterBreakLineOverrideV2 as icu_provider::baked::zerotrie::DynamicDataMarker>::DataStruct = &icu::segmenter::provider::SegmenterStateMachineOverride { pseudo_symbol_map: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x01\0\x02\0\x04\0\x0E\0\x18\0\x1C\0\x1D\0\x1E\0!\0\"\0#\0$\0%\0'\0(\0)\0!\x000\0\x14\x000\x001\x002\x005\x006\x007\08\0\r\x004\0\x0E\x03\x0E\x03\x0E\x04\x0E\x04\x0E\x01\x0E\x01\x0E\x05\x0E\x05\x02\x03\x02\x03\x02\x04\x02\x04\x02\x01\x02\x01\x02\x05\x02\x05") } };
pub const SEGMENTER_BREAK_LINE_OVERRIDE_V2_UND_KEEPALL: &<icu::segmenter::provider::SegmenterBreakLineOverrideV2 as icu_provider::baked::zerotrie::DynamicDataMarker>::DataStruct = &icu::segmenter::provider::SegmenterStateMachineOverride { pseudo_symbol_map: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x01\0\x02\0\x04\0\x0E\0\x18\0\x02\0\x02\0\x1E\0\x02\0\x02\0\x02\0$\0%\0\x02\0\x02\0\x02\0\x02\x000\x000\x000\x001\x002\x005\x006\x007\08\09\0:\0\x0E\x03\x0E\x03\x0E\x04\x0E\x04\x0E\x01\x0E\x01\x0E\x05\x0E\x05\x02\x03\x02\x03\x02\x04\x02\x04\x02\x01\x02\x01\x02\x05\x02\x05") } };
pub const SEGMENTER_BREAK_LINE_OVERRIDE_V2_UND_LOOSE: &<icu::segmenter::provider::SegmenterBreakLineOverrideV2 as icu_provider::baked::zerotrie::DynamicDataMarker>::DataStruct = &icu::segmenter::provider::SegmenterStateMachineOverride { pseudo_symbol_map: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x01\0\x02\0\x04\0\x0E\0\x18\0\x1C\0\x1D\0\x1E\0!\0\"\0#\0\x11\0,\0'\0(\0)\0!\x000\x000\0\x14\x001\x002\x005\x006\x007\08\09\0:\0\x0E\x03\x0E\x03\x0E\x04\x0E\x04\x0E\x01\x0E\x01\x0E\x05\x0E\x05\x02\x03\x02\x03\x02\x04\x02\x04\x02\x01\x02\x01\x02\x05\x02\x05") } };
pub const SEGMENTER_BREAK_LINE_OVERRIDE_V2_UND_NORMAL: &<icu::segmenter::provider::SegmenterBreakLineOverrideV2 as icu_provider::baked::zerotrie::DynamicDataMarker>::DataStruct = &icu::segmenter::provider::SegmenterStateMachineOverride { pseudo_symbol_map: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\x01\0\x02\0\x04\0\x0E\0\x18\0\x1C\0\x1D\0\x1E\0!\0\"\0#\0$\0%\0'\0(\0)\0!\x000\x000\x000\x001\x002\x005\x006\x007\08\09\0:\0\x0E\x03\x0E\x03\x0E\x04\x0E\x04\x0E\x01\x0E\x01\x0E\x05\x0E\x05\x02\x03\x02\x03\x02\x04\x02\x04\x02\x01\x02\x01\x02\x05\x02\x05") } };
const DATA_SEGMENTER_BREAK_LINE_OVERRIDE_V2: icu_provider::baked::zerotrie::DataRef<icu::segmenter::provider::SegmenterBreakLineOverrideV2> = unsafe { icu_provider::baked::zerotrie::DataRef::from_trie_and_refs_unchecked(icu_provider::baked::zerotrie::ZeroTrieSimpleAscii { store: b"und\x1E\xC5bjkln\x08\x1A!&reakall\x80a\x81-\xC2ln\x05oose\x82ormal\x83eepall\x84oose\x85ormal\x86" }, &[Self::SEGMENTER_BREAK_LINE_OVERRIDE_V2_UND_BREAKALL, Self::SEGMENTER_BREAK_LINE_OVERRIDE_V2_UND_JA, Self::SEGMENTER_BREAK_LINE_OVERRIDE_V2_UND_JA_LOOSE, Self::SEGMENTER_BREAK_LINE_OVERRIDE_V2_UND_JA_NORMAL, Self::SEGMENTER_BREAK_LINE_OVERRIDE_V2_UND_KEEPALL, Self::SEGMENTER_BREAK_LINE_OVERRIDE_V2_UND_LOOSE, Self::SEGMENTER_BREAK_LINE_OVERRIDE_V2_UND_NORMAL]) };
}
#[clippy::msrv = "1.88"]
impl icu_provider::DataProvider<icu::segmenter::provider::SegmenterBreakLineOverrideV2> for $provider {
fn load(&self, req: icu_provider::DataRequest) -> Result<icu_provider::DataResponse<icu::segmenter::provider::SegmenterBreakLineOverrideV2>, icu_provider::DataError> {
let mut req = req;
req.id.locale = Default::default();
let metadata = icu_provider::DataResponseMetadata::default().with_checksum(Self::SEGMENTER_BREAK_LINE_OVERRIDE_V2_CHECKSUM);
let Some(payload) = icu_provider::baked::DataStore::get(&Self::DATA_SEGMENTER_BREAK_LINE_OVERRIDE_V2, req.id, req.metadata.attributes_prefix_match) else { return Err(icu_provider::DataErrorKind::IdentifierNotFound.with_req(<icu::segmenter::provider::SegmenterBreakLineOverrideV2 as icu_provider::DataMarker>::INFO, req)) };
Ok(icu_provider::DataResponse { payload, metadata })
}
}
};
($ provider : ty , ITER) => {
__impl_segmenter_break_line_override_v2!($provider);
#[clippy::msrv = "1.88"]
impl icu_provider::IterableDataProvider<icu::segmenter::provider::SegmenterBreakLineOverrideV2> for $provider {
fn iter_ids(&self) -> Result<std::collections::BTreeSet<icu_provider::DataIdentifierCow<'static>>, icu_provider::DataError> {
Ok(icu_provider::baked::DataStore::iter(&Self::DATA_SEGMENTER_BREAK_LINE_OVERRIDE_V2).collect())
}
}
};
($ provider : ty , DRY) => {};
($ provider : ty , DRY , ITER) => {
__impl_segmenter_break_line_override_v2!($provider, ITER);
};
}
#[doc(inline)]
pub use __impl_segmenter_break_line_override_v2 as impl_segmenter_break_line_override_v2;