Struct NullCalendar
pub struct NullCalendar;Expand description
A calendar on which every day is a business day.
Trait Implementations§
§impl Calendar for NullCalendar
impl Calendar for NullCalendar
§fn is_weekend(&self, _date: NaiveDate) -> bool
fn is_weekend(&self, _date: NaiveDate) -> bool
Whether
date is a weekend (Saturday or Sunday by default).§fn is_business_day(&self, _date: NaiveDate) -> bool
fn is_business_day(&self, _date: NaiveDate) -> bool
Whether
date is a good business day (not a weekend, not a holiday).§fn business_days_between_inc(
&self,
from: NaiveDate,
to: NaiveDate,
include_first: bool,
include_last: bool,
) -> i64
fn business_days_between_inc( &self, from: NaiveDate, to: NaiveDate, include_first: bool, include_last: bool, ) -> i64
The number of business days between
from and to with caller-controlled
inclusion of each endpoint. When
to < from the count is the negation of the forward count with the
inclusion flags swapped; when to == from the result is 1 only if both
endpoints are included and the date is a business day. The two-argument
Calendar::business_days_between is the [start, end) case
(include_first = true, include_last = false).§fn is_holiday(&self, _date: NaiveDate) -> bool
fn is_holiday(&self, _date: NaiveDate) -> bool
Whether
date is closed for a reason beyond the weekend: a listed
closure, not a Saturday. A weekend day carrying no listed closure is not
a holiday, and the default answers false for every date accordingly. Read more§fn adjust(
&self,
date: NaiveDate,
convention: BusinessDayConvention,
) -> NaiveDate
fn adjust( &self, date: NaiveDate, convention: BusinessDayConvention, ) -> NaiveDate
Rolls
date to a business day per convention.§fn advance(
&self,
date: NaiveDate,
period: Period,
convention: BusinessDayConvention,
end_of_month: bool,
) -> NaiveDate
fn advance( &self, date: NaiveDate, period: Period, convention: BusinessDayConvention, end_of_month: bool, ) -> NaiveDate
§fn advance_with_roll(
&self,
date: NaiveDate,
period: Period,
roll: RollConvention,
convention: BusinessDayConvention,
end_of_month: bool,
) -> NaiveDate
fn advance_with_roll( &self, date: NaiveDate, period: Period, roll: RollConvention, convention: BusinessDayConvention, end_of_month: bool, ) -> NaiveDate
Advances
date by period, snaps the result by roll, then adjusts it
per convention — the roll-aware form of Calendar::advance, which is
this method under RollConvention::None. Read more§fn end_of_month(&self, date: NaiveDate) -> NaiveDate
fn end_of_month(&self, date: NaiveDate) -> NaiveDate
The last business day of
date’s month — the latest good business
day in the month (weekends and holidays rolled back). Read more§fn is_end_of_month(&self, date: NaiveDate) -> bool
fn is_end_of_month(&self, date: NaiveDate) -> bool
Whether
date is the last business day of its month (its business
end-of-month). Strict: a trailing
weekend day after the last business day is not end-of-month (use
Calendar::is_month_end_anchor for the end-of-month roll gate, which
also fires on those trailing days).§fn is_month_end_anchor(&self, date: NaiveDate) -> bool
fn is_month_end_anchor(&self, date: NaiveDate) -> bool
Whether
date anchors the end-of-month roll: it is on or after its
month’s last business day. This fires for the last business day and any
trailing weekend/holiday days (so a month-end falling on a weekend, e.g.
Sat 28-Feb, still anchors the rule), matching the end-of-month advance
behaviour in Calendar::advance.§fn next_business_day(&self, date: NaiveDate) -> NaiveDate
fn next_business_day(&self, date: NaiveDate) -> NaiveDate
The first business day on or after
date.§fn previous_business_day(&self, date: NaiveDate) -> NaiveDate
fn previous_business_day(&self, date: NaiveDate) -> NaiveDate
The first business day on or before
date.§fn add_business_days(&self, date: NaiveDate, n: i64) -> NaiveDate
fn add_business_days(&self, date: NaiveDate, n: i64) -> NaiveDate
Shifts
date by n good business days, skipping weekends and holidays.
Negative n looks backward; n == 0 returns date unchanged (even if it
is itself a holiday). Each counted step lands on a business day — this is
the primitive a fixing lag (e.g. -2 business days off the reset anchor)
is built on.§fn business_days_between(&self, start: NaiveDate, end: NaiveDate) -> i64
fn business_days_between(&self, start: NaiveDate, end: NaiveDate) -> i64
The number of business days in the half-open interval
[start, end).
Returns 0 when start >= end. This is the count BUS/252 divides by
252. The default iterates day by day; the data-backed calendars
(DataCalendar, JointCalendar) override it with an O(1)
prefix-sum subtraction over their precomputed business-day grid.§impl Clone for NullCalendar
impl Clone for NullCalendar
§fn clone(&self) -> NullCalendar
fn clone(&self) -> NullCalendar
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for NullCalendar
§impl Debug for NullCalendar
impl Debug for NullCalendar
§impl Default for NullCalendar
impl Default for NullCalendar
§fn default() -> NullCalendar
fn default() -> NullCalendar
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for NullCalendar
impl RefUnwindSafe for NullCalendar
impl Send for NullCalendar
impl Sync for NullCalendar
impl Unpin for NullCalendar
impl UnsafeUnpin for NullCalendar
impl UnwindSafe for NullCalendar
Blanket Implementations§
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
Mutably borrows from an owned value. Read more