Skip to main content

MeetingSchedule

Struct MeetingSchedule 

pub struct MeetingSchedule {
    bank: CentralBank,
    decisions: Vec<NaiveDate>,
    effective: Vec<NaiveDate>,
}
Expand description

A central bank’s schedule: its published decision days, with the effective date each opens a window on derived by the bank’s rule on its home calendar. The knots it yields sit on the effective dates and carry the decisions’ identities.

Fields§

§bank: CentralBank§decisions: Vec<NaiveDate>§effective: Vec<NaiveDate>

Each decision’s effective date, in step with decisions — resolved once on the bank’s home calendar, since every window, knot and locator reads them.

Implementations§

§

impl MeetingSchedule

pub fn new(bank: CentralBank, decisions: &[NaiveDate]) -> Self

A schedule for bank from its published decision days, sorted with duplicates collapsed.

pub fn seeded(bank: CentralBank) -> Option<Self>

The embedded seed of published decision days for a seeded bank (Fed/Ecb/Boe), or None for any other bank. The seed is a convenience as-of 2026-06 and the default where a market pins no schedule; pin new with the bank’s published dates for anything beyond it.

§Panics

Never in practice. The seed tables are (year, month, day) literals in this file; a panic would mean one was edited to a date that does not exist.

pub fn for_bank(code: &str) -> Result<Self, VocabularyParseError>

The seeded schedule of the bank code names (FED, ECB, BOE).

§Errors

VocabularyParseError naming the seeded banks, for a bank with no seeded schedule.

pub fn bank(&self) -> &CentralBank

The deciding bank.

pub fn decisions(&self) -> &[NaiveDate]

The decision days, strictly ascending.

pub fn effective_of(&self, decision: NaiveDate) -> NaiveDate

The effective date of decision under the bank’s rule on its home calendar — read from the schedule for one of its own decisions.

pub fn effective_dates(&self) -> &[NaiveDate]

The effective dates, one per decision, strictly ascending.

pub fn decision_opening(&self, effective: NaiveDate) -> Option<NaiveDate>

The decision whose window opens on effective, if one does.

pub fn windows(&self) -> Vec<(NaiveDate, NaiveDate, NaiveDate)>

The windows the schedule describes: (effective_i, effective_{i+1}, decision_i) for each decision but the last, whose window has no end the schedule knows.

pub fn knots(&self) -> Vec<KnottedDate>

The knots, strictly ascending by date: each decision’s effective date carrying KnotKind::Meeting named by the decision.

pub fn between(&self, start: NaiveDate, end: NaiveDate) -> Vec<KnottedDate>

The knots whose effective date falls in [start, end] (inclusive), retaining order — the window a curve over a finite horizon actually pillars.

fn knots_where(&self, keep: impl Fn(NaiveDate) -> bool) -> Vec<KnottedDate>

The knots on the effective dates keep accepts, strictly ascending.

Trait Implementations§

§

impl Clone for MeetingSchedule

§

fn clone(&self) -> MeetingSchedule

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
§

impl Debug for MeetingSchedule

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
§

impl Eq for MeetingSchedule

§

impl PartialEq for MeetingSchedule

§

fn eq(&self, other: &MeetingSchedule) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl StructuralPartialEq for MeetingSchedule

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.