Skip to main content

FormatDescriptionV3Inner

Enum FormatDescriptionV3Inner 

Source
#[non_exhaustive]
pub enum FormatDescriptionV3Inner<'a> { Component(Component), BorrowedLiteral(&'a str), BorrowedCompound(&'a [Self]), BorrowedOptional { format: bool, item: &'a Self, }, BorrowedFirst(&'a [Self]), OwnedLiteral(Box<str>), OwnedCompound(Box<[Self]>), OwnedOptional { format: bool, item: Box<Self>, }, OwnedFirst(Box<[Self]>), }
Available on crate features formatting or parsing only.
Expand description

The inner enum of a version 3 format description. Controls all business logic.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Component(Component)

A minimal representation of a single non-literal item.

§

BorrowedLiteral(&'a str)

A string that is formatted as-is.

§

BorrowedCompound(&'a [Self])

A series of literals or components that collectively form a partial or complete description.

§

BorrowedOptional

An item that may or may not be present when parsing. If parsing fails, there will be no effect on the resulting struct.

Fields

§format: bool

Whether the item should be formatted.

§item: &'a Self

The item in question.

§

BorrowedFirst(&'a [Self])

A series of items where, when parsing, the first successful parse is used. When formatting, the first item is used. If no items are present, both formatting and parsing are no-ops.

§

OwnedLiteral(Box<str>)

Available on crate feature alloc only.

A string that is formatted as-is.

§

OwnedCompound(Box<[Self]>)

Available on crate feature alloc only.

A series of literals or components that collectively form a partial or complete description.

§

OwnedOptional

Available on crate feature alloc only.

An item that may or may not be present when parsing. If parsing fails, there will be no effect on the resulting struct.

Fields

§format: bool

Whether the item should be formatted.

§item: Box<Self>

The item in question.

§

OwnedFirst(Box<[Self]>)

Available on crate feature alloc only.

A series of items where, when parsing, the first successful parse is used. When formatting, the first item is used. If no items are present, both formatting and parsing are no-ops.

Implementations§

Source§

impl<'a> FormatDescriptionV3Inner<'a>

Source

fn to_owned(&self) -> FormatDescriptionV3Inner<'static>

Available on crate feature alloc only.

Convert the format description to an owned version, enabling it to be stored without regard for lifetime.

Source

pub const fn into_opaque(self) -> FormatDescriptionV3<'a>

Convert the inner enum to a FormatDescriptionV3.

Source

const fn max_bytes_needed(&self) -> usize

Available on crate feature formatting only.

Obtain the maximum number of bytes that are needed to format any value using this format description.

Trait Implementations§

Source§

impl<'a> Clone for FormatDescriptionV3Inner<'a>

Source§

fn clone(&self) -> FormatDescriptionV3Inner<'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 ComputeMetadata for FormatDescriptionV3Inner<'_>

Available on crate feature formatting only.
Source§

fn compute_metadata(&self) -> Metadata

Compute the metadata for a format description.
Source§

impl Debug for FormatDescriptionV3Inner<'_>

Source§

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

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

impl Sealed for FormatDescriptionV3Inner<'_>

Available on crate feature formatting only.
Source§

fn format_into<V>( &self, output: &mut (impl Write + ?Sized), value: &V, state: &mut V::State, ) -> Result<usize, Format>

Format the item into the provided output, returning the number of bytes written.
Source§

fn format<V>(&self, value: &V, state: &mut V::State) -> Result<String, Format>

Format the item directly to a String.
Source§

impl<'a> TryFrom<Box<[Item<'a>]>> for FormatDescriptionV3Inner<'a>

Available on crate feature alloc only.
Source§

type Error = Error

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

fn try_from(items: Box<[Item<'a>]>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<Item<'a>> for FormatDescriptionV3Inner<'a>

Available on crate feature alloc only.
Source§

type Error = Error

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

fn try_from(item: Item<'a>) -> Result<Self, Self::Error>

Performs the conversion.

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> SizedTypeProperties for T

Source§

#[doc(hidden)]
const SIZE: usize = _

🔬This is a nightly-only experimental API. (sized_type_properties)
Source§

#[doc(hidden)]
const ALIGN: usize = _

🔬This is a nightly-only experimental API. (sized_type_properties)
Source§

#[doc(hidden)]
const ALIGNMENT: Alignment = _

🔬This is a nightly-only experimental API. (ptr_alignment_type)
Source§

#[doc(hidden)]
const IS_ZST: bool = _

🔬This is a nightly-only experimental API. (sized_type_properties)
true if this type requires no storage. false if its size is greater than zero. Read more
Source§

#[doc(hidden)]
const LAYOUT: Layout = _

🔬This is a nightly-only experimental API. (sized_type_properties)
Source§

#[doc(hidden)]
const MAX_SLICE_LEN: usize = _

🔬This is a nightly-only experimental API. (sized_type_properties)
The largest safe length for a [Self]. Read more
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.