[][src]Struct langtag::Language

pub struct Language<T: ?Sized = [u8]> { /* fields omitted */ }

Primary and extended language subtags.

This type represents the primary language subtag (first subtag in a language tag) and the extended language subtags associated with it.

Implementations

impl<T: AsRef<[u8]>> Language<T>[src]

pub fn new(t: T) -> Result<Language<T>, Error>[src]

Parse and use the given data.

pub unsafe fn new_unchecked(t: T) -> Language<T>[src]

Use the given data as buffer without parsing it.

Safety

The given data must be syntactically correct.

impl Language<[u8]>[src]

pub fn parse<'a, T: AsRef<[u8]> + ?Sized>(
    bytes: &'a T
) -> Result<&'a Language<[u8]>, Error>
[src]

Parse and borrow the given data.

pub unsafe fn parse_unchecked<'a, T: AsRef<[u8]> + ?Sized>(
    bytes: &'a T
) -> &'a Language<[u8]>
[src]

Borrow the given data without checking that it is syntactically correct.

Safety

The data must be syntactically correct.

impl Language<Vec<u8>>[src]

pub fn parse_copy<'a, T: AsRef<[u8]> + ?Sized>(
    bytes: &'a T
) -> Result<Language<Vec<u8>>, Error>
[src]

Parse and copy the input data.

pub unsafe fn parse_copy_unchecked<'a, T: AsRef<[u8]> + ?Sized>(
    bytes: &'a T
) -> Language<Vec<u8>>
[src]

Copy the input data without checking its syntax correctness.

Safety

The input data must be syntactically correct.

impl<T: AsRef<[u8]> + ?Sized> Language<T>[src]

pub fn len(&self) -> usize[src]

Bytes length.

pub fn as_bytes(&self) -> &[u8][src]

Return a reference to the underlying data.

pub fn as_str(&self) -> &str[src]

Return a reference to the underlying data as a string.

impl Language[src]

pub fn primary(&self) -> &PrimaryLanguage[src]

Return the primary language subtag.

The primary language subtag is the first subtag in a language tag.

pub fn extension(&self) -> Option<&LanguageExtension>[src]

Return the extended language subtags.

Extended language subtags are used to identify certain specially selected languages that, for various historical and compatibility reasons, are closely identified with or tagged using an existing primary language subtag.

Extended language subtags are only present when the primary language subtag length is 2 or 3.

pub fn extension_subtags(&self) -> LanguageExtensionIter<'_>

Notable traits for LanguageExtensionIter<'a>

impl<'a> Iterator for LanguageExtensionIter<'a> type Item = &'a ExtendedLangTag;
[src]

Return an iterator to the extended language subtags.

Trait Implementations

impl<T: AsRef<[u8]> + ?Sized> AsRef<[u8]> for Language<T>[src]

impl<T: AsRef<[u8]> + ?Sized> AsRef<str> for Language<T>[src]

impl<T: AsRef<[u8]> + ?Sized> Debug for Language<T>[src]

impl<T: ?Sized> Deref for Language<T>[src]

type Target = T

The resulting type after dereferencing.

impl<T: AsRef<[u8]> + ?Sized> Display for Language<T>[src]

impl<T: AsRef<[u8]> + ?Sized> Eq for Language<T>[src]

impl<T: AsRef<[u8]> + ?Sized> Hash for Language<T>[src]

impl<T: AsRef<[u8]> + ?Sized> Ord for Language<T>[src]

impl<T: AsRef<[u8]> + ?Sized> PartialEq<[u8]> for Language<T>[src]

impl<T: AsRef<[u8]> + ?Sized> PartialEq<Language<T>> for [u8][src]

impl<T: AsRef<[u8]> + ?Sized> PartialEq<Language<T>> for str[src]

impl<T: AsRef<[u8]> + ?Sized, U: AsRef<[u8]> + ?Sized> PartialEq<Language<U>> for Language<T>[src]

impl<T: AsRef<[u8]> + ?Sized> PartialEq<str> for Language<T>[src]

impl<T: AsRef<[u8]> + ?Sized, U: AsRef<[u8]> + ?Sized> PartialOrd<Language<U>> for Language<T>[src]

impl<'a> TryFrom<&'a [u8]> for &'a Language<[u8]>[src]

type Error = Error

The type returned in the event of a conversion error.

impl<'a> TryFrom<&'a str> for &'a Language<[u8]>[src]

type Error = Error

The type returned in the event of a conversion error.

Auto Trait Implementations

impl<T: ?Sized> RefUnwindSafe for Language<T> where
    T: RefUnwindSafe
[src]

impl<T: ?Sized> Send for Language<T> where
    T: Send
[src]

impl<T: ?Sized> Sync for Language<T> where
    T: Sync
[src]

impl<T: ?Sized> Unpin for Language<T> where
    T: Unpin
[src]

impl<T: ?Sized> UnwindSafe for Language<T> where
    T: UnwindSafe
[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.