#[repr(transparent)]pub struct BidiClass(pub u8);Expand description
Enumerated property Bidi_Class
These are the categories required by the Unicode Bidirectional Algorithm. For the property values, see Bidirectional Class Values. For more information, see Unicode Standard Annex #9.
Tuple Fields§
§0: u8Implementations§
Source§impl BidiClass
impl BidiClass
Sourcepub const LeftToRight: BidiClass
pub const LeftToRight: BidiClass
(L) any strong left-to-right character
Sourcepub const RightToLeft: BidiClass
pub const RightToLeft: BidiClass
(R) any strong right-to-left (non-Arabic-type) character
Sourcepub const EuropeanNumber: BidiClass
pub const EuropeanNumber: BidiClass
(EN) any ASCII digit or Eastern Arabic-Indic digit
Sourcepub const EuropeanSeparator: BidiClass
pub const EuropeanSeparator: BidiClass
(ES) plus and minus signs
Sourcepub const EuropeanTerminator: BidiClass
pub const EuropeanTerminator: BidiClass
(ET) a terminator in a numeric format context, includes currency signs
Sourcepub const ArabicNumber: BidiClass
pub const ArabicNumber: BidiClass
(AN) any Arabic-Indic digit
Sourcepub const CommonSeparator: BidiClass
pub const CommonSeparator: BidiClass
(CS) commas, colons, and slashes
Sourcepub const ParagraphSeparator: BidiClass
pub const ParagraphSeparator: BidiClass
(B) various newline characters
Sourcepub const SegmentSeparator: BidiClass
pub const SegmentSeparator: BidiClass
(S) various segment-related control codes
Sourcepub const WhiteSpace: BidiClass
pub const WhiteSpace: BidiClass
(WS) spaces
Sourcepub const OtherNeutral: BidiClass
pub const OtherNeutral: BidiClass
(ON) most other symbols and punctuation marks
Sourcepub const LeftToRightEmbedding: BidiClass
pub const LeftToRightEmbedding: BidiClass
(LRE) U+202A: the LR embedding control
Sourcepub const LeftToRightOverride: BidiClass
pub const LeftToRightOverride: BidiClass
(LRO) U+202D: the LR override control
Sourcepub const ArabicLetter: BidiClass
pub const ArabicLetter: BidiClass
(AL) any strong right-to-left (Arabic-type) character
Sourcepub const RightToLeftEmbedding: BidiClass
pub const RightToLeftEmbedding: BidiClass
(RLE) U+202B: the RL embedding control
Sourcepub const RightToLeftOverride: BidiClass
pub const RightToLeftOverride: BidiClass
(RLO) U+202E: the RL override control
Sourcepub const PopDirectionalFormat: BidiClass
pub const PopDirectionalFormat: BidiClass
(PDF) U+202C: terminates an embedding or override control
Sourcepub const NonspacingMark: BidiClass
pub const NonspacingMark: BidiClass
(NSM) any nonspacing mark
Sourcepub const BoundaryNeutral: BidiClass
pub const BoundaryNeutral: BidiClass
(BN) most format characters, control codes, or noncharacters
Sourcepub const FirstStrongIsolate: BidiClass
pub const FirstStrongIsolate: BidiClass
(FSI) U+2068: the first strong isolate control
Sourcepub const LeftToRightIsolate: BidiClass
pub const LeftToRightIsolate: BidiClass
(LRI) U+2066: the LR isolate control
Sourcepub const RightToLeftIsolate: BidiClass
pub const RightToLeftIsolate: BidiClass
(RLI) U+2067: the RL isolate control
Sourcepub const PopDirectionalIsolate: BidiClass
pub const PopDirectionalIsolate: BidiClass
(PDI) U+2069: terminates an isolate control
Source§impl BidiClass
impl BidiClass
Sourcepub const fn name_to_enum_mapper() -> PropertyValueNameToEnumMapperBorrowed<'static, BidiClass>
pub const fn name_to_enum_mapper() -> PropertyValueNameToEnumMapperBorrowed<'static, BidiClass>
Return a PropertyValueNameToEnumMapper, capable of looking up values
from strings for the Bidi_Class enumerated property
✨ Enabled with the compiled_data Cargo feature.
§Example
use icu::properties::BidiClass;
let lookup = BidiClass::name_to_enum_mapper();
// short name for value
assert_eq!(lookup.get_strict("AN"), Some(BidiClass::ArabicNumber));
assert_eq!(lookup.get_strict("NSM"), Some(BidiClass::NonspacingMark));
// long name for value
assert_eq!(lookup.get_strict("Arabic_Number"), Some(BidiClass::ArabicNumber));
assert_eq!(lookup.get_strict("Nonspacing_Mark"), Some(BidiClass::NonspacingMark));
// name has incorrect casing
assert_eq!(lookup.get_strict("arabicnumber"), None);
// loose matching of name
assert_eq!(lookup.get_loose("arabicnumber"), Some(BidiClass::ArabicNumber));
// fake property
assert_eq!(lookup.get_strict("Upside_Down_Vertical_Backwards_Mirrored"), None);Sourcepub fn get_name_to_enum_mapper(
provider: &(impl DataProvider<BidiClassNameToValueV1Marker> + ?Sized),
) -> Result<PropertyValueNameToEnumMapper<BidiClass>, PropertiesError>
pub fn get_name_to_enum_mapper( provider: &(impl DataProvider<BidiClassNameToValueV1Marker> + ?Sized), ) -> Result<PropertyValueNameToEnumMapper<BidiClass>, PropertiesError>
A version of BidiClass::name_to_enum_mapper() that uses custom data provided by a DataProvider.
Sourcepub const fn enum_to_short_name_mapper() -> PropertyEnumToValueNameLinearMapperBorrowed<'static, BidiClass>
pub const fn enum_to_short_name_mapper() -> PropertyEnumToValueNameLinearMapperBorrowed<'static, BidiClass>
Return a PropertyEnumToValueNameLinearMapper, capable of looking up short names
for values of the Bidi_Class enumerated property
✨ Enabled with the compiled_data Cargo feature.
§Example
use icu::properties::BidiClass;
let lookup = BidiClass::enum_to_short_name_mapper();
assert_eq!(lookup.get(BidiClass::ArabicNumber), Some("AN"));
assert_eq!(lookup.get(BidiClass::NonspacingMark), Some("NSM"));Sourcepub fn get_enum_to_short_name_mapper(
provider: &(impl DataProvider<BidiClassValueToShortNameV1Marker> + ?Sized),
) -> Result<PropertyEnumToValueNameLinearMapper<BidiClass>, PropertiesError>
pub fn get_enum_to_short_name_mapper( provider: &(impl DataProvider<BidiClassValueToShortNameV1Marker> + ?Sized), ) -> Result<PropertyEnumToValueNameLinearMapper<BidiClass>, PropertiesError>
A version of BidiClass::enum_to_short_name_mapper() that uses custom data provided by a DataProvider.
Sourcepub const fn enum_to_long_name_mapper() -> PropertyEnumToValueNameLinearMapperBorrowed<'static, BidiClass>
pub const fn enum_to_long_name_mapper() -> PropertyEnumToValueNameLinearMapperBorrowed<'static, BidiClass>
Return a PropertyEnumToValueNameLinearMapper, capable of looking up long names
for values of the Bidi_Class enumerated property
✨ Enabled with the compiled_data Cargo feature.
§Example
use icu::properties::BidiClass;
let lookup = BidiClass::enum_to_long_name_mapper();
assert_eq!(lookup.get(BidiClass::ArabicNumber), Some("Arabic_Number"));
assert_eq!(lookup.get(BidiClass::NonspacingMark), Some("Nonspacing_Mark"));Sourcepub fn get_enum_to_long_name_mapper(
provider: &(impl DataProvider<BidiClassValueToLongNameV1Marker> + ?Sized),
) -> Result<PropertyEnumToValueNameLinearMapper<BidiClass>, PropertiesError>
pub fn get_enum_to_long_name_mapper( provider: &(impl DataProvider<BidiClassValueToLongNameV1Marker> + ?Sized), ) -> Result<PropertyEnumToValueNameLinearMapper<BidiClass>, PropertiesError>
A version of BidiClass::enum_to_long_name_mapper() that uses custom data provided by a DataProvider.
Trait Implementations§
Source§impl AsULE for BidiClass
impl AsULE for BidiClass
Source§type ULE = BidiClassULE
type ULE = BidiClassULE
Self. Read moreSource§fn to_unaligned(self) -> Self::ULE
fn to_unaligned(self) -> Self::ULE
Source§fn from_unaligned(unaligned: Self::ULE) -> Self
fn from_unaligned(unaligned: Self::ULE) -> Self
Source§impl Ord for BidiClass
impl Ord for BidiClass
Source§impl PartialOrd for BidiClass
impl PartialOrd for BidiClass
Source§impl TrieValue for BidiClass
impl TrieValue for BidiClass
Source§type TryFromU32Error = TryFromIntError
type TryFromU32Error = TryFromIntError
Source§fn try_from_u32(i: u32) -> Result<Self, Self::TryFromU32Error>
fn try_from_u32(i: u32) -> Result<Self, Self::TryFromU32Error>
u32 first.