use crate::{TimeIndexable, TimeScale};
pub trait CurrentTimeIndex: TimeIndexable {
fn get_current_year_index(&self) -> Option<&usize> {
let key = TimeScale::Year as usize;
self.get_time_index(&key, true)
}
fn get_current_month_index(&self) -> Option<&usize> {
let key = TimeScale::Month as usize;
self.get_time_index(&key, true)
}
fn get_current_week_index(&self) -> Option<&usize> {
let key = TimeScale::Week as usize;
self.get_time_index(&key, true)
}
fn get_current_day_index(&self) -> Option<&usize> {
let key = TimeScale::Day as usize;
self.get_time_index(&key, true)
}
fn get_current_hour_index(&self) -> Option<&usize> {
let key = TimeScale::Hour as usize;
self.get_time_index(&key, true)
}
fn get_current_minute_index(&self) -> Option<&usize> {
let key = TimeScale::Minute as usize;
self.get_time_index(&key, true)
}
fn set_current_year_index(&mut self, index: usize) {
let key = TimeScale::Year as usize;
self.set_time_index(key, index, true)
}
fn set_current_month_index(&mut self, index: usize) {
let key = TimeScale::Month as usize;
self.set_time_index(key, index, true)
}
fn set_current_week_index(&mut self, index: usize) {
let key = TimeScale::Week as usize;
self.set_time_index(key, index, true)
}
fn set_current_day_index(&mut self, index: usize) {
let key = TimeScale::Day as usize;
self.set_time_index(key, index, true)
}
fn set_current_hour_index(&mut self, index: usize) {
let key = TimeScale::Hour as usize;
self.set_time_index(key, index, true)
}
fn set_current_minute_index(&mut self, index: usize) {
let key = TimeScale::Minute as usize;
self.set_time_index(key, index, true)
}
}