Struct RiRelativeString
struct RiRelativeString<S> { ... }
An owned string of a relative IRI reference.
This corresponds to irelative-ref rule in RFC 3987
(and relative-ref rule in RFC 3986).
The rule for irelative-ref is irelative-part [ "?" iquery ] [ "#" ifragment ].
For details, see the document for RiRelativeStr.
Enabled by alloc or std feature.
Implementations
impl RiRelativeString<IriSpec>
fn encode_to_uri_inline(self: &mut Self)Percent-encodes the IRI into a valid URI that identifies the equivalent resource.
After the encode, the IRI is also a valid URI.
If you want a new URI string rather than modifying the IRI string, or if you need more precise control over memory allocation and buffer handling, use [
encode_to_uri]IriRelativeStr::encode_to_urimethod.Panics
Panics if the memory allocation failed.
Examples
# use Error; # Ok::fn try_encode_to_uri_inline(self: &mut Self) -> Result<(), TryReserveError>Percent-encodes the IRI into a valid URI that identifies the equivalent resource.
After the encode, the IRI is also a valid URI.
If you want a new URI string rather than modifying the IRI string, or if you need more precise control over memory allocation and buffer handling, use [
encode_to_uri]IriRelativeStr::encode_to_urimethod.Examples
# use Error; # Ok::fn encode_into_uri(self: Self) -> UriRelativeStringPercent-encodes the IRI into a valid URI that identifies the equivalent resource.
If you want a new URI string rather than modifying the IRI string, or if you need more precise control over memory allocation and buffer handling, use [
encode_to_uri]IriRelativeStr::encode_to_urimethod.Examples
# use Error; # Ok::fn try_encode_into_uri(self: Self) -> Result<UriRelativeString, TryReserveError>Percent-encodes the IRI into a valid URI that identifies the equivalent resource.
If you want a new URI string rather than modifying the IRI string, or if you need more precise control over memory allocation and buffer handling, use [
encode_to_uri]IriRelativeStr::encode_to_urimethod.Examples
# use Error; # Ok::fn try_into_uri(self: Self) -> Result<UriRelativeString, IriRelativeString>Converts an IRI into a URI without modification, if possible.
Examples
# use Error; use ; let ascii_iri = try_from?; assert_eq!; let nonascii_iri = try_from?; assert_eq!; # Ok::
impl<S: Spec> RiRelativeString<S>
fn set_fragment(self: &mut Self, fragment: Option<&RiFragmentStr<S>>)Sets the fragment part to the given string.
Removes fragment part (and following
#character) ifNoneis given.Examples
# use Error; # # Ok::Fragment can be empty, and it is distinguished from the absense of a fragment.
# use Error; # # Ok::fn remove_password_inline(self: &mut Self)Removes the password completely (including separator colon) from
selfeven if it is empty.Examples
# use Error; # # Ok::Even if the password is empty, the password and separator will be removed.
# use Error; # # Ok::fn remove_nonempty_password_inline(self: &mut Self)Replaces the non-empty password in
selfto the empty password.This leaves the separator colon if the password part was available.
Examples
# use Error; # # Ok::If the password is empty, it is left as is.
# use Error; # # Ok::
impl<S: crate::spec::Spec> RiRelativeString<S>
unsafe fn new_unchecked(s: String) -> SelfCreates a new string without validation.
This does not validate the given string, so it is caller's responsibility to ensure the given string is valid.
Safety
The given string must be syntactically valid as
Selftype. If not, any use of the returned value or the call of this function itself may result in undefined behavior.fn shrink_to_fit(self: &mut Self)Shrinks the capacity of the inner buffer to match its length.
fn capacity(self: &Self) -> usizeReturns the internal buffer capacity in bytes.
fn as_slice(self: &Self) -> &RiRelativeStr<S>Returns the borrowed IRI string slice.
This is equivalent to
&*self.
impl<P, T> Receiver for RiRelativeString<S>
impl<S> Freeze for RiRelativeString<S>
impl<S> RefUnwindSafe for RiRelativeString<S>
impl<S> Send for RiRelativeString<S>
impl<S> Sync for RiRelativeString<S>
impl<S> Unpin for RiRelativeString<S>
impl<S> UnsafeUnpin for RiRelativeString<S>
impl<S> UnwindSafe for RiRelativeString<S>
impl<S: Spec> From for RiRelativeString<S>
fn from(builder: &Built<'_, RiRelativeStr<S>>) -> Self
impl<S: Spec> From for RiRelativeString<S>
fn from(builder: Built<'_, RiRelativeStr<S>>) -> Self
impl<S: Spec, C: Context> TryFrom for RiRelativeString<S>
fn try_from(v: Expanded<'_, S, C>) -> Result<Self, <Self as >::Error>
impl<S: crate::spec::Spec> AsRef for RiRelativeString<S>
fn as_ref(self: &Self) -> &RiRelativeStr<S>
impl<S: crate::spec::Spec> AsRef for RiRelativeString<S>
fn as_ref(self: &Self) -> &str
impl<S: crate::spec::Spec> AsRef for RiRelativeString<S>
fn as_ref(self: &Self) -> &RiReferenceStr<S>
impl<S: crate::spec::Spec> Borrow for RiRelativeString<S>
fn borrow(self: &Self) -> &RiRelativeStr<S>
impl<S: crate::spec::Spec> Borrow for RiRelativeString<S>
fn borrow(self: &Self) -> &str
impl<S: crate::spec::Spec> Clone for RiRelativeString<S>
fn clone(self: &Self) -> Self
impl<S: crate::spec::Spec> Debug for RiRelativeString<S>
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl<S: crate::spec::Spec> Deref for RiRelativeString<S>
fn deref(self: &Self) -> &RiRelativeStr<S>
impl<S: crate::spec::Spec> Display for RiRelativeString<S>
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl<S: crate::spec::Spec> Eq for RiRelativeString<S>
impl<S: crate::spec::Spec> From for RiRelativeString<S>
fn from(s: &RiRelativeStr<S>) -> Self
impl<S: crate::spec::Spec> FromStr for RiRelativeString<S>
fn from_str(s: &str) -> Result<Self, <Self as >::Err>
impl<S: crate::spec::Spec> Hash for RiRelativeString<S>
fn hash<H: core::hash::Hasher>(self: &Self, state: &mut H)
impl<S: crate::spec::Spec> Ord for RiRelativeString<S>
fn cmp(self: &Self, other: &Self) -> Ordering
impl<S: crate::spec::Spec> PartialEq for RiRelativeString<S>
fn eq(self: &Self, o: &String) -> bool
impl<S: crate::spec::Spec> PartialEq for RiRelativeString<S>
fn eq(self: &Self, o: &Cow<'_, str>) -> bool
impl<S: crate::spec::Spec> PartialEq for RiRelativeString<S>
fn eq(self: &Self, o: &&str) -> bool
impl<S: crate::spec::Spec> PartialEq for RiRelativeString<S>
fn eq(self: &Self, o: &str) -> bool
impl<S: crate::spec::Spec> PartialOrd for RiRelativeString<S>
fn partial_cmp(self: &Self, o: &String) -> Option<Ordering>
impl<S: crate::spec::Spec> PartialOrd for RiRelativeString<S>
fn partial_cmp(self: &Self, o: &Cow<'_, str>) -> Option<Ordering>
impl<S: crate::spec::Spec> PartialOrd for RiRelativeString<S>
fn partial_cmp(self: &Self, o: &&str) -> Option<Ordering>
impl<S: crate::spec::Spec> PartialOrd for RiRelativeString<S>
fn partial_cmp(self: &Self, o: &str) -> Option<Ordering>
impl<S: crate::spec::Spec> TryFrom for RiRelativeString<S>
fn try_from(s: &str) -> Result<Self, <Self as >::Error>
impl<S: crate::spec::Spec> TryFrom for RiRelativeString<S>
fn try_from(bytes: &[u8]) -> Result<Self, <Self as >::Error>
impl<S: crate::spec::Spec> TryFrom for RiRelativeString<S>
fn try_from(s: RiReferenceString<S>) -> Result<Self, <Self as >::Error>
impl<S: crate::spec::Spec> TryFrom for RiRelativeString<S>
fn try_from(s: String) -> Result<Self, <Self as >::Error>
impl<S: crate::spec::Spec, T: crate::spec::Spec> PartialEq for RiRelativeString<S>
fn eq(self: &Self, o: &RiReferenceString<T>) -> bool
impl<S: crate::spec::Spec, T: crate::spec::Spec> PartialEq for RiRelativeString<S>
fn eq(self: &Self, o: &&RiReferenceStr<T>) -> bool
impl<S: crate::spec::Spec, T: crate::spec::Spec> PartialEq for RiRelativeString<S>
fn eq(self: &Self, o: &RiReferenceStr<T>) -> bool
impl<S: crate::spec::Spec, T: crate::spec::Spec> PartialEq for RiRelativeString<S>
fn eq(self: &Self, other: &RiRelativeString<T>) -> bool
impl<S: crate::spec::Spec, T: crate::spec::Spec> PartialEq for RiRelativeString<S>
fn eq(self: &Self, o: &Cow<'_, RiReferenceStr<T>>) -> bool
impl<S: crate::spec::Spec, T: crate::spec::Spec> PartialEq for RiRelativeString<T>
fn eq(self: &Self, o: &Cow<'_, RiRelativeStr<S>>) -> bool
impl<S: crate::spec::Spec, T: crate::spec::Spec> PartialEq for RiRelativeString<T>
fn eq(self: &Self, o: &&RiRelativeStr<S>) -> bool
impl<S: crate::spec::Spec, T: crate::spec::Spec> PartialEq for RiRelativeString<T>
fn eq(self: &Self, o: &RiRelativeStr<S>) -> bool
impl<S: crate::spec::Spec, T: crate::spec::Spec> PartialOrd for RiRelativeString<S>
fn partial_cmp(self: &Self, o: &Cow<'_, RiReferenceStr<T>>) -> Option<Ordering>
impl<S: crate::spec::Spec, T: crate::spec::Spec> PartialOrd for RiRelativeString<S>
fn partial_cmp(self: &Self, o: &RiReferenceString<T>) -> Option<Ordering>
impl<S: crate::spec::Spec, T: crate::spec::Spec> PartialOrd for RiRelativeString<S>
fn partial_cmp(self: &Self, other: &RiRelativeString<T>) -> Option<Ordering>
impl<S: crate::spec::Spec, T: crate::spec::Spec> PartialOrd for RiRelativeString<S>
fn partial_cmp(self: &Self, o: &&RiReferenceStr<T>) -> Option<Ordering>
impl<S: crate::spec::Spec, T: crate::spec::Spec> PartialOrd for RiRelativeString<S>
fn partial_cmp(self: &Self, o: &RiReferenceStr<T>) -> Option<Ordering>
impl<S: crate::spec::Spec, T: crate::spec::Spec> PartialOrd for RiRelativeString<T>
fn partial_cmp(self: &Self, o: &Cow<'_, RiRelativeStr<S>>) -> Option<Ordering>
impl<S: crate::spec::Spec, T: crate::spec::Spec> PartialOrd for RiRelativeString<T>
fn partial_cmp(self: &Self, o: &&RiRelativeStr<S>) -> Option<Ordering>
impl<S: crate::spec::Spec, T: crate::spec::Spec> PartialOrd for RiRelativeString<T>
fn partial_cmp(self: &Self, o: &RiRelativeStr<S>) -> Option<Ordering>
impl<T> Any for RiRelativeString<S>
fn type_id(self: &Self) -> TypeId
impl<T> Borrow for RiRelativeString<S>
fn borrow(self: &Self) -> &T
impl<T> BorrowMut for RiRelativeString<S>
fn borrow_mut(self: &mut Self) -> &mut T
impl<T> CloneToUninit for RiRelativeString<S>
unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)
impl<T> From for RiRelativeString<S>
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for RiRelativeString<S>
fn to_owned(self: &Self) -> Tfn clone_into(self: &Self, target: &mut T)
impl<T> ToString for RiRelativeString<S>
fn to_string(self: &Self) -> String
impl<T> ToStringFallible for RiRelativeString<S>
fn try_to_string(self: &Self) -> Result<String, TryReserveError>[
ToString::to_string]alloc::string::ToString::to_string, but without panic on OOM.
impl<T, U> Into for RiRelativeString<S>
fn into(self: Self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom for RiRelativeString<S>
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for RiRelativeString<S>
fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>