[−][src]Struct icu::locid::subtags::Language
Language subtag (examples: "en"
, "csb"
, "zh"
, "und"
, etc.)
Language
represents a Unicode base language code conformat to the
unicode_language_id
field of the Language and Locale Identifier.
Examples
use icu_locid::subtags::Language; let language: Language = "en".parse() .expect("Failed to parse a language subtag.");
If the Language
has no value assigned, it serializes to a string "und"
, which
can be then parsed back to an empty Language
field.
Examples
use icu_locid::subtags::Language; assert_eq!(Language::default().as_str(), "und");
Implementations
impl Language
[src]
pub fn from_bytes(v: &[u8]) -> Result<Language, ParserError>
[src]
A constructor which takes a utf8 slice, parses it and
produces a well-formed Language
.
Examples
use icu_locid::subtags::Language; let lang = Language::from_bytes(b"en") .expect("Parsing failed."); assert_eq!(lang, "en");
pub fn into_raw(self) -> Option<u64>
[src]
Deconstructs the Language
into raw format to be consumed
by from_raw_unchecked
.
Examples
use icu_locid::subtags::Language; let lang = Language::from_bytes(b"en") .expect("Parsing failed."); let raw = lang.into_raw(); let lang = unsafe { Language::from_raw_unchecked(raw) }; assert_eq!(lang, "en");
pub const unsafe fn from_raw_unchecked(v: Option<u64>) -> Language
[src]
Constructor which takes a raw value returned by
into_raw
.
Examples
use icu_locid::subtags::Language; let lang = Language::from_bytes(b"en") .expect("Parsing failed."); let raw = lang.into_raw(); let lang = unsafe { Language::from_raw_unchecked(raw) }; assert_eq!(lang, "en");
Safety
This function accepts a u64
that is expected to be a valid TinyStr8
representing a Language
subtag in canonical syntax.
pub fn as_str(&self) -> &str
[src]
A helper function for displaying
a Language
subtag as a &str
.
Examples
use icu_locid::subtags::Language; let lang = Language::from_bytes(b"en") .expect("Parsing failed."); assert_eq!(lang.as_str(), "en");
Notice
: For many use cases, such as comparison,
Language
implements PartialEq<&str>
which allows for direct comparisons.
pub fn clear(&mut self)
[src]
Resets the Language
subtag to an empty one.
Examples
use icu_locid::subtags::Language; let mut lang: Language = "csb".parse() .expect("Parsing failed."); assert_eq!(lang.as_str(), "csb"); lang.clear(); assert_eq!(lang.as_str(), "und");
pub fn is_empty(self) -> bool
[src]
Tests if the Language
subtag is empty.
Examples
use icu_locid::subtags::Language; let mut lang: Language = "und".parse() .expect("Parsing failed."); assert_eq!(lang.is_empty(), true); lang.clear(); assert_eq!(lang.is_empty(), true);
Trait Implementations
impl Clone for Language
[src]
impl Copy for Language
[src]
impl Debug for Language
[src]
impl Default for Language
[src]
impl Display for Language
[src]
impl Eq for Language
[src]
impl FromStr for Language
[src]
type Err = ParserError
The associated error which can be returned from parsing.
fn from_str(source: &str) -> Result<Language, <Language as FromStr>::Err>
[src]
impl Hash for Language
[src]
fn hash<__H>(&self, state: &mut __H) where
__H: Hasher,
[src]
__H: Hasher,
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Ord for Language
[src]
fn cmp(&self, other: &Language) -> Ordering
[src]
#[must_use]fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self
[src]
impl<'_> PartialEq<&'_ str> for Language
[src]
impl PartialEq<Language> for Language
[src]
impl PartialOrd<Language> for Language
[src]
fn partial_cmp(&self, other: &Language) -> Option<Ordering>
[src]
fn lt(&self, other: &Language) -> bool
[src]
fn le(&self, other: &Language) -> bool
[src]
fn gt(&self, other: &Language) -> bool
[src]
fn ge(&self, other: &Language) -> bool
[src]
impl StructuralEq for Language
[src]
impl StructuralPartialEq for Language
[src]
Auto Trait Implementations
impl RefUnwindSafe for Language
impl Send for Language
impl Sync for Language
impl Unpin for Language
impl UnwindSafe for Language
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Downcast for T where
T: Any,
T: Any,
fn into_any(self: Box<T>) -> Box<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
impl<T> DowncastSync for T where
T: Send + Sync + Any,
T: Send + Sync + Any,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,