#[repr(transparent)]pub struct Region(TinyAsciiStr<3>);Expand description
A region subtag (examples: "US", "CN", "001" etc.)
Region represents a Unicode region code conformant to the
unicode_region_subtag field of the Language and Locale Identifier,
i.e. an ISO 3166-1 alpha 2 or UN M.49 (macro regions only) value.
§Examples
use icu::locale::subtags::Region;
let region: Region =
"DE".parse().expect("Failed to parse a region subtag.");Tuple Fields§
§0: TinyAsciiStr<3>Implementations§
Source§impl Region
impl Region
Sourcepub const fn try_from_str(s: &str) -> Result<Region, ParseError>
pub const fn try_from_str(s: &str) -> Result<Region, ParseError>
Sourcepub const fn try_from_utf8(code_units: &[u8]) -> Result<Region, ParseError>
pub const fn try_from_utf8(code_units: &[u8]) -> Result<Region, ParseError>
Sourcepub const fn try_from_raw(raw: [u8; 3]) -> Result<Region, ParseError>
pub const fn try_from_raw(raw: [u8; 3]) -> Result<Region, ParseError>
Safely creates a Region from its raw format
as returned by Self::into_raw. Unlike Self::try_from_utf8,
this constructor only takes normalized values.
Sourcepub const unsafe fn from_raw_unchecked(v: [u8; 3]) -> Region
pub const unsafe fn from_raw_unchecked(v: [u8; 3]) -> Region
Unsafely creates a Region from its raw format
as returned by Self::into_raw. Unlike Self::try_from_utf8,
this constructor only takes normalized values.
§Safety
This function is safe iff Self::try_from_raw returns an Ok. This is the case
for inputs that are correctly normalized.
Sourcepub const fn into_raw(self) -> [u8; 3]
pub const fn into_raw(self) -> [u8; 3]
Deconstructs into a raw format to be consumed by
from_raw_unchecked or
try_from_raw.
Sourcepub fn strict_cmp(self, other: &[u8]) -> Ordering
pub fn strict_cmp(self, other: &[u8]) -> Ordering
Compare with BCP-47 bytes.
The return value is equivalent to what would happen if you first converted
self to a BCP-47 string and then performed a byte comparison.
This function is case-sensitive and results in a total order, so it is appropriate for
binary search. The only argument producing Ordering::Equal
is self.as_str().as_bytes().
Sourcepub fn normalizing_eq(self, other: &str) -> bool
pub fn normalizing_eq(self, other: &str) -> bool
Compare with a potentially unnormalized BCP-47 string.
The return value is equivalent to what would happen if you first parsed the BCP-47 string and then performed a structural comparison.
Trait Implementations§
Source§impl Display for Region
This trait is implemented for compatibility with fmt!.
To create a string, [Writeable::write_to_string] is usually more efficient.
impl Display for Region
This trait is implemented for compatibility with fmt!.
To create a string, [Writeable::write_to_string] is usually more efficient.
Source§impl From<Region> for TinyAsciiStr<3>
impl From<Region> for TinyAsciiStr<3>
Source§fn from(input: Region) -> TinyAsciiStr<3>
fn from(input: Region) -> TinyAsciiStr<3>
Source§impl NicheBytes<3> for Region
Available on crate feature zerovec only.
impl NicheBytes<3> for Region
zerovec only.const NICHE_BIT_PATTERN: [u8; 3] = tinystr::TinyAsciiStr<3>::NICHE_BIT_PATTERN
Source§impl Ord for Region
impl Ord for Region
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialOrd for Region
impl PartialOrd for Region
Source§impl ULE for Region
Available on crate feature zerovec only.
impl ULE for Region
zerovec only.Source§fn validate_bytes(bytes: &[u8]) -> Result<(), UleError>
fn validate_bytes(bytes: &[u8]) -> Result<(), UleError>
&[u8]. Read moreSource§unsafe fn slice_from_bytes_unchecked(bytes: &[u8]) -> &[Self]
unsafe fn slice_from_bytes_unchecked(bytes: &[u8]) -> &[Self]
&[u8], and return it as &[Self] with the same lifetime, assuming
that this byte slice has previously been run through Self::parse_bytes_to_slice() with
success. Read moreSource§impl Writeable for Region
impl Writeable for Region
Source§fn write_to<W>(&self, sink: &mut W) -> Result<(), Error>
fn write_to<W>(&self, sink: &mut W) -> Result<(), Error>
write_to_parts, and discards any
Part annotations.Source§fn write_to_parts<S>(&self, sink: &mut S) -> Result<(), Error>where
S: PartsWrite + ?Sized,
fn write_to_parts<S>(&self, sink: &mut S) -> Result<(), Error>where
S: PartsWrite + ?Sized,
Part annotations to the given sink. Errors from the
sink are bubbled up. The default implementation delegates to write_to,
and doesn’t produce any Part annotations.Source§fn writeable_length_hint(&self) -> LengthHint
fn writeable_length_hint(&self) -> LengthHint
Source§fn writeable_borrow(&self) -> Option<&str>
fn writeable_borrow(&self) -> Option<&str>
Source§impl<'a> ZeroMapKV<'a> for Region
Available on crate features zerovec and alloc only.
impl<'a> ZeroMapKV<'a> for Region
zerovec and alloc only.