[][src]Struct langtag::LanguageExtension

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

List of extended language subtags.

This type represents a list of extended language subtags, separated by a - character.

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. The type ExtendedLangTag represents a single extended language subtag.

Implementations

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

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

Parse and use the given data.

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

Use the given data as buffer without parsing it.

Safety

The given data must be syntactically correct.

impl LanguageExtension<[u8]>[src]

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

Parse and borrow the given data.

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

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

Safety

The data must be syntactically correct.

impl LanguageExtension<Vec<u8>>[src]

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

Parse and copy the input data.

pub unsafe fn parse_copy_unchecked<'a, T: AsRef<[u8]> + ?Sized>(
    bytes: &'a T
) -> LanguageExtension<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> LanguageExtension<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 LanguageExtension[src]

pub fn empty() -> &'static LanguageExtension[src]

Empty list (the empty string).

pub fn is_empty(&self) -> bool[src]

Checks if the list is empty.

pub fn first(&self) -> Option<&ExtendedLangTag>[src]

Returns the first subtag of the list (if any).

pub fn last(&self) -> Option<&ExtendedLangTag>[src]

Returns the last subtag of the list (if any).

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

Notable traits for LanguageExtensionIter<'a>

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

Iterate through the subtags of the list.

pub fn contains<T: AsRef<[u8]> + ?Sized>(&self, subtag: &T) -> bool[src]

Checks if the given subtag is included the list.

Trait Implementations

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

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

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

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

type Target = T

The resulting type after dereferencing.

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

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

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

impl<'a> IntoIterator for &'a LanguageExtension[src]

type Item = &'a ExtendedLangTag

The type of the elements being iterated over.

type IntoIter = LanguageExtensionIter<'a>

Which kind of iterator are we turning this into?

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

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

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

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

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

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

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

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

type Error = Error

The type returned in the event of a conversion error.

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

type Error = Error

The type returned in the event of a conversion error.

Auto Trait Implementations

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

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

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

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

impl<T: ?Sized> UnwindSafe for LanguageExtension<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.