1// @generated 2/// Implement `DataProvider<BidiClassNameToValueV2>` on the given struct using the data 3/// hardcoded in this file. This allows the struct to be used with 4/// `icu`'s `_unstable` constructors. 5/// 6/// Using this implementation will embed the following data in the binary's data segment: 7/// * 463B[^1] for the singleton data struct 8/// 9/// [^1]: these numbers can be smaller in practice due to linker deduplication 10#[doc(hidden)] 11#[macro_export] 12macro_rules! __impl_bidi_class_name_to_value_v2 { 13 ($ provider : ty) => { 14 #[clippy::msrv = "1.81"] 15 const _: () = <$provider>::MUST_USE_MAKE_PROVIDER_MACRO; 16 #[clippy::msrv = "1.81"] 17 impl $provider { 18 #[doc(hidden)] 19 pub const SINGLETON_BIDI_CLASS_NAME_TO_VALUE_V2: &'static <icu::properties::provider::BidiClassNameToValueV2 as icu_provider::DynamicDataMarker>::DataStruct = &icu::properties::provider::names::PropertyValueNameToEnumMap { map: zerotrie::ZeroTrieSimpleAscii { store: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\xE1lABCEFLNOPRSW\0\0\0\0\0\0\0\0\x01\x01\x01\x1D4Hy\x94\xCF\xE5\xF67r\x84\xC3LNr\x01\x02\x8D\x85abic_\xC2LN\x06etter\x8Dumber\x85\x87\xC2No\x02\x90\x02undary_Neutral\x90\x02\xC2So\x01\x86mmon_Separator\x86\xC4NSTu\x01\x02\x03\x82\x83\x84ropean_\xC3NST\x06\x0Fumber\x82eparator\x83erminator\x84\xC2Si\x03I\x90\x03rst_Strong_Isolate\x90\x03\x80\xC2Re\n\xC3EIO\x01\x03\x8B\x90\x04\x8Cft_To_Right\x80_\xC3EIO\t\x11mbedding\x8Bsolate\x90\x04verride\x8C\xC2So\x03M\x90\x01nspacing_Mark\x90\x01\xC2Nt\x01\x8Aher_Neutral\x8A\xC3Dao\x08\x1A\xC2FI\x02\x90\0\x90\x06ragraph_Separator\x87p_Directional_\xC2FI\x07ormat\x90\0solate\x90\x06\x81\xC2Li\n\xC3EIO\x01\x03\x8E\x90\x05\x8Fght_To_Left\x81_\xC3EIO\t\x11mbedding\x8Esolate\x90\x05verride\x8F\x88egment_Separator\x88\xC2Sh\x01\x89ite_Space\x89") } } }; 20 } 21 #[clippy::msrv = "1.81"] 22 impl icu_provider::DataProvider<icu::properties::provider::BidiClassNameToValueV2> for $provider { 23 fn load(&self, req: icu_provider::DataRequest) -> Result<icu_provider::DataResponse<icu::properties::provider::BidiClassNameToValueV2>, icu_provider::DataError> { 24 if req.id.locale.is_default() { 25 Ok(icu_provider::DataResponse { payload: icu_provider::DataPayload::from_static_ref(Self::SINGLETON_BIDI_CLASS_NAME_TO_VALUE_V2), metadata: icu_provider::DataResponseMetadata::default() }) 26 } else { 27 Err(icu_provider::DataErrorKind::InvalidRequest.with_req(<icu::properties::provider::BidiClassNameToValueV2 as icu_provider::DataMarker>::INFO, req)) 28 } 29 } 30 } 31 }; 32 ($ provider : ty , ITER) => { 33 __impl_bidi_class_name_to_value_v2!($provider); 34 #[clippy::msrv = "1.81"] 35 impl icu_provider::IterableDataProvider<icu::properties::provider::BidiClassNameToValueV2> for $provider { 36 fn iter_ids(&self) -> Result<std::collections::BtreeSet<icu_provider::DataIdentifierCow<'static>>, icu_provider::DataError> { 37 Ok([Default::default()].into_iter().collect()) 38 } 39 } 40 }; 41 ($ provider : ty , DRY) => { 42 __impl_bidi_class_name_to_value_v2!($provider); 43 #[clippy::msrv = "1.81"] 44 impl icu_provider::DryDataProvider<icu::properties::provider::BidiClassNameToValueV2> for $provider { 45 fn dry_load(&self, req: icu_provider::DataRequest) -> Result<icu_provider::DataResponseMetadata, icu_provider::DataError> { 46 if req.id.locale.is_default() { 47 Ok(icu_provider::DataResponseMetadata::default()) 48 } else { 49 Err(icu_provider::DataErrorKind::InvalidRequest.with_req(<icu::properties::provider::BidiClassNameToValueV2 as icu_provider::DataMarker>::INFO, req)) 50 } 51 } 52 } 53 }; 54 ($ provider : ty , DRY , ITER) => { 55 __impl_bidi_class_name_to_value_v2!($provider); 56 #[clippy::msrv = "1.81"] 57 impl icu_provider::DryDataProvider<icu::properties::provider::BidiClassNameToValueV2> for $provider { 58 fn dry_load(&self, req: icu_provider::DataRequest) -> Result<icu_provider::DataResponseMetadata, icu_provider::DataError> { 59 if req.id.locale.is_default() { 60 Ok(icu_provider::DataResponseMetadata::default()) 61 } else { 62 Err(icu_provider::DataErrorKind::InvalidRequest.with_req(<icu::properties::provider::BidiClassNameToValueV2 as icu_provider::DataMarker>::INFO, req)) 63 } 64 } 65 } 66 #[clippy::msrv = "1.81"] 67 impl icu_provider::IterableDataProvider<icu::properties::provider::BidiClassNameToValueV2> for $provider { 68 fn iter_ids(&self) -> Result<std::collections::BtreeSet<icu_provider::DataIdentifierCow<'static>>, icu_provider::DataError> { 69 Ok([Default::default()].into_iter().collect()) 70 } 71 } 72 }; 73} 74#[doc(inline)] 75pub use __impl_bidi_class_name_to_value_v2 as impl_bidi_class_name_to_value_v2; 76