Enum icu_properties::props::GeneralCategory
source · #[repr(u8)]pub enum GeneralCategory {
Show 30 variants
Unassigned = 0,
UppercaseLetter = 1,
LowercaseLetter = 2,
TitlecaseLetter = 3,
ModifierLetter = 4,
OtherLetter = 5,
NonspacingMark = 6,
SpacingMark = 8,
EnclosingMark = 7,
DecimalNumber = 9,
LetterNumber = 10,
OtherNumber = 11,
SpaceSeparator = 12,
LineSeparator = 13,
ParagraphSeparator = 14,
Control = 15,
Format = 16,
PrivateUse = 17,
Surrogate = 18,
DashPunctuation = 19,
OpenPunctuation = 20,
ClosePunctuation = 21,
ConnectorPunctuation = 22,
InitialPunctuation = 28,
FinalPunctuation = 29,
OtherPunctuation = 23,
MathSymbol = 24,
CurrencySymbol = 25,
ModifierSymbol = 26,
OtherSymbol = 27,
}
Expand description
Enumerated property General_Category.
General_Category specifies the most general classification of a code point, usually determined based on the primary characteristic of the assigned character. For example, is the character a letter, a mark, a number, punctuation, or a symbol, and if so, of what type?
GeneralCategory only supports specific subcategories (eg UppercaseLetter
).
It does not support grouped categories (eg Letter
). For grouped categories, use GeneralCategoryGroup
.
Variants§
Unassigned = 0
(Cn
) A reserved unassigned code point or a noncharacter
UppercaseLetter = 1
(Lu
) An uppercase letter
LowercaseLetter = 2
(Ll
) A lowercase letter
TitlecaseLetter = 3
(Lt
) A digraphic letter, with first part uppercase
ModifierLetter = 4
(Lm
) A modifier letter
OtherLetter = 5
(Lo
) Other letters, including syllables and ideographs
NonspacingMark = 6
(Mn
) A nonspacing combining mark (zero advance width)
SpacingMark = 8
(Mc
) A spacing combining mark (positive advance width)
EnclosingMark = 7
(Me
) An enclosing combining mark
DecimalNumber = 9
(Nd
) A decimal digit
LetterNumber = 10
(Nl
) A letterlike numeric character
OtherNumber = 11
(No
) A numeric character of other type
SpaceSeparator = 12
(Zs
) A space character (of various non-zero widths)
LineSeparator = 13
(Zl
) U+2028 LINE SEPARATOR only
ParagraphSeparator = 14
(Zp
) U+2029 PARAGRAPH SEPARATOR only
Control = 15
(Cc
) A C0 or C1 control code
Format = 16
(Cf
) A format control character
PrivateUse = 17
(Co
) A private-use character
Surrogate = 18
(Cs
) A surrogate code point
DashPunctuation = 19
(Pd
) A dash or hyphen punctuation mark
OpenPunctuation = 20
(Ps
) An opening punctuation mark (of a pair)
ClosePunctuation = 21
(Pe
) A closing punctuation mark (of a pair)
ConnectorPunctuation = 22
(Pc
) A connecting punctuation mark, like a tie
InitialPunctuation = 28
(Pi
) An initial quotation mark
FinalPunctuation = 29
(Pf
) A final quotation mark
OtherPunctuation = 23
(Po
) A punctuation mark of other type
MathSymbol = 24
(Sm
) A symbol of mathematical use
CurrencySymbol = 25
(Sc
) A currency sign
ModifierSymbol = 26
(Sk
) A non-letterlike modifier symbol
OtherSymbol = 27
(So
) A symbol of other type
Implementations§
source§impl GeneralCategory
impl GeneralCategory
sourcepub(crate) fn new_from_u8(value: u8) -> Option<Self>
pub(crate) fn new_from_u8(value: u8) -> Option<Self>
Attempt to construct the value from its corresponding integer,
returning None
if not possible
source§impl GeneralCategory
impl GeneralCategory
sourcepub const fn name_to_enum_mapper() -> PropertyValueNameToEnumMapperBorrowed<'static, GeneralCategory>
pub const fn name_to_enum_mapper() -> PropertyValueNameToEnumMapperBorrowed<'static, GeneralCategory>
Return a PropertyValueNameToEnumMapper
, capable of looking up values
from strings for the General_Category
enumerated property.
✨ Enabled with the compiled_data
Cargo feature.
§Example
use icu::properties::GeneralCategory;
let lookup = GeneralCategory::name_to_enum_mapper();
// short name for value
assert_eq!(lookup.get_strict("Lu"), Some(GeneralCategory::UppercaseLetter));
assert_eq!(lookup.get_strict("Pd"), Some(GeneralCategory::DashPunctuation));
// long name for value
assert_eq!(lookup.get_strict("Uppercase_Letter"), Some(GeneralCategory::UppercaseLetter));
assert_eq!(lookup.get_strict("Dash_Punctuation"), Some(GeneralCategory::DashPunctuation));
// name has incorrect casing
assert_eq!(lookup.get_strict("dashpunctuation"), None);
// loose matching of name
assert_eq!(lookup.get_loose("dash-punctuation"), Some(GeneralCategory::DashPunctuation));
// fake property
assert_eq!(lookup.get_loose("Animated_Gif"), None);
sourcepub fn get_name_to_enum_mapper(
provider: &(impl DataProvider<GeneralCategoryNameToValueV1Marker> + ?Sized),
) -> Result<PropertyValueNameToEnumMapper<GeneralCategory>, PropertiesError>
pub fn get_name_to_enum_mapper( provider: &(impl DataProvider<GeneralCategoryNameToValueV1Marker> + ?Sized), ) -> Result<PropertyValueNameToEnumMapper<GeneralCategory>, PropertiesError>
A version of GeneralCategory::name_to_enum_mapper()
that uses custom data provided by a DataProvider
.
sourcepub const fn enum_to_short_name_mapper() -> PropertyEnumToValueNameLinearMapperBorrowed<'static, GeneralCategory>
pub const fn enum_to_short_name_mapper() -> PropertyEnumToValueNameLinearMapperBorrowed<'static, GeneralCategory>
Return a PropertyEnumToValueNameLinearMapper
, capable of looking up short names
for values of the General_Category
enumerated property.
✨ Enabled with the compiled_data
Cargo feature.
§Example
use icu::properties::GeneralCategory;
let lookup = GeneralCategory::enum_to_short_name_mapper();
assert_eq!(lookup.get(GeneralCategory::UppercaseLetter), Some("Lu"));
assert_eq!(lookup.get(GeneralCategory::DashPunctuation), Some("Pd"));
assert_eq!(lookup.get(GeneralCategory::FinalPunctuation), Some("Pf"));
sourcepub fn get_enum_to_short_name_mapper(
provider: &(impl DataProvider<GeneralCategoryValueToShortNameV1Marker> + ?Sized),
) -> Result<PropertyEnumToValueNameLinearMapper<GeneralCategory>, PropertiesError>
pub fn get_enum_to_short_name_mapper( provider: &(impl DataProvider<GeneralCategoryValueToShortNameV1Marker> + ?Sized), ) -> Result<PropertyEnumToValueNameLinearMapper<GeneralCategory>, PropertiesError>
A version of GeneralCategory::enum_to_short_name_mapper()
that uses custom data provided by a DataProvider
.
sourcepub const fn enum_to_long_name_mapper() -> PropertyEnumToValueNameLinearMapperBorrowed<'static, GeneralCategory>
pub const fn enum_to_long_name_mapper() -> PropertyEnumToValueNameLinearMapperBorrowed<'static, GeneralCategory>
Return a PropertyEnumToValueNameLinearMapper
, capable of looking up long names
for values of the General_Category
enumerated property.
✨ Enabled with the compiled_data
Cargo feature.
§Example
use icu::properties::GeneralCategory;
let lookup = GeneralCategory::enum_to_long_name_mapper();
assert_eq!(lookup.get(GeneralCategory::UppercaseLetter), Some("Uppercase_Letter"));
assert_eq!(lookup.get(GeneralCategory::DashPunctuation), Some("Dash_Punctuation"));
assert_eq!(lookup.get(GeneralCategory::FinalPunctuation), Some("Final_Punctuation"));
sourcepub fn get_enum_to_long_name_mapper(
provider: &(impl DataProvider<GeneralCategoryValueToLongNameV1Marker> + ?Sized),
) -> Result<PropertyEnumToValueNameLinearMapper<GeneralCategory>, PropertiesError>
pub fn get_enum_to_long_name_mapper( provider: &(impl DataProvider<GeneralCategoryValueToLongNameV1Marker> + ?Sized), ) -> Result<PropertyEnumToValueNameLinearMapper<GeneralCategory>, PropertiesError>
A version of GeneralCategory::enum_to_long_name_mapper()
that uses custom data provided by a DataProvider
.
Trait Implementations§
source§impl AsULE for GeneralCategory
impl AsULE for GeneralCategory
source§type ULE = GeneralCategoryULE
type ULE = GeneralCategoryULE
Self
. Read moresource§fn to_unaligned(self) -> Self::ULE
fn to_unaligned(self) -> Self::ULE
source§fn from_unaligned(other: Self::ULE) -> Self
fn from_unaligned(other: Self::ULE) -> Self
source§impl Clone for GeneralCategory
impl Clone for GeneralCategory
source§fn clone(&self) -> GeneralCategory
fn clone(&self) -> GeneralCategory
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for GeneralCategory
impl Debug for GeneralCategory
source§impl From<GeneralCategory> for GeneralCategoryGroup
impl From<GeneralCategory> for GeneralCategoryGroup
source§fn from(subcategory: GeneralCategory) -> Self
fn from(subcategory: GeneralCategory) -> Self
source§impl Hash for GeneralCategory
impl Hash for GeneralCategory
source§impl Ord for GeneralCategory
impl Ord for GeneralCategory
source§fn cmp(&self, other: &GeneralCategory) -> Ordering
fn cmp(&self, other: &GeneralCategory) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialEq for GeneralCategory
impl PartialEq for GeneralCategory
source§impl PartialOrd for GeneralCategory
impl PartialOrd for GeneralCategory
source§impl TrieValue for GeneralCategory
impl TrieValue for GeneralCategory
source§type TryFromU32Error = &'static str
type TryFromU32Error = &'static str
source§fn try_from_u32(i: u32) -> Result<Self, Self::TryFromU32Error>
fn try_from_u32(i: u32) -> Result<Self, Self::TryFromU32Error>
u32
first.source§impl TryFrom<u8> for GeneralCategory
impl TryFrom<u8> for GeneralCategory
source§fn try_from(val: u8) -> Result<Self, GeneralCategoryTryFromError>
fn try_from(val: u8) -> Result<Self, GeneralCategoryTryFromError>
Construct this GeneralCategory
from an integer, returning
an error if it is out of bounds
source§type Error = GeneralCategoryTryFromError
type Error = GeneralCategoryTryFromError
source§impl<'a> ZeroMapKV<'a> for GeneralCategory
impl<'a> ZeroMapKV<'a> for GeneralCategory
source§type Container = ZeroVec<'a, GeneralCategory>
type Container = ZeroVec<'a, GeneralCategory>
ZeroVec
or VarZeroVec
.type Slice = ZeroSlice<GeneralCategory>
source§type GetType = GeneralCategoryULE
type GetType = GeneralCategoryULE
Container::get()
Read moresource§type OwnedType = GeneralCategory
type OwnedType = GeneralCategory
Container::replace()
and Container::remove()
,
also used during deserialization. If Self
is human readable serialized,
deserializing to Self::OwnedType
should produce the same value once
passed through Self::owned_as_self()
Read moreimpl Copy for GeneralCategory
impl Eq for GeneralCategory
impl StructuralPartialEq for GeneralCategory
Auto Trait Implementations§
impl Freeze for GeneralCategory
impl RefUnwindSafe for GeneralCategory
impl Send for GeneralCategory
impl Sync for GeneralCategory
impl Unpin for GeneralCategory
impl UnwindSafe for GeneralCategory
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)