Class SuspBase
Defined in File susp.hpp
Inheritance Relationships
Derived Types
public otyca::Susp< std::vector< double > >
(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::PieceWiseYieldCurve > >
(Template Class Susp)public otyca::Susp< ImpliedVolatility >
(Template Class Susp)public otyca::Susp< double >
(Template Class Susp)public otyca::Susp< int >
(Template Class Susp)public otyca::Susp< otyca::DividendTable >
(Template Class Susp)public otyca::Susp< TDeps >
(Template Class Susp)public otyca::Susp< KDeps >
(Template Class Susp)public otyca::Susp< VDeps >
(Template Class Susp)public otyca::Susp< TGrid >
(Template Class Susp)public otyca::Susp< SGrid >
(Template Class Susp)public otyca::Susp< std::pair< GridResults, GridResults > >
(Template Class Susp)public otyca::Susp< otyca::Estimate >
(Template Class Susp)public otyca::Susp< otyca::Dividend >
(Template Class Susp)public otyca::Susp< std::pair< otyca::Estimate, otyca::Estimate > >
(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::StochasticProcess > >
(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::SABR1 > >
(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::SimplifiedSVI > >
(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::SVI > >
(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::AffineSVI > >
(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::QuadraticSVI > >
(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::Polynomial > >
(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::CubicSpline > >
(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::CompositeModel< 1 > > >
(Template Class Susp)public otyca::Susp< otyca::Model< 1 >::CalibrationInput >
(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::OptionCalculator< SPOT_VOLATILITY > > >
(Template Class Susp)public otyca::Susp< RelativeStrikeData >
(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::Schedule< otyca::Dividend > > >
(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::Schedule< otyca::Estimate > > >
(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::PieceWiseTermStructure > >
(Template Class Susp)public otyca::Susp< otyca::Model< 2 >::CalibrationInput >
(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::StochasticProcessPricer > >
(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::BumpModel > >
(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::BoundedSchedule< otyca::Event > > >
(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::BoundedSchedule< std::shared_ptr< otyca::TimeBoundedBimodalGaussian > > > >
(Template Class Susp)public otyca::Susp< T >
(Template Class Susp)
Class Documentation
-
class SuspBase
Base class for dependency-aware suspended (lazy) values.
Maintains a list of dependent objects which should be reset when this value becomes invalid.
Subclassed by otyca::Susp< std::vector< double > >, otyca::Susp< std::shared_ptr< otyca::PieceWiseYieldCurve > >, otyca::Susp< ImpliedVolatility >, otyca::Susp< double >, otyca::Susp< int >, otyca::Susp< otyca::DividendTable >, otyca::Susp< TDeps >, otyca::Susp< KDeps >, otyca::Susp< VDeps >, otyca::Susp< TGrid >, otyca::Susp< SGrid >, otyca::Susp< std::pair< GridResults, GridResults > >, otyca::Susp< otyca::Estimate >, otyca::Susp< otyca::Dividend >, otyca::Susp< std::pair< otyca::Estimate, otyca::Estimate > >, otyca::Susp< std::shared_ptr< otyca::StochasticProcess > >, otyca::Susp< std::shared_ptr< otyca::SABR1 > >, otyca::Susp< std::shared_ptr< otyca::SimplifiedSVI > >, otyca::Susp< std::shared_ptr< otyca::SVI > >, otyca::Susp< std::shared_ptr< otyca::AffineSVI > >, otyca::Susp< std::shared_ptr< otyca::QuadraticSVI > >, otyca::Susp< std::shared_ptr< otyca::Polynomial > >, otyca::Susp< std::shared_ptr< otyca::CubicSpline > >, otyca::Susp< std::shared_ptr< otyca::CompositeModel< 1 > > >, otyca::Susp< otyca::Model< 1 >::CalibrationInput >, otyca::Susp< std::shared_ptr< otyca::OptionCalculator< SPOT_VOLATILITY > > >, otyca::Susp< RelativeStrikeData >, otyca::Susp< std::shared_ptr< otyca::Schedule< otyca::Dividend > > >, otyca::Susp< std::shared_ptr< otyca::Schedule< otyca::Estimate > > >, otyca::Susp< std::shared_ptr< otyca::PieceWiseTermStructure > >, otyca::Susp< otyca::Model< 2 >::CalibrationInput >, otyca::Susp< std::shared_ptr< otyca::StochasticProcessPricer > >, otyca::Susp< std::shared_ptr< otyca::BumpModel > >, otyca::Susp< std::shared_ptr< otyca::BoundedSchedule< otyca::Event > > >, otyca::Susp< std::shared_ptr< otyca::BoundedSchedule< std::shared_ptr< otyca::TimeBoundedBimodalGaussian > > > >, otyca::Susp< T >
Public Functions
-
virtual void reset() const = 0
Virtual destructor-like interface for resetting derived objects.
-
inline void remove_dependents()
Removes all dependents.
-
inline void add_dependent(SuspBase *dependent) const
Registers a dependent object that should be notified when this is reset.
- Parameters:
dependent – Pointer to the dependent object.
-
inline void add_dependency(SuspBase *dependency)
Registers this object as a dependent of another object.
- Parameters:
dependency – Pointer to the object this depends on.
-
virtual void reset() const = 0