#[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
.
§Example
use icu::properties::{props::GeneralCategory, CodePointMapData};
assert_eq!(
CodePointMapData::<GeneralCategory>::new().get('木'),
GeneralCategory::OtherLetter
); // U+6728
assert_eq!(
CodePointMapData::<GeneralCategory>::new().get('🎃'),
GeneralCategory::OtherSymbol
); // U+1F383 JACK-O-LANTERN
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 const ALL_VALUES: &'static [GeneralCategory]
pub const ALL_VALUES: &'static [GeneralCategory]
All possible values of this enum
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 EnumeratedProperty for GeneralCategory
impl EnumeratedProperty 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 NamedEnumeratedProperty for GeneralCategory
impl NamedEnumeratedProperty for GeneralCategory
Source§fn try_from_str(s: &str) -> Option<Self>
fn try_from_str(s: &str) -> Option<Self>
PropertyParser::new().get_loose(s)
Read moreSource§fn long_name(&self) -> &'static str
fn long_name(&self) -> &'static str
PropertyNamesLong::new().get(*self).unwrap()
Read moreSource§fn short_name(&self) -> &'static str
fn short_name(&self) -> &'static str
PropertyNamesShort::new().get(*self).unwrap()
Read moreSource§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, GeneralCategoryOutOfBoundsError>
fn try_from(val: u8) -> Result<Self, GeneralCategoryOutOfBoundsError>
Construct this GeneralCategory
from an integer, returning
an error if it is out of bounds
Source§type Error = GeneralCategoryOutOfBoundsError
type Error = GeneralCategoryOutOfBoundsError
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 more