Struct icu::properties::BidiClass
source · 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: u8
Implementations§
source§impl BidiClass
impl BidiClass
sourcepub const LeftToRight: BidiClass = BidiClass(0)
pub const LeftToRight: BidiClass = BidiClass(0)
(L
) any strong left-to-right character
sourcepub const RightToLeft: BidiClass = BidiClass(1)
pub const RightToLeft: BidiClass = BidiClass(1)
(R
) any strong right-to-left (non-Arabic-type) character
sourcepub const EuropeanNumber: BidiClass = BidiClass(2)
pub const EuropeanNumber: BidiClass = BidiClass(2)
(EN
) any ASCII digit or Eastern Arabic-Indic digit
sourcepub const EuropeanSeparator: BidiClass = BidiClass(3)
pub const EuropeanSeparator: BidiClass = BidiClass(3)
(ES
) plus and minus signs
sourcepub const EuropeanTerminator: BidiClass = BidiClass(4)
pub const EuropeanTerminator: BidiClass = BidiClass(4)
(ET
) a terminator in a numeric format context, includes currency signs
sourcepub const ArabicNumber: BidiClass = BidiClass(5)
pub const ArabicNumber: BidiClass = BidiClass(5)
(AN
) any Arabic-Indic digit
sourcepub const CommonSeparator: BidiClass = BidiClass(6)
pub const CommonSeparator: BidiClass = BidiClass(6)
(CS
) commas, colons, and slashes
sourcepub const ParagraphSeparator: BidiClass = BidiClass(7)
pub const ParagraphSeparator: BidiClass = BidiClass(7)
(B
) various newline characters
sourcepub const SegmentSeparator: BidiClass = BidiClass(8)
pub const SegmentSeparator: BidiClass = BidiClass(8)
(S
) various segment-related control codes
sourcepub const WhiteSpace: BidiClass = BidiClass(9)
pub const WhiteSpace: BidiClass = BidiClass(9)
(WS
) spaces
sourcepub const OtherNeutral: BidiClass = BidiClass(10)
pub const OtherNeutral: BidiClass = BidiClass(10)
(ON
) most other symbols and punctuation marks
sourcepub const LeftToRightEmbedding: BidiClass = BidiClass(11)
pub const LeftToRightEmbedding: BidiClass = BidiClass(11)
(LRE
) U+202A: the LR embedding control
sourcepub const LeftToRightOverride: BidiClass = BidiClass(12)
pub const LeftToRightOverride: BidiClass = BidiClass(12)
(LRO
) U+202D: the LR override control
sourcepub const ArabicLetter: BidiClass = BidiClass(13)
pub const ArabicLetter: BidiClass = BidiClass(13)
(AL
) any strong right-to-left (Arabic-type) character
sourcepub const RightToLeftEmbedding: BidiClass = BidiClass(14)
pub const RightToLeftEmbedding: BidiClass = BidiClass(14)
(RLE
) U+202B: the RL embedding control
sourcepub const RightToLeftOverride: BidiClass = BidiClass(15)
pub const RightToLeftOverride: BidiClass = BidiClass(15)
(RLO
) U+202E: the RL override control
sourcepub const PopDirectionalFormat: BidiClass = BidiClass(16)
pub const PopDirectionalFormat: BidiClass = BidiClass(16)
(PDF
) U+202C: terminates an embedding or override control
sourcepub const NonspacingMark: BidiClass = BidiClass(17)
pub const NonspacingMark: BidiClass = BidiClass(17)
(NSM
) any nonspacing mark
sourcepub const BoundaryNeutral: BidiClass = BidiClass(18)
pub const BoundaryNeutral: BidiClass = BidiClass(18)
(BN
) most format characters, control codes, or noncharacters
sourcepub const FirstStrongIsolate: BidiClass = BidiClass(19)
pub const FirstStrongIsolate: BidiClass = BidiClass(19)
(FSI
) U+2068: the first strong isolate control
sourcepub const LeftToRightIsolate: BidiClass = BidiClass(20)
pub const LeftToRightIsolate: BidiClass = BidiClass(20)
(LRI
) U+2066: the LR isolate control
sourcepub const RightToLeftIsolate: BidiClass = BidiClass(21)
pub const RightToLeftIsolate: BidiClass = BidiClass(21)
(RLI
) U+2067: the RL isolate control
sourcepub const PopDirectionalIsolate: BidiClass = BidiClass(22)
pub const PopDirectionalIsolate: BidiClass = BidiClass(22)
(PDI
) U+2069: terminates an isolate control
source§impl BidiClass
impl BidiClass
sourcepub fn get_name_to_enum_mapper(
provider: &impl DataProvider<BidiClassNameToValueV1Marker>
) -> Result<PropertyValueNameToEnumMapper<BidiClass>, PropertiesError>
pub fn get_name_to_enum_mapper( provider: &impl DataProvider<BidiClassNameToValueV1Marker> ) -> Result<PropertyValueNameToEnumMapper<BidiClass>, PropertiesError>
Return a PropertyValueNameToEnumMapper
, capable of looking up values
from strings for the Bidi_Class
enumerated property
Example
use icu::properties::BidiClass;
let lookup = BidiClass::get_name_to_enum_mapper(&icu_testdata::unstable())
.expect("The data should be valid");
let lookup = lookup.as_borrowed();
// 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_enum_to_short_name_mapper(
provider: &impl DataProvider<BidiClassValueToShortNameV1Marker>
) -> Result<PropertyEnumToValueNameLinearMapper<BidiClass>, PropertiesError>
pub fn get_enum_to_short_name_mapper( provider: &impl DataProvider<BidiClassValueToShortNameV1Marker> ) -> Result<PropertyEnumToValueNameLinearMapper<BidiClass>, PropertiesError>
Return a PropertyEnumToValueNameLinearMapper
, capable of looking up short names
for values of the Bidi_Class
enumerated property
Example
use icu::properties::BidiClass;
let lookup = BidiClass::get_enum_to_short_name_mapper(&icu_testdata::unstable())
.expect("The data should be valid");
let lookup = lookup.as_borrowed();
assert_eq!(lookup.get(BidiClass::ArabicNumber), Some("AN"));
assert_eq!(lookup.get(BidiClass::NonspacingMark), Some("NSM"));
sourcepub fn get_enum_to_long_name_mapper(
provider: &impl DataProvider<BidiClassValueToLongNameV1Marker>
) -> Result<PropertyEnumToValueNameLinearMapper<BidiClass>, PropertiesError>
pub fn get_enum_to_long_name_mapper( provider: &impl DataProvider<BidiClassValueToLongNameV1Marker> ) -> Result<PropertyEnumToValueNameLinearMapper<BidiClass>, PropertiesError>
Return a PropertyEnumToValueNameLinearMapper
, capable of looking up long names
for values of the Bidi_Class
enumerated property
Example
use icu::properties::BidiClass;
let lookup = BidiClass::get_enum_to_long_name_mapper(&icu_testdata::unstable())
.expect("The data should be valid");
let lookup = lookup.as_borrowed();
assert_eq!(lookup.get(BidiClass::ArabicNumber), Some("Arabic_Number"));
assert_eq!(lookup.get(BidiClass::NonspacingMark), Some("Nonspacing_Mark"));
Trait Implementations§
source§impl<'de> Deserialize<'de> for BidiClass
impl<'de> Deserialize<'de> for BidiClass
source§fn deserialize<__D>(
__deserializer: __D
) -> Result<BidiClass, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>( __deserializer: __D ) -> Result<BidiClass, <__D as Deserializer<'de>>::Error>where __D: Deserializer<'de>,
source§impl Ord for BidiClass
impl Ord for BidiClass
source§impl PartialEq<BidiClass> for BidiClass
impl PartialEq<BidiClass> for BidiClass
source§impl PartialOrd<BidiClass> for BidiClass
impl PartialOrd<BidiClass> for BidiClass
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl Serialize for BidiClass
impl Serialize for BidiClass
source§fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where __S: Serializer,
source§impl TrieValue for BidiClass
impl TrieValue for BidiClass
§type TryFromU32Error = TryFromIntError
type TryFromU32Error = TryFromIntError
source§fn try_from_u32(
i: u32
) -> Result<BidiClass, <BidiClass as TrieValue>::TryFromU32Error>
fn try_from_u32( i: u32 ) -> Result<BidiClass, <BidiClass as TrieValue>::TryFromU32Error>
u32
first.