Skip to main content

FormatDescriptionV3Inner

Enum FormatDescriptionV3Inner 

Source
#[non_exhaustive]
pub enum FormatDescriptionV3Inner<'a> {
Show 45 variants Day(Day), MonthShort(MonthShort), MonthLong(MonthLong), MonthNumerical(MonthNumerical), Ordinal(Ordinal), WeekdayShort(WeekdayShort), WeekdayLong(WeekdayLong), WeekdaySunday(WeekdaySunday), WeekdayMonday(WeekdayMonday), WeekNumberIso(WeekNumberIso), WeekNumberSunday(WeekNumberSunday), WeekNumberMonday(WeekNumberMonday), CalendarYearFullExtendedRange(CalendarYearFullExtendedRange), CalendarYearFullStandardRange(CalendarYearFullStandardRange), IsoYearFullExtendedRange(IsoYearFullExtendedRange), IsoYearFullStandardRange(IsoYearFullStandardRange), CalendarYearCenturyExtendedRange(CalendarYearCenturyExtendedRange), CalendarYearCenturyStandardRange(CalendarYearCenturyStandardRange), IsoYearCenturyExtendedRange(IsoYearCenturyExtendedRange), IsoYearCenturyStandardRange(IsoYearCenturyStandardRange), CalendarYearLastTwo(CalendarYearLastTwo), IsoYearLastTwo(IsoYearLastTwo), Hour12(Hour12), Hour24(Hour24), Minute(Minute), Period(Period), Second(Second), Subsecond(Subsecond), OffsetHour(OffsetHour), OffsetMinute(OffsetMinute), OffsetSecond(OffsetSecond), Ignore(Ignore), UnixTimestampSecond(UnixTimestampSecond), UnixTimestampMillisecond(UnixTimestampMillisecond), UnixTimestampMicrosecond(UnixTimestampMicrosecond), UnixTimestampNanosecond(UnixTimestampNanosecond), End(End), 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.
§

Day(Day)

Day of the month.

§

MonthShort(MonthShort)

Month of the year in the abbreviated form (e.g. “Jan”).

§

MonthLong(MonthLong)

Month of the year in the full form (e.g. “January”).

§

MonthNumerical(MonthNumerical)

Month of the year in the numerical form (e.g. “1” for January).

§

Ordinal(Ordinal)

Ordinal day of the year.

§

WeekdayShort(WeekdayShort)

Weekday in the abbreviated form (e.g. “Mon”).

§

WeekdayLong(WeekdayLong)

Weekday in the full form (e.g. “Monday”).

§

WeekdaySunday(WeekdaySunday)

Weekday number where Sunday is either 0 or 1 depending on the modifier.

§

WeekdayMonday(WeekdayMonday)

Weekday number where Monday is either 0 or 1 depending on the modifier.

§

WeekNumberIso(WeekNumberIso)

Week number of the year, where week 1 starts is the week beginning on Monday that contains January 4.

§

WeekNumberSunday(WeekNumberSunday)

Week number of the year, where week 1 starts on the first Sunday of the calendar year.

§

WeekNumberMonday(WeekNumberMonday)

Week number of the year, where week 1 starts on the first Monday of the calendar year.

§

CalendarYearFullExtendedRange(CalendarYearFullExtendedRange)

The calendar year. Supports the extended range.

§

CalendarYearFullStandardRange(CalendarYearFullStandardRange)

The calendar year. Does not support the extended range.

§

IsoYearFullExtendedRange(IsoYearFullExtendedRange)

The ISO week-based year. Supports the extended range.

§

IsoYearFullStandardRange(IsoYearFullStandardRange)

The ISO week-based year. Does not support the extended range.

§

CalendarYearCenturyExtendedRange(CalendarYearCenturyExtendedRange)

The century of the calendar year. Supports the extended range.

§

CalendarYearCenturyStandardRange(CalendarYearCenturyStandardRange)

The century of the calendar year. Does not support the extended range.

§

IsoYearCenturyExtendedRange(IsoYearCenturyExtendedRange)

The century of the ISO week-based year. Supports the extended range.

§

IsoYearCenturyStandardRange(IsoYearCenturyStandardRange)

The century of the ISO week-based year. Does not support the extended range.

§

CalendarYearLastTwo(CalendarYearLastTwo)

The last two digits of the calendar year.

§

IsoYearLastTwo(IsoYearLastTwo)

The last two digits of the ISO week-based year.

§

Hour12(Hour12)

Hour of the day using the 12-hour clock.

§

Hour24(Hour24)

Hour of the day using the 24-hour clock.

§

Minute(Minute)

Minute within the hour.

§

Period(Period)

AM/PM part of the time.

§

Second(Second)

Second within the minute.

§

Subsecond(Subsecond)

Subsecond within the second.

§

OffsetHour(OffsetHour)

Hour of the UTC offset.

§

OffsetMinute(OffsetMinute)

Minute within the hour of the UTC offset.

§

OffsetSecond(OffsetSecond)

Second within the minute of the UTC offset.

§

Ignore(Ignore)

A number of bytes to ignore when parsing. This has no effect on formatting.

§

UnixTimestampSecond(UnixTimestampSecond)

A Unix timestamp in seconds.

§

UnixTimestampMillisecond(UnixTimestampMillisecond)

A Unix timestamp in milliseconds.

§

UnixTimestampMicrosecond(UnixTimestampMicrosecond)

A Unix timestamp in microseconds.

§

UnixTimestampNanosecond(UnixTimestampNanosecond)

A Unix timestamp in nanoseconds.

§

End(End)

The end of input. Parsing this component will fail if there is any input remaining. This component neither affects formatting nor consumes any input when parsing.

§

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

pub(super) fn into_owned(self) -> FormatDescriptionV3Inner<'static>

Available on crate feature alloc only.

Convert the format description to an owned version in place, replacing borrowed components with their owned equivalents.

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 (const: unstable) · 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 From<Component> for FormatDescriptionV3Inner<'_>

Source§

fn from(component: Component) -> Self

Converts to this type from the input type.
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 TryFrom<AstComponent> for FormatDescriptionV3Inner<'_>

Available on crate feature alloc only.
Source§

type Error = Error

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

fn try_from(component: AstComponent) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a, const VERSION: u8> TryFrom<Item<'a, VERSION>> 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, VERSION>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a, const VERSION: u8> TryFrom<Vec<Item<'a, VERSION>>> 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: Vec<Item<'a, VERSION>>) -> 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.