use derive_builder::Builder;
use time::Date;
use RustQuant_instruments::Currency;
use RustQuant_time::{
Calendar, DateGenerationConvention, DateRollingConvention, DayCountConvention, Frequency,
Schedule,
};
#[derive(Builder, Clone)]
pub struct ContextData<C>
where
C: Calendar,
{
#[builder(default)]
pub calendar: Option<C>,
#[builder(default)]
pub evaluation_date: Option<Date>,
#[builder(default)]
pub currency: Option<Currency>,
#[builder(default)]
pub frequency: Option<Frequency>,
#[builder(default)]
pub schedule: Option<Schedule>,
#[builder(default)]
pub day_count_convention: Option<DayCountConvention>,
#[builder(default)]
pub date_rolling_convention: Option<DateRollingConvention>,
#[builder(default)]
pub date_generation_convention: Option<DateGenerationConvention>,
}