quantsupport 0.1.7

Rust quantitative finance library for derivatives pricing, yield-curve bootstrapping, AAD risk, Monte Carlo exposure, and XVA.
Documentation
use crate::{
    core::{
        pricingcontext::PricingContext, evaluationresults::EvaluationResults, request::Request,
    },
    utils::errors::Result,
};

/// A marker trait for visitor types.
pub trait Visitor {}

/// A [`Visitable`] struct. This is reserved for later use.
pub trait Visitable<P: Visitor> {
    /// Accepts a visitor.
    ///
    /// ## Errors
    /// Returns a [`QSError`](crate::utils::errors::QSError) if the visit operation fails.
    fn accept(
        &self,
        visitor: &P,
        requests: &[Request],
        ctx: &PricingContext,
    ) -> Result<EvaluationResults>;
}