[][src]Struct iri_string::types::IriReferenceString

pub struct IriReferenceString(_);

An owned string of an IRI reference.

This corresponds to IRI-reference rule in RFC 3987. This is IRI / irelative-ref In other words, this is union of IriString and `RelativeIriString.

See documentation for IriReferenceStr.

Methods

impl IriReferenceString[src]

pub fn into_iri(self) -> Result<IriString, RelativeIriString>[src]

Returns the string as IriString, if it is valid as an IRI.

If it is not an IRI, then RelativeIriString is returned as Err(_).

pub fn into_relative_iri(self) -> Result<RelativeIriString, IriString>[src]

Returns the string as RelativeIriString, if it is valid as an IRI.

If it is not an IRI, then IriString is returned as Err(_).

pub fn set_fragment(&mut self, fragment: Option<&IriFragmentStr>)[src]

Sets the fragment part to the given string.

Removes fragment part (and following # character) if None is given.

pub fn shrink_to_fit(&mut self)[src]

Shrinks the capacity of the inner buffer to match its length.

Methods from Deref<Target = IriReferenceStr>

pub fn to_iri(&self) -> Result<&IriStr, &RelativeIriStr>[src]

Returns the string as &IriStr, if it is valid as an IRI.

If it is not an IRI, then &RelativeIriStr is returned as Err(_).

pub fn to_relative_iri(&self) -> Result<&RelativeIriStr, &IriStr>[src]

Returns the string as &RelativeIriStr, if it is valid as an IRI.

If it is not an IRI, then &IriStr is returned as Err(_).

pub fn resolve_against(&self, base: &AbsoluteIriStr) -> IriString[src]

Returns resolved IRI against the given base IRI, using strict resolver.

About reference resolution output example, see RFC 3986 section 5.4.

About resolver strictness, see RFC 3986 section 5.4.2:

Some parsers allow the scheme name to be present in a relative reference if it is the same as the base URI scheme. This is considered to be a loophole in prior specifications of partial URI RFC1630. Its use should be avoided but is allowed for backward compatibility.

--- https://tools.ietf.org/html/rfc3986#section-5.4.2

Usual users will want to use strict resolver.

pub fn resolve(&self, base: &AbsoluteIriStr) -> IriString[src]

Deprecated since 0.2.2:

Renamed to resolve_against()

Returns resolved IRI against the given base IRI, using strict resolver.

pub fn fragment(&self) -> Option<&IriFragmentStr>[src]

Returns the fragment part if exists.

A leading # character is truncated if the fragment part exists.

Examples

let iri = IriReferenceStr::new("foo://bar/baz?qux=quux#corge")?;
let fragment = IriFragmentStr::new("corge")?;
assert_eq!(iri.fragment(), Some(fragment));
let iri = IriReferenceStr::new("foo://bar/baz?qux=quux#")?;
let fragment = IriFragmentStr::new("")?;
assert_eq!(iri.fragment(), Some(fragment));
let iri = IriReferenceStr::new("foo://bar/baz?qux=quux")?;
assert_eq!(iri.fragment(), None);
let iri = IriReferenceStr::new("#foo")?;
let fragment = IriFragmentStr::new("foo")?;
assert_eq!(iri.fragment(), Some(fragment));
let iri = IriReferenceStr::new("")?;
assert_eq!(iri.fragment(), None);

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

Returns &str.

Trait Implementations

impl AsRef<str> for IriReferenceString where
    str: AsRef<str>, 

impl AsRef<IriReferenceStr> for IriReferenceString

impl From<AbsoluteIriString> for IriReferenceString[src]

impl From<IriString> for IriReferenceString[src]

impl From<IriReferenceString> for String

impl From<RelativeIriString> for IriReferenceString[src]

impl Clone for IriReferenceString[src]

impl Eq for IriReferenceString[src]

impl Ord for IriReferenceString[src]

impl PartialEq<IriReferenceString> for AbsoluteIriStr[src]

impl PartialEq<AbsoluteIriStr> for IriReferenceString[src]

impl<'_> PartialEq<IriReferenceString> for &'_ AbsoluteIriStr[src]

impl<'_> PartialEq<&'_ AbsoluteIriStr> for IriReferenceString[src]

impl PartialEq<IriReferenceString> for IriStr[src]

impl PartialEq<IriStr> for IriReferenceString[src]

impl<'_> PartialEq<IriReferenceString> for &'_ IriStr[src]

impl<'_> PartialEq<&'_ IriStr> for IriReferenceString[src]

impl PartialEq<IriReferenceString> for IriReferenceString[src]

impl PartialEq<IriReferenceStr> for IriReferenceString

impl PartialEq<IriReferenceString> for IriReferenceStr

impl<'_> PartialEq<&'_ IriReferenceStr> for IriReferenceString

impl<'_> PartialEq<IriReferenceString> for &'_ IriReferenceStr

impl<'_> PartialEq<Cow<'_, IriReferenceStr>> for IriReferenceString

impl<'_> PartialEq<IriReferenceString> for Cow<'_, IriReferenceStr>

impl PartialEq<str> for IriReferenceString

impl PartialEq<IriReferenceString> for str

impl<'_> PartialEq<&'_ str> for IriReferenceString

impl<'_> PartialEq<IriReferenceString> for &'_ str

impl<'_> PartialEq<Cow<'_, str>> for IriReferenceString

impl<'_> PartialEq<IriReferenceString> for Cow<'_, str>

impl PartialEq<IriReferenceString> for RelativeIriStr[src]

impl PartialEq<RelativeIriStr> for IriReferenceString[src]

impl<'_> PartialEq<IriReferenceString> for &'_ RelativeIriStr[src]

impl<'_> PartialEq<&'_ RelativeIriStr> for IriReferenceString[src]

impl PartialOrd<IriReferenceString> for AbsoluteIriStr[src]

impl PartialOrd<AbsoluteIriStr> for IriReferenceString[src]

impl<'_> PartialOrd<IriReferenceString> for &'_ AbsoluteIriStr[src]

impl<'_> PartialOrd<&'_ AbsoluteIriStr> for IriReferenceString[src]

impl PartialOrd<IriReferenceString> for IriStr[src]

impl PartialOrd<IriStr> for IriReferenceString[src]

impl<'_> PartialOrd<IriReferenceString> for &'_ IriStr[src]

impl<'_> PartialOrd<&'_ IriStr> for IriReferenceString[src]

impl PartialOrd<IriReferenceString> for IriReferenceString[src]

impl PartialOrd<IriReferenceStr> for IriReferenceString

impl PartialOrd<IriReferenceString> for IriReferenceStr

impl<'_> PartialOrd<&'_ IriReferenceStr> for IriReferenceString

impl<'_> PartialOrd<IriReferenceString> for &'_ IriReferenceStr

impl<'_> PartialOrd<Cow<'_, IriReferenceStr>> for IriReferenceString

impl<'_> PartialOrd<IriReferenceString> for Cow<'_, IriReferenceStr>

impl PartialOrd<str> for IriReferenceString

impl PartialOrd<IriReferenceString> for str

impl<'_> PartialOrd<&'_ str> for IriReferenceString

impl<'_> PartialOrd<IriReferenceString> for &'_ str

impl<'_> PartialOrd<Cow<'_, str>> for IriReferenceString

impl<'_> PartialOrd<IriReferenceString> for Cow<'_, str>

impl PartialOrd<IriReferenceString> for RelativeIriStr[src]

impl PartialOrd<RelativeIriStr> for IriReferenceString[src]

impl<'_> PartialOrd<IriReferenceString> for &'_ RelativeIriStr[src]

impl<'_> PartialOrd<&'_ RelativeIriStr> for IriReferenceString[src]

impl Display for IriReferenceString where
    IriReferenceStr: Display

impl Debug for IriReferenceString[src]

impl TryFrom<IriReferenceString> for AbsoluteIriString[src]

type Error = IriCreationError<String>

The type returned in the event of a conversion error.

impl TryFrom<IriReferenceString> for IriString[src]

type Error = IriCreationError<String>

The type returned in the event of a conversion error.

impl TryFrom<String> for IriReferenceString

type Error = IriCreationError<String>

The type returned in the event of a conversion error.

impl TryFrom<IriReferenceString> for RelativeIriString[src]

type Error = IriCreationError<String>

The type returned in the event of a conversion error.

impl FromStr for IriReferenceString

type Err = Error

The associated error which can be returned from parsing.

impl Deref for IriReferenceString

type Target = IriReferenceStr

The resulting type after dereferencing.

impl Hash for IriReferenceString[src]

impl StructuralPartialEq for IriReferenceString[src]

impl StructuralEq for IriReferenceString[src]

impl Borrow<str> for IriReferenceString where
    str: Borrow<str>, 

impl Borrow<IriReferenceStr> for IriReferenceString

impl Serialize for IriReferenceString[src]

impl<'de> Deserialize<'de> for IriReferenceString[src]

Auto Trait Implementations

Blanket Implementations

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

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.

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

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

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

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]