icu::datetime::scaffold

Trait DateTimeNamesFrom

Source
pub trait DateTimeNamesFrom<M>: DateTimeNamesMarker{
Show 15 methods // Required methods fn map_year_names( other: <<M as DateTimeNamesMarker>::YearNames as NamesContainer<YearNamesV1, YearNameLength>>::Container, ) -> <Self::YearNames as NamesContainer<YearNamesV1, YearNameLength>>::Container; fn map_month_names( other: <<M as DateTimeNamesMarker>::MonthNames as NamesContainer<MonthNamesV1, MonthNameLength>>::Container, ) -> <Self::MonthNames as NamesContainer<MonthNamesV1, MonthNameLength>>::Container; fn map_weekday_names( other: <<M as DateTimeNamesMarker>::WeekdayNames as NamesContainer<WeekdayNamesV1, WeekdayNameLength>>::Container, ) -> <Self::WeekdayNames as NamesContainer<WeekdayNamesV1, WeekdayNameLength>>::Container; fn map_day_period_names( other: <<M as DateTimeNamesMarker>::DayPeriodNames as NamesContainer<DayPeriodNamesV1, DayPeriodNameLength>>::Container, ) -> <Self::DayPeriodNames as NamesContainer<DayPeriodNamesV1, DayPeriodNameLength>>::Container; fn map_zone_essentials( other: <<M as DateTimeNamesMarker>::ZoneEssentials as NamesContainer<TimeZoneEssentialsV1, ()>>::Container, ) -> <Self::ZoneEssentials as NamesContainer<TimeZoneEssentialsV1, ()>>::Container; fn map_zone_locations( other: <<M as DateTimeNamesMarker>::ZoneLocations as NamesContainer<LocationsV1, ()>>::Container, ) -> <Self::ZoneLocations as NamesContainer<LocationsV1, ()>>::Container; fn map_zone_locations_root( other: <<M as DateTimeNamesMarker>::ZoneLocationsRoot as NamesContainer<LocationsRootV1, ()>>::Container, ) -> <Self::ZoneLocationsRoot as NamesContainer<LocationsRootV1, ()>>::Container; fn map_zone_exemplars( other: <<M as DateTimeNamesMarker>::ZoneExemplars as NamesContainer<ExemplarCitiesV1, ()>>::Container, ) -> <Self::ZoneExemplars as NamesContainer<ExemplarCitiesV1, ()>>::Container; fn map_zone_exemplars_root( other: <<M as DateTimeNamesMarker>::ZoneExemplarsRoot as NamesContainer<ExemplarCitiesRootV1, ()>>::Container, ) -> <Self::ZoneExemplarsRoot as NamesContainer<ExemplarCitiesRootV1, ()>>::Container; fn map_zone_generic_long( other: <<M as DateTimeNamesMarker>::ZoneGenericLong as NamesContainer<MetazoneGenericNamesLongV1, ()>>::Container, ) -> <Self::ZoneGenericLong as NamesContainer<MetazoneGenericNamesLongV1, ()>>::Container; fn map_zone_generic_short( other: <<M as DateTimeNamesMarker>::ZoneGenericShort as NamesContainer<MetazoneGenericNamesShortV1, ()>>::Container, ) -> <Self::ZoneGenericShort as NamesContainer<MetazoneGenericNamesShortV1, ()>>::Container; fn map_zone_standard_long( other: <<M as DateTimeNamesMarker>::ZoneStandardLong as NamesContainer<MetazoneStandardNamesLongV1, ()>>::Container, ) -> <Self::ZoneStandardLong as NamesContainer<MetazoneStandardNamesLongV1, ()>>::Container; fn map_zone_specific_long( other: <<M as DateTimeNamesMarker>::ZoneSpecificLong as NamesContainer<MetazoneSpecificNamesLongV1, ()>>::Container, ) -> <Self::ZoneSpecificLong as NamesContainer<MetazoneSpecificNamesLongV1, ()>>::Container; fn map_zone_specific_short( other: <<M as DateTimeNamesMarker>::ZoneSpecificShort as NamesContainer<MetazoneSpecificNamesShortV1, ()>>::Container, ) -> <Self::ZoneSpecificShort as NamesContainer<MetazoneSpecificNamesShortV1, ()>>::Container; fn map_metazone_lookup( other: <<M as DateTimeNamesMarker>::MetazoneLookup as NamesContainer<MetazonePeriodV1, ()>>::Container, ) -> <Self::MetazoneLookup as NamesContainer<MetazonePeriodV1, ()>>::Container;
}
Expand description

A trait for a DateTimeNamesMarker that can be created from a more specific one, M.

This trait is blanket-implemented on all field sets that are more general than M.

§Examples

Example pairs of field sets where the trait is implemented:

use icu::datetime::fieldsets::enums::CompositeDateTimeFieldSet;
use icu::datetime::fieldsets::enums::CompositeFieldSet;
use icu::datetime::fieldsets::enums::DateFieldSet;
use icu::datetime::fieldsets::enums::TimeFieldSet;
use icu::datetime::fieldsets::T;
use icu::datetime::fieldsets::YMD;
use icu::datetime::scaffold::DateTimeNamesFrom;
use icu::datetime::scaffold::DateTimeNamesMarker;

fn is_trait_implemented<Source, Target>()
where
    Source: DateTimeNamesMarker,
    Target: DateTimeNamesFrom<Source>,
{
}

is_trait_implemented::<YMD, DateFieldSet>();
is_trait_implemented::<YMD, CompositeDateTimeFieldSet>();
is_trait_implemented::<YMD, CompositeFieldSet>();
is_trait_implemented::<T, TimeFieldSet>();
is_trait_implemented::<T, CompositeDateTimeFieldSet>();
is_trait_implemented::<T, CompositeFieldSet>();
is_trait_implemented::<DateFieldSet, CompositeDateTimeFieldSet>();
is_trait_implemented::<DateFieldSet, CompositeFieldSet>();
is_trait_implemented::<TimeFieldSet, CompositeDateTimeFieldSet>();
is_trait_implemented::<TimeFieldSet, CompositeFieldSet>();

Required Methods§

Source

fn map_year_names( other: <<M as DateTimeNamesMarker>::YearNames as NamesContainer<YearNamesV1, YearNameLength>>::Container, ) -> <Self::YearNames as NamesContainer<YearNamesV1, YearNameLength>>::Container

Source

fn map_month_names( other: <<M as DateTimeNamesMarker>::MonthNames as NamesContainer<MonthNamesV1, MonthNameLength>>::Container, ) -> <Self::MonthNames as NamesContainer<MonthNamesV1, MonthNameLength>>::Container

Source

fn map_weekday_names( other: <<M as DateTimeNamesMarker>::WeekdayNames as NamesContainer<WeekdayNamesV1, WeekdayNameLength>>::Container, ) -> <Self::WeekdayNames as NamesContainer<WeekdayNamesV1, WeekdayNameLength>>::Container

Source

fn map_day_period_names( other: <<M as DateTimeNamesMarker>::DayPeriodNames as NamesContainer<DayPeriodNamesV1, DayPeriodNameLength>>::Container, ) -> <Self::DayPeriodNames as NamesContainer<DayPeriodNamesV1, DayPeriodNameLength>>::Container

Source

fn map_zone_essentials( other: <<M as DateTimeNamesMarker>::ZoneEssentials as NamesContainer<TimeZoneEssentialsV1, ()>>::Container, ) -> <Self::ZoneEssentials as NamesContainer<TimeZoneEssentialsV1, ()>>::Container

Source

fn map_zone_locations( other: <<M as DateTimeNamesMarker>::ZoneLocations as NamesContainer<LocationsV1, ()>>::Container, ) -> <Self::ZoneLocations as NamesContainer<LocationsV1, ()>>::Container

Source

fn map_zone_locations_root( other: <<M as DateTimeNamesMarker>::ZoneLocationsRoot as NamesContainer<LocationsRootV1, ()>>::Container, ) -> <Self::ZoneLocationsRoot as NamesContainer<LocationsRootV1, ()>>::Container

Source

fn map_zone_exemplars( other: <<M as DateTimeNamesMarker>::ZoneExemplars as NamesContainer<ExemplarCitiesV1, ()>>::Container, ) -> <Self::ZoneExemplars as NamesContainer<ExemplarCitiesV1, ()>>::Container

Source

fn map_zone_exemplars_root( other: <<M as DateTimeNamesMarker>::ZoneExemplarsRoot as NamesContainer<ExemplarCitiesRootV1, ()>>::Container, ) -> <Self::ZoneExemplarsRoot as NamesContainer<ExemplarCitiesRootV1, ()>>::Container

Source

fn map_zone_generic_long( other: <<M as DateTimeNamesMarker>::ZoneGenericLong as NamesContainer<MetazoneGenericNamesLongV1, ()>>::Container, ) -> <Self::ZoneGenericLong as NamesContainer<MetazoneGenericNamesLongV1, ()>>::Container

Source

fn map_zone_generic_short( other: <<M as DateTimeNamesMarker>::ZoneGenericShort as NamesContainer<MetazoneGenericNamesShortV1, ()>>::Container, ) -> <Self::ZoneGenericShort as NamesContainer<MetazoneGenericNamesShortV1, ()>>::Container

Source

fn map_zone_standard_long( other: <<M as DateTimeNamesMarker>::ZoneStandardLong as NamesContainer<MetazoneStandardNamesLongV1, ()>>::Container, ) -> <Self::ZoneStandardLong as NamesContainer<MetazoneStandardNamesLongV1, ()>>::Container

Source

fn map_zone_specific_long( other: <<M as DateTimeNamesMarker>::ZoneSpecificLong as NamesContainer<MetazoneSpecificNamesLongV1, ()>>::Container, ) -> <Self::ZoneSpecificLong as NamesContainer<MetazoneSpecificNamesLongV1, ()>>::Container

Source

fn map_zone_specific_short( other: <<M as DateTimeNamesMarker>::ZoneSpecificShort as NamesContainer<MetazoneSpecificNamesShortV1, ()>>::Container, ) -> <Self::ZoneSpecificShort as NamesContainer<MetazoneSpecificNamesShortV1, ()>>::Container

Source

fn map_metazone_lookup( other: <<M as DateTimeNamesMarker>::MetazoneLookup as NamesContainer<MetazonePeriodV1, ()>>::Container, ) -> <Self::MetazoneLookup as NamesContainer<MetazonePeriodV1, ()>>::Container

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<M, T> DateTimeNamesFrom<M> for T
where M: DateTimeNamesMarker, T: DateTimeNamesMarker, <<T as DateTimeNamesMarker>::YearNames as NamesContainer<YearNamesV1, YearNameLength>>::Container: From<<<M as DateTimeNamesMarker>::YearNames as NamesContainer<YearNamesV1, YearNameLength>>::Container>, <<T as DateTimeNamesMarker>::MonthNames as NamesContainer<MonthNamesV1, MonthNameLength>>::Container: From<<<M as DateTimeNamesMarker>::MonthNames as NamesContainer<MonthNamesV1, MonthNameLength>>::Container>, <<T as DateTimeNamesMarker>::WeekdayNames as NamesContainer<WeekdayNamesV1, WeekdayNameLength>>::Container: From<<<M as DateTimeNamesMarker>::WeekdayNames as NamesContainer<WeekdayNamesV1, WeekdayNameLength>>::Container>, <<T as DateTimeNamesMarker>::DayPeriodNames as NamesContainer<DayPeriodNamesV1, DayPeriodNameLength>>::Container: From<<<M as DateTimeNamesMarker>::DayPeriodNames as NamesContainer<DayPeriodNamesV1, DayPeriodNameLength>>::Container>, <<T as DateTimeNamesMarker>::ZoneEssentials as NamesContainer<TimeZoneEssentialsV1, ()>>::Container: From<<<M as DateTimeNamesMarker>::ZoneEssentials as NamesContainer<TimeZoneEssentialsV1, ()>>::Container>, <<T as DateTimeNamesMarker>::ZoneLocations as NamesContainer<LocationsV1, ()>>::Container: From<<<M as DateTimeNamesMarker>::ZoneLocations as NamesContainer<LocationsV1, ()>>::Container>, <<T as DateTimeNamesMarker>::ZoneLocationsRoot as NamesContainer<LocationsRootV1, ()>>::Container: From<<<M as DateTimeNamesMarker>::ZoneLocationsRoot as NamesContainer<LocationsRootV1, ()>>::Container>, <<T as DateTimeNamesMarker>::ZoneExemplars as NamesContainer<ExemplarCitiesV1, ()>>::Container: From<<<M as DateTimeNamesMarker>::ZoneExemplars as NamesContainer<ExemplarCitiesV1, ()>>::Container>, <<T as DateTimeNamesMarker>::ZoneExemplarsRoot as NamesContainer<ExemplarCitiesRootV1, ()>>::Container: From<<<M as DateTimeNamesMarker>::ZoneExemplarsRoot as NamesContainer<ExemplarCitiesRootV1, ()>>::Container>, <<T as DateTimeNamesMarker>::ZoneGenericLong as NamesContainer<MetazoneGenericNamesLongV1, ()>>::Container: From<<<M as DateTimeNamesMarker>::ZoneGenericLong as NamesContainer<MetazoneGenericNamesLongV1, ()>>::Container>, <<T as DateTimeNamesMarker>::ZoneGenericShort as NamesContainer<MetazoneGenericNamesShortV1, ()>>::Container: From<<<M as DateTimeNamesMarker>::ZoneGenericShort as NamesContainer<MetazoneGenericNamesShortV1, ()>>::Container>, <<T as DateTimeNamesMarker>::ZoneStandardLong as NamesContainer<MetazoneStandardNamesLongV1, ()>>::Container: From<<<M as DateTimeNamesMarker>::ZoneStandardLong as NamesContainer<MetazoneStandardNamesLongV1, ()>>::Container>, <<T as DateTimeNamesMarker>::ZoneSpecificLong as NamesContainer<MetazoneSpecificNamesLongV1, ()>>::Container: From<<<M as DateTimeNamesMarker>::ZoneSpecificLong as NamesContainer<MetazoneSpecificNamesLongV1, ()>>::Container>, <<T as DateTimeNamesMarker>::ZoneSpecificShort as NamesContainer<MetazoneSpecificNamesShortV1, ()>>::Container: From<<<M as DateTimeNamesMarker>::ZoneSpecificShort as NamesContainer<MetazoneSpecificNamesShortV1, ()>>::Container>, <<T as DateTimeNamesMarker>::MetazoneLookup as NamesContainer<MetazonePeriodV1, ()>>::Container: From<<<M as DateTimeNamesMarker>::MetazoneLookup as NamesContainer<MetazonePeriodV1, ()>>::Container>,