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]>),
}
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>)

A string that is formatted as-is.

§

OwnedCompound(Box<[Self]>)

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

§

OwnedOptional

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]>)

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 make_owned_in_place(&mut self)

Recursively convert to an owned version, doing so in-place when possible.

Source

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

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

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<'_>

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<'_>

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<'_>

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.

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.