[−][src]Struct oxilangtag::LanguageTag
A RFC 5646 language tag.
Example:
use oxilangtag::LanguageTag; let language_tag = LanguageTag::parse("en-us").unwrap(); assert_eq!("en-us", language_tag.into_inner())
Methods
impl<T: Deref<Target = str>> LanguageTag<T>
[src]
pub fn parse(tag: T) -> Result<Self, LanguageTagParseError>
[src]
Parses a language tag acccording to RFC 5646. and checks if the tag is "well-formed".
This operation keeps internally the tag
parameter and does not allocate on the heap.
Example:
use oxilangtag::LanguageTag; let language_tag = LanguageTag::parse("en-us").unwrap(); assert_eq!("en-us", language_tag.into_inner())
pub fn as_str(&self) -> &str
[src]
Returns the underlying language tag representation.
pub fn into_inner(self) -> T
[src]
Returns the underlying language tag representation.
pub fn primary_language(&self) -> &str
[src]
Returns the primary language subtag.
pub fn extended_language(&self) -> Option<&str>
[src]
Returns the extended language subtags.
Valid language tags have at most one extended language.
pub fn extended_language_subtags(&self) -> impl Iterator<Item = &str>
[src]
Iterates on the extended language subtags.
Valid language tags have at most one extended language.
pub fn full_language(&self) -> &str
[src]
Returns the primary language subtag and its extended language subtags.
pub fn script(&self) -> Option<&str>
[src]
Returns the script subtag.
pub fn region(&self) -> Option<&str>
[src]
Returns the region subtag.
pub fn variant(&self) -> Option<&str>
[src]
Returns the variant subtags.
pub fn variant_subtags(&self) -> impl Iterator<Item = &str>
[src]
Iterates on the variant subtags.
pub fn extension(&self) -> Option<&str>
[src]
Returns the extension subtags.
pub fn extension_subtags(&self) -> impl Iterator<Item = (char, &str)>
[src]
Iterates on the extension subtags.
pub fn private_use(&self) -> Option<&str>
[src]
Returns the private use subtags.
pub fn private_use_subtags(&self) -> impl Iterator<Item = &str>
[src]
Iterates on the private use subtags.
impl LanguageTag<String>
[src]
pub fn parse_and_normalize(tag: &str) -> Result<Self, LanguageTagParseError>
[src]
Parses a language tag acccording to RFC 5646 and normalizes its case.
This parser accepts the language tags that are "well-formed" according to RFC 5646.
This operation does heap allocation.
Example:
use oxilangtag::LanguageTag; let language_tag = LanguageTag::parse_and_normalize("en-us").unwrap(); assert_eq!("en-US", language_tag.into_inner())
Trait Implementations
impl<T: Deref<Target = str>> AsRef<T> for LanguageTag<T>
[src]
impl<T: Clone + Deref<Target = str>> Clone for LanguageTag<T>
[src]
fn clone(&self) -> LanguageTag<T>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<T: Debug + Deref<Target = str>> Debug for LanguageTag<T>
[src]
impl<T: Deref<Target = str> + Display> Display for LanguageTag<T>
[src]
impl<T: Eq + Deref<Target = str>> Eq for LanguageTag<T>
[src]
impl FromStr for LanguageTag<String>
[src]
type Err = LanguageTagParseError
The associated error which can be returned from parsing.
fn from_str(tag: &str) -> Result<Self, LanguageTagParseError>
[src]
impl<T: Hash + Deref<Target = str>> Hash for LanguageTag<T>
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<T: PartialEq + Deref<Target = str>> PartialEq<LanguageTag<T>> for LanguageTag<T>
[src]
fn eq(&self, other: &LanguageTag<T>) -> bool
[src]
fn ne(&self, other: &LanguageTag<T>) -> bool
[src]
impl<T: Deref<Target = str>> StructuralEq for LanguageTag<T>
[src]
impl<T: Deref<Target = str>> StructuralPartialEq for LanguageTag<T>
[src]
Auto Trait Implementations
impl<T> RefUnwindSafe for LanguageTag<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for LanguageTag<T> where
T: Send,
T: Send,
impl<T> Sync for LanguageTag<T> where
T: Sync,
T: Sync,
impl<T> Unpin for LanguageTag<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for LanguageTag<T> where
T: UnwindSafe,
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,
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> 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>,