pub struct TabularAlgorithm { /* private fields */ }Expand description
Hijri Rules for the Tabular Hijri Algorithm.
See TabularAlgorithmEpoch and TabularAlgorithmLeapYears for customization.
The most common version of these rules uses TabularAlgorithmEpoch::Friday and TabularAlgorithmLeapYears::TypeII.
Tabular Islamic rules are used in denominations such as Dawoodi Bohra and other branches of Ismailism. Be sure to select the correct leap year and epoch parameters according to your use case. If this type does not implement the parameters you need, please file an issue.
When constructed with TabularAlgorithmLeapYears::TypeII, and either TabularAlgorithmEpoch::Friday or TabularAlgorithmEpoch::Thursday,
this corresponds to the "islamic-civil" and "islamic-tbla" CLDR calendars respectively.
Implementations§
Source§impl TabularAlgorithm
impl TabularAlgorithm
Sourcepub const fn new(
leap_years: TabularAlgorithmLeapYears,
epoch: TabularAlgorithmEpoch,
) -> TabularAlgorithm
pub const fn new( leap_years: TabularAlgorithmLeapYears, epoch: TabularAlgorithmEpoch, ) -> TabularAlgorithm
Construct a new TabularAlgorithm with the given leap year rule and epoch.
Trait Implementations§
Source§impl Clone for TabularAlgorithm
impl Clone for TabularAlgorithm
Source§fn clone(&self) -> TabularAlgorithm
fn clone(&self) -> TabularAlgorithm
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for TabularAlgorithm
Source§impl Debug for TabularAlgorithm
impl Debug for TabularAlgorithm
impl Eq for TabularAlgorithm
Source§impl FormattableHijriRules for TabularAlgorithm
impl FormattableHijriRules for TabularAlgorithm
Source§type YearNamesV1 = DatetimeNamesYearHijriV1
type YearNamesV1 = DatetimeNamesYearHijriV1
Source§type MonthNamesV1 = DatetimeNamesMonthHijriV1
type MonthNamesV1 = DatetimeNamesMonthHijriV1
Source§type SkeletaV1 = DatetimePatternsDateHijriV1
type SkeletaV1 = DatetimePatternsDateHijriV1
Source§type RangeSkeletaV1 = DatetimePatternsRangeDateHijriV1
type RangeSkeletaV1 = DatetimePatternsRangeDateHijriV1
Source§impl Hash for TabularAlgorithm
impl Hash for TabularAlgorithm
Source§impl Ord for TabularAlgorithm
impl Ord for TabularAlgorithm
Source§fn cmp(&self, other: &TabularAlgorithm) -> Ordering
fn cmp(&self, other: &TabularAlgorithm) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for TabularAlgorithm
impl PartialEq for TabularAlgorithm
Source§impl PartialOrd for TabularAlgorithm
impl PartialOrd for TabularAlgorithm
Source§impl Rules for TabularAlgorithm
impl Rules for TabularAlgorithm
Source§type DateCompatibilityError = MismatchedCalendarError
type DateCompatibilityError = MismatchedCalendarError
Self::check_date_compatibility. Read moreSource§fn calendar_algorithm(&self) -> Option<CalendarAlgorithm>
fn calendar_algorithm(&self) -> Option<CalendarAlgorithm>
CalendarAlgorithm for the Hijri calendar using these rules, if defined.Source§fn ecma_reference_year(
&self,
month: Month,
day: u8,
) -> Result<i32, EcmaReferenceYearError>
fn ecma_reference_year( &self, month: Month, day: u8, ) -> Result<i32, EcmaReferenceYearError>
Source§fn debug_name(&self) -> &'static str
fn debug_name(&self) -> &'static str
Source§fn check_date_compatibility(
&self,
other: &TabularAlgorithm,
) -> Result<(), <TabularAlgorithm as Rules>::DateCompatibilityError>
fn check_date_compatibility( &self, other: &TabularAlgorithm, ) -> Result<(), <TabularAlgorithm as Rules>::DateCompatibilityError>
impl StructuralPartialEq for TabularAlgorithm
impl UnstableSealed for TabularAlgorithm
impl UnstableSealed for TabularAlgorithm
Auto Trait Implementations§
impl Freeze for TabularAlgorithm
impl RefUnwindSafe for TabularAlgorithm
impl Send for TabularAlgorithm
impl Sync for TabularAlgorithm
impl Unpin for TabularAlgorithm
impl UnsafeUnpin for TabularAlgorithm
impl UnwindSafe for TabularAlgorithm
Blanket Implementations§
impl<T, R> AllInputMarkers<R> for Twhere
R: DateTimeMarkers,
<R as DateTimeMarkers>::D: DateInputMarkers,
<R as DateTimeMarkers>::T: TimeMarkers,
<R as DateTimeMarkers>::Z: ZoneMarkers,
T: GetField<<<R as DateTimeMarkers>::D as DateInputMarkers>::YearInput> + GetField<<<R as DateTimeMarkers>::D as DateInputMarkers>::MonthInput> + GetField<<<R as DateTimeMarkers>::D as DateInputMarkers>::DayOfMonthInput> + GetField<<<R as DateTimeMarkers>::D as DateInputMarkers>::DayOfWeekInput> + GetField<<<R as DateTimeMarkers>::D as DateInputMarkers>::DayOfYearInput> + GetField<<<R as DateTimeMarkers>::D as DateInputMarkers>::RataDieInput> + GetField<<<R as DateTimeMarkers>::T as TimeMarkers>::HourInput> + GetField<<<R as DateTimeMarkers>::T as TimeMarkers>::MinuteInput> + GetField<<<R as DateTimeMarkers>::T as TimeMarkers>::SecondInput> + GetField<<<R as DateTimeMarkers>::T as TimeMarkers>::NanosecondInput> + GetField<<<R as DateTimeMarkers>::Z as ZoneMarkers>::TimeZoneIdInput> + GetField<<<R as DateTimeMarkers>::Z as ZoneMarkers>::TimeZoneOffsetInput> + GetField<<<R as DateTimeMarkers>::Z as ZoneMarkers>::TimeZoneNameTimestampInput>,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> GetField<T> for Twhere
T: Copy + UnstableSealed,
impl<T> GetField<T> for Twhere
T: Copy + UnstableSealed,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more