#[repr(transparent)]pub struct Script(TinyAsciiStr<4>);Expand description
A script subtag (examples: "Latn", "Arab", etc.)
Script represents a Unicode script code conformant to the
unicode_script_subtag field of the Language and Locale Identifier,
i.e. an ISO 15924 value.
§Examples
use icu::locale::subtags::Script;
let script: Script =
"Latn".parse().expect("Failed to parse a script subtag.");Tuple Fields§
§0: TinyAsciiStr<4>Implementations§
Source§impl Script
impl Script
Sourcepub const fn try_from_str(s: &str) -> Result<Script, ParseError>
pub const fn try_from_str(s: &str) -> Result<Script, ParseError>
Sourcepub const fn try_from_utf8(code_units: &[u8]) -> Result<Script, ParseError>
pub const fn try_from_utf8(code_units: &[u8]) -> Result<Script, ParseError>
Sourcepub const fn try_from_raw(raw: [u8; 4]) -> Result<Script, ParseError>
pub const fn try_from_raw(raw: [u8; 4]) -> Result<Script, ParseError>
Safely creates a Script 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; 4]) -> Script
pub const unsafe fn from_raw_unchecked(v: [u8; 4]) -> Script
Unsafely creates a Script 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; 4]
pub const fn into_raw(self) -> [u8; 4]
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 Script
This trait is implemented for compatibility with fmt!.
To create a string, [Writeable::write_to_string] is usually more efficient.
impl Display for Script
This trait is implemented for compatibility with fmt!.
To create a string, [Writeable::write_to_string] is usually more efficient.
Source§impl From<Script> for TinyAsciiStr<4>
impl From<Script> for TinyAsciiStr<4>
Source§fn from(input: Script) -> TinyAsciiStr<4>
fn from(input: Script) -> TinyAsciiStr<4>
Source§impl NicheBytes<4> for Script
Available on crate feature zerovec only.
impl NicheBytes<4> for Script
zerovec only.const NICHE_BIT_PATTERN: [u8; 4] = tinystr::TinyAsciiStr<4>::NICHE_BIT_PATTERN
Source§impl Ord for Script
impl Ord for Script
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 Script
impl PartialOrd for Script
Source§impl ULE for Script
Available on crate feature zerovec only.
impl ULE for Script
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 Script
impl Writeable for Script
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 Script
Available on crate features zerovec and alloc only.
impl<'a> ZeroMapKV<'a> for Script
zerovec and alloc only.