Struct sval::Label

source ·
pub struct Label<'computed> { /* private fields */ }
Expand description

A textual label for some value.

Implementations§

source§

impl<'computed> Label<'computed>

source

pub fn to_owned(&self) -> Label<'static>

Create an owned label from this one.

This method will allocate if the label isn’t based on a static string.

source§

impl Label<'static>

source

pub fn new_owned(label: String) -> Self

Create a new label from an owned string value.

source§

impl<'computed> Label<'computed>

source

pub const fn new(label: &'static str) -> Self

Create a new label from a static string value.

For labels that can’t satisfy the 'static lifetime, use Label::new_computed. For labels that need owned values, use Label::new_owned.

source

pub const fn new_computed(label: &'computed str) -> Self

Create a new label from a string value borrowed for the 'computed lifetime.

source

pub const fn as_str(&self) -> &str

Get the value of the label as a string.

source

pub const fn as_static_str(&self) -> Option<&'static str>

Try get the value of the label as a static string.

For labels that were created over computed data this method will return None.

source

pub const fn with_tag(self, tag: &Tag) -> Self

Associate a tag as a hint with this label.

Tags don’t contribute to equality or ordering of labels but streams may use the them when interpreting the label value.

source

pub const fn tag(&self) -> Option<&Tag>

Get the tag hint associated with the label, if present.

Streams may use the tag when interpreting the label value.

source

pub fn try_to_owned(&self) -> Result<Label<'static>>

Try create an owned label from this one.

This method will always return Ok if the alloc feature is enabled. If the alloc feature is not enabled then this method will only return Ok if the underlying value is already 'static.

Trait Implementations§

source§

impl<'a> Borrow<str> for Label<'a>

source§

fn borrow(&self) -> &str

Immutably borrows from an owned value. Read more
source§

impl<'computed> Clone for Label<'computed>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'a> Debug for Label<'a>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'a> Hash for Label<'a>

source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<'a, 'b> PartialEq<Label<'b>> for Label<'a>

source§

fn eq(&self, other: &Label<'b>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<'a> Eq for Label<'a>

source§

impl<'computed> Send for Label<'computed>

source§

impl<'computed> Sync for Label<'computed>

Auto Trait Implementations§

§

impl<'computed> Freeze for Label<'computed>

§

impl<'computed> RefUnwindSafe for Label<'computed>

§

impl<'computed> Unpin for Label<'computed>

§

impl<'computed> UnwindSafe for Label<'computed>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.