[−][src]Struct langtag::Extension
Single extension and its subtags.
Extensions provide a mechanism for extending language tags for use in various applications. They are intended to identify information that is commonly used in association with languages or language tags but that is not part of language identification.
An extension is composed of a singleton (a single character)
followed by associated subtags.
For instance a-subtag1-subtag2
.
Each subtag of the extension is represented by the ExtensionSubtag
type.
Implementations
impl<T: AsRef<[u8]>> Extension<T>
[src]
pub fn new(t: T) -> Result<Extension<T>, Error>
[src]
Parse and use the given data.
pub unsafe fn new_unchecked(t: T) -> Extension<T>
[src]
Use the given data as buffer without parsing it.
Safety
The given data must be syntactically correct.
impl Extension<[u8]>
[src]
pub fn parse<'a, T: AsRef<[u8]> + ?Sized>(
bytes: &'a T
) -> Result<&'a Extension<[u8]>, Error>
[src]
bytes: &'a T
) -> Result<&'a Extension<[u8]>, Error>
Parse and borrow the given data.
pub unsafe fn parse_unchecked<'a, T: AsRef<[u8]> + ?Sized>(
bytes: &'a T
) -> &'a Extension<[u8]>
[src]
bytes: &'a T
) -> &'a Extension<[u8]>
Borrow the given data without checking that it is syntactically correct.
Safety
The data must be syntactically correct.
impl Extension<Vec<u8>>
[src]
pub fn parse_copy<'a, T: AsRef<[u8]> + ?Sized>(
bytes: &'a T
) -> Result<Extension<Vec<u8>>, Error>
[src]
bytes: &'a T
) -> Result<Extension<Vec<u8>>, Error>
Parse and copy the input data.
pub unsafe fn parse_copy_unchecked<'a, T: AsRef<[u8]> + ?Sized>(
bytes: &'a T
) -> Extension<Vec<u8>>
[src]
bytes: &'a T
) -> Extension<Vec<u8>>
Copy the input data without checking its syntax correctness.
Safety
The input data must be syntactically correct.
impl<T: AsRef<[u8]> + ?Sized> Extension<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 Extension
[src]
pub fn empty() -> &'static Extension
[src]
Empty list (the empty string).
pub fn is_empty(&self) -> bool
[src]
Checks if the list is empty.
pub fn first(&self) -> Option<&ExtensionSubtag>
[src]
Returns the first subtag of the list (if any).
pub fn last(&self) -> Option<&ExtensionSubtag>
[src]
Returns the last subtag of the list (if any).
pub fn iter(&self) -> ExtensionIter<'_>ⓘNotable traits for ExtensionIter<'a>
impl<'a> Iterator for ExtensionIter<'a> type Item = &'a ExtensionSubtag;
[src]
Notable traits for ExtensionIter<'a>
impl<'a> Iterator for ExtensionIter<'a> type Item = &'a ExtensionSubtag;
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.
impl Extension
[src]
Trait Implementations
impl<T: AsRef<[u8]> + ?Sized> AsRef<[u8]> for Extension<T>
[src]
impl<T: AsRef<[u8]> + ?Sized> AsRef<str> for Extension<T>
[src]
impl<T: AsRef<[u8]> + ?Sized> Debug for Extension<T>
[src]
impl<T: ?Sized> Deref for Extension<T>
[src]
impl<T: AsRef<[u8]> + ?Sized> Display for Extension<T>
[src]
impl<T: AsRef<[u8]> + ?Sized> Eq for Extension<T>
[src]
impl<T: AsRef<[u8]> + ?Sized> Hash for Extension<T>
[src]
pub fn hash<H: Hasher>(&self, h: &mut H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<'a> IntoIterator for &'a Extension
[src]
type Item = &'a ExtensionSubtag
The type of the elements being iterated over.
type IntoIter = ExtensionIter<'a>
Which kind of iterator are we turning this into?
pub fn into_iter(self) -> ExtensionIter<'a>ⓘNotable traits for ExtensionIter<'a>
impl<'a> Iterator for ExtensionIter<'a> type Item = &'a ExtensionSubtag;
[src]
Notable traits for ExtensionIter<'a>
impl<'a> Iterator for ExtensionIter<'a> type Item = &'a ExtensionSubtag;
impl<T: AsRef<[u8]> + ?Sized> Ord for Extension<T>
[src]
pub fn cmp(&self, other: &Extension<T>) -> Ordering
[src]
#[must_use]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]
impl<T: AsRef<[u8]> + ?Sized> PartialEq<[u8]> for Extension<T>
[src]
pub fn eq(&self, other: &[u8]) -> bool
[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl<T: AsRef<[u8]> + ?Sized> PartialEq<Extension<T>> for [u8]
[src]
pub fn eq(&self, other: &Extension<T>) -> bool
[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl<T: AsRef<[u8]> + ?Sized> PartialEq<Extension<T>> for str
[src]
pub fn eq(&self, other: &Extension<T>) -> bool
[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl<T: AsRef<[u8]> + ?Sized, U: AsRef<[u8]> + ?Sized> PartialEq<Extension<U>> for Extension<T>
[src]
pub fn eq(&self, other: &Extension<U>) -> bool
[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl<T: AsRef<[u8]> + ?Sized> PartialEq<str> for Extension<T>
[src]
pub fn eq(&self, other: &str) -> bool
[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl<T: AsRef<[u8]> + ?Sized, U: AsRef<[u8]> + ?Sized> PartialOrd<Extension<U>> for Extension<T>
[src]
pub fn partial_cmp(&self, other: &Extension<U>) -> Option<Ordering>
[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a> TryFrom<&'a [u8]> for &'a Extension<[u8]>
[src]
type Error = Error
The type returned in the event of a conversion error.
pub fn try_from(b: &'a [u8]) -> Result<&'a Extension<[u8]>, Error>
[src]
impl<'a> TryFrom<&'a str> for &'a Extension<[u8]>
[src]
Auto Trait Implementations
impl<T: ?Sized> RefUnwindSafe for Extension<T> where
T: RefUnwindSafe,
[src]
T: RefUnwindSafe,
impl<T: ?Sized> Send for Extension<T> where
T: Send,
[src]
T: Send,
impl<T: ?Sized> Sync for Extension<T> where
T: Sync,
[src]
T: Sync,
impl<T: ?Sized> Unpin for Extension<T> where
T: Unpin,
[src]
T: Unpin,
impl<T: ?Sized> UnwindSafe for Extension<T> where
T: UnwindSafe,
[src]
T: UnwindSafe,
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,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
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.
pub 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>,