Skip to main content

WritableAttributeValue

Enum WritableAttributeValue 

Source
pub enum WritableAttributeValue<'a> {
    DecimalInteger(u64),
    SignedDecimalFloatingPoint(f64),
    DecimalResolution(DecimalResolution),
    QuotedString(Cow<'a, str>),
    UnquotedString(Cow<'a, str>),
}
Expand description

Provides a writable version of AttributeValue.

This is provided so that custom tag implementations may provide an output that does not depend on having parsed data to derive the write output from. This helps with mutability as well as allowing for custom tags to be constructed from scratch (without being parsed from source data).

While AttributeValue is mostly just a wrapper around a borrowed slice of bytes, WritableAttributeValue is an enumeration of more value types, as this helps keep converting from a custom tag more easy (otherwise all users of the library would need to manage re-constructing the playlist line directly).

Variants§

§

DecimalInteger(u64)

A decimal integer.

From Section 4.2, this represents:

  • decimal-integer
§

SignedDecimalFloatingPoint(f64)

A signed float.

From Section 4.2, this represents:

  • decimal-floating-point
  • signed-decimal-floating-point
§

DecimalResolution(DecimalResolution)

A decimal resolution.

From Section 4.2, this represents:

  • decimal-resolution
§

QuotedString(Cow<'a, str>)

A quoted string.

From Section 4.2, this represents:

  • quoted-string
  • enumerated-string-list
§

UnquotedString(Cow<'a, str>)

An unquoted string.

From Section 4.2, this represents:

  • hexadecimal-sequence
  • enumerated-string

Note, this case can be used as an “escape hatch” to write any of the other cases that resolve from unquoted, but those are provided as convenience.

Also note, the library does not validate for correctness of the input value, so take care to not introduce new lines or invalid characters (e.g. whitespace) as this will lead to an invalid HLS playlist.

Trait Implementations§

Source§

impl<'a> Clone for WritableAttributeValue<'a>

Source§

fn clone(&self) -> WritableAttributeValue<'a>

Returns a duplicate 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 WritableAttributeValue<'a>

Source§

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

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

impl From<DecimalResolution> for WritableAttributeValue<'_>

Source§

fn from(value: DecimalResolution) -> Self

Converts to this type from the input type.
Source§

impl From<f64> for WritableAttributeValue<'_>

Source§

fn from(value: f64) -> Self

Converts to this type from the input type.
Source§

impl From<u64> for WritableAttributeValue<'_>

Source§

fn from(value: u64) -> Self

Converts to this type from the input type.
Source§

impl<'a> PartialEq for WritableAttributeValue<'a>

Source§

fn eq(&self, other: &WritableAttributeValue<'a>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a> StructuralPartialEq for WritableAttributeValue<'a>

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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,

Source§

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>,

Source§

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>,

Source§

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.