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::tuple< otyca::Estimate, 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::Poker > >(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::Smile > >(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::Grin > >(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::Smirk > >(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::Sneer > >(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::Chuckle > >(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::Giggle > >(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::CubicSpline > >(Template Class Susp)public otyca::Susp< std::shared_ptr< otyca::VolatilitySmile > >(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::NelsonSiegel > >(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::tuple< otyca::Estimate, otyca::Estimate, otyca::Estimate > >, otyca::Susp< std::shared_ptr< otyca::StochasticProcess > >, otyca::Susp< std::shared_ptr< otyca::Poker > >, otyca::Susp< std::shared_ptr< otyca::Smile > >, otyca::Susp< std::shared_ptr< otyca::Grin > >, otyca::Susp< std::shared_ptr< otyca::Smirk > >, otyca::Susp< std::shared_ptr< otyca::Sneer > >, otyca::Susp< std::shared_ptr< otyca::Chuckle > >, otyca::Susp< std::shared_ptr< otyca::Giggle > >, otyca::Susp< std::shared_ptr< otyca::CubicSpline > >, otyca::Susp< std::shared_ptr< otyca::VolatilitySmile > >, 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::NelsonSiegel > >, 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