Class SuspBase

Inheritance Relationships

Derived Types

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.

inline void remove_dependent(SuspBase *dependent) const

Removes a specific dependent.

Parameters:

dependent – Pointer to the dependent object.

inline void reset_dependents() const

Calls reset() on all dependent objects.