Coverage Report

Created: 2026-06-23 06:40

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/quantlib/ql/handle.hpp
Line
Count
Source
1
/* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
3
/*
4
 Copyright (C) 2000, 2001, 2002, 2003 RiskMap srl
5
 Copyright (C) 2003, 2004, 2005, 2006, 2007 StatPro Italia srl
6
7
 This file is part of QuantLib, a free-software/open-source library
8
 for financial quantitative analysts and developers - http://quantlib.org/
9
10
 QuantLib is free software: you can redistribute it and/or modify it
11
 under the terms of the QuantLib license.  You should have received a
12
 copy of the license along with this program; if not, please email
13
 <quantlib-dev@lists.sf.net>. The license is also available online at
14
 <https://www.quantlib.org/license.shtml>.
15
16
 This program is distributed in the hope that it will be useful, but WITHOUT
17
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
18
 FOR A PARTICULAR PURPOSE.  See the license for more details.
19
*/
20
21
/*! \file handle.hpp
22
    \brief Globally accessible relinkable pointer
23
*/
24
25
#ifndef quantlib_handle_hpp
26
#define quantlib_handle_hpp
27
28
#include <ql/patterns/observable.hpp>
29
30
namespace QuantLib {
31
32
    //! Shared handle to an observable
33
    /*! All copies of an instance of this class refer to the same
34
        observable by means of a relinkable smart pointer. When such
35
        pointer is relinked to another observable, the change will be
36
        propagated to all the copies.
37
38
        \pre Class T must inherit from Observable
39
    */
40
    template <class T>
41
    class Handle {
42
      protected:
43
        class Link : public Observable, public Observer {
44
          public:
45
            Link(const ext::shared_ptr<T>& h,
46
                 bool registerAsObserver);
47
            Link(ext::shared_ptr<T>&& h,
48
                 bool registerAsObserver);
49
            void linkTo(ext::shared_ptr<T>,
50
                        bool registerAsObserver);
51
17.3M
            bool empty() const { return !h_; }
QuantLib::Handle<QuantLib::Quote>::Link::empty() const
Line
Count
Source
51
5.76M
            bool empty() const { return !h_; }
QuantLib::Handle<QuantLib::YieldTermStructure>::Link::empty() const
Line
Count
Source
51
6.59M
            bool empty() const { return !h_; }
Unexecuted instantiation: QuantLib::Handle<QuantLib::OptionletVolatilityStructure>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CPIVolatilitySurface>::Link::empty() const
QuantLib::Handle<QuantLib::BlackVolTermStructure>::Link::empty() const
Line
Count
Source
51
4.96M
            bool empty() const { return !h_; }
Unexecuted instantiation: QuantLib::Handle<QuantLib::YoYOptionletVolatilitySurface>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::DeltaVolQuote>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CallableBondVolatilityStructure>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::ShortRateModel>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::Basket>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::DefaultProbabilityTermStructure>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::RecoveryRateQuote>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::OneFactorCopula>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::KlugeExtOUProcess>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::ExtOUWithJumpsProcess>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::ExtendedOrnsteinUhlenbeckProcess>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::ZeroInflationTermStructure>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CPICapFloorTermPriceSurface>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::BlackAtmVolCurve>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::InterestRateVolSurface>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::AbcdAtmVolCurve>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::YoYInflationTermStructure>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::LiborForwardModel>::Link::empty() const
QuantLib::Handle<QuantLib::LocalVolTermStructure>::Link::empty() const
Line
Count
Source
51
620
            bool empty() const { return !h_; }
QuantLib::Handle<QuantLib::GeneralizedBlackScholesProcess>::Link::empty() const
Line
Count
Source
51
3.39k
            bool empty() const { return !h_; }
Unexecuted instantiation: QuantLib::Handle<QuantLib::BatesProcess>::Link::empty() const
QuantLib::Handle<QuantLib::FdmQuantoHelper>::Link::empty() const
Line
Count
Source
51
3.39k
            bool empty() const { return !h_; }
Unexecuted instantiation: QuantLib::Handle<QuantLib::G2>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonProcess>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HullWhiteProcess>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CoxIngersollRossProcess>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HullWhite>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonModel>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::AffineModel>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::Gaussian1dModel>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::PricingEngine>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::OneFactorAffineModel>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::GJRGARCHModel>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::PiecewiseTimeDependentHestonModel>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::BatesModel>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::BlackVarianceCurve>::Link::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CapFloorTermVolCurve>::Link::empty() const
52
17.3M
            const ext::shared_ptr<T>& currentLink() const { return h_; }
QuantLib::Handle<QuantLib::Quote>::Link::currentLink() const
Line
Count
Source
52
5.76M
            const ext::shared_ptr<T>& currentLink() const { return h_; }
QuantLib::Handle<QuantLib::YieldTermStructure>::Link::currentLink() const
Line
Count
Source
52
6.59M
            const ext::shared_ptr<T>& currentLink() const { return h_; }
Unexecuted instantiation: QuantLib::Handle<QuantLib::OptionletVolatilityStructure>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CPIVolatilitySurface>::Link::currentLink() const
QuantLib::Handle<QuantLib::BlackVolTermStructure>::Link::currentLink() const
Line
Count
Source
52
4.96M
            const ext::shared_ptr<T>& currentLink() const { return h_; }
Unexecuted instantiation: QuantLib::Handle<QuantLib::YoYOptionletVolatilitySurface>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::DeltaVolQuote>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CallableBondVolatilityStructure>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::ShortRateModel>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::Basket>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::DefaultProbabilityTermStructure>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::RecoveryRateQuote>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::OneFactorCopula>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::KlugeExtOUProcess>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::ExtOUWithJumpsProcess>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::ExtendedOrnsteinUhlenbeckProcess>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::ZeroInflationTermStructure>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CPICapFloorTermPriceSurface>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::BlackAtmVolCurve>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::InterestRateVolSurface>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::AbcdAtmVolCurve>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::YoYInflationTermStructure>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::LiborForwardModel>::Link::currentLink() const
QuantLib::Handle<QuantLib::LocalVolTermStructure>::Link::currentLink() const
Line
Count
Source
52
620
            const ext::shared_ptr<T>& currentLink() const { return h_; }
QuantLib::Handle<QuantLib::GeneralizedBlackScholesProcess>::Link::currentLink() const
Line
Count
Source
52
3.39k
            const ext::shared_ptr<T>& currentLink() const { return h_; }
Unexecuted instantiation: QuantLib::Handle<QuantLib::BatesProcess>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::FdmQuantoHelper>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::G2>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonProcess>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HullWhiteProcess>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CoxIngersollRossProcess>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HullWhite>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonModel>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::AffineModel>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::Gaussian1dModel>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::PricingEngine>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::OneFactorAffineModel>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::GJRGARCHModel>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::PiecewiseTimeDependentHestonModel>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::BatesModel>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::BlackVarianceCurve>::Link::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CapFloorTermVolCurve>::Link::currentLink() const
53
1.42M
            void update() override { notifyObservers(); }
QuantLib::Handle<QuantLib::Quote>::Link::update()
Line
Count
Source
53
815k
            void update() override { notifyObservers(); }
QuantLib::Handle<QuantLib::YieldTermStructure>::Link::update()
Line
Count
Source
53
407k
            void update() override { notifyObservers(); }
QuantLib::Handle<QuantLib::BlackVolTermStructure>::Link::update()
Line
Count
Source
53
203k
            void update() override { notifyObservers(); }
Unexecuted instantiation: QuantLib::Handle<QuantLib::OptionletVolatilityStructure>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::YoYOptionletVolatilitySurface>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::CPIVolatilitySurface>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::CallableBondVolatilityStructure>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::ShortRateModel>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::Basket>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::RecoveryRateQuote>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::DefaultProbabilityTermStructure>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::ExtOUWithJumpsProcess>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::KlugeExtOUProcess>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::ExtendedOrnsteinUhlenbeckProcess>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::Gaussian1dModel>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::LiborForwardModel>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::GeneralizedBlackScholesProcess>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::FdmQuantoHelper>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonModel>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonProcess>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::AffineModel>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::PricingEngine>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::G2>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::HullWhite>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::OneFactorAffineModel>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::GJRGARCHModel>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::PiecewiseTimeDependentHestonModel>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::BatesModel>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::BatesProcess>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::CoxIngersollRossProcess>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::HullWhiteProcess>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::LocalVolTermStructure>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::BlackVarianceCurve>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::ZeroInflationTermStructure>::Link::update()
Unexecuted instantiation: QuantLib::Handle<QuantLib::YoYInflationTermStructure>::Link::update()
54
55
          private:
56
            ext::shared_ptr<T> h_;
57
            bool isObserver_ = false;
58
        };
59
        ext::shared_ptr<Link> link_;
60
      public:
61
        /*! \name Constructors
62
63
            \warning <tt>registerAsObserver</tt> is left as a backdoor
64
                     in case the programmer cannot guarantee that the
65
                     object pointed to will remain alive for the whole
66
                     lifetime of the handle---namely, it should be set
67
                     to <tt>false</tt> when the passed shared pointer
68
                     does not own the pointee (this should only happen
69
                     in a controlled environment, so that the
70
                     programmer is aware of it). Failure to do so can
71
                     very likely result in a program crash.  If the
72
                     programmer does want the handle to register as
73
                     observer of such a shared pointer, it is his
74
                     responsibility to ensure that the handle gets
75
                     destroyed before the pointed object does.
76
        */
77
        //@{
78
        Handle()
79
11.6k
        : Handle(ext::shared_ptr<T>()) {}
QuantLib::Handle<QuantLib::YieldTermStructure>::Handle()
Line
Count
Source
79
1.38k
        : Handle(ext::shared_ptr<T>()) {}
Unexecuted instantiation: QuantLib::Handle<QuantLib::CPIVolatilitySurface>::Handle()
Unexecuted instantiation: QuantLib::Handle<QuantLib::OptionletVolatilityStructure>::Handle()
Unexecuted instantiation: QuantLib::Handle<QuantLib::YoYOptionletVolatilitySurface>::Handle()
Unexecuted instantiation: QuantLib::Handle<QuantLib::Quote>::Handle()
Unexecuted instantiation: QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>::Handle()
QuantLib::Handle<QuantLib::FdmQuantoHelper>::Handle()
Line
Count
Source
79
1.65k
        : Handle(ext::shared_ptr<T>()) {}
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonModel>::Handle()
QuantLib::Handle<QuantLib::LocalVolTermStructure>::Handle()
Line
Count
Source
79
8.64k
        : Handle(ext::shared_ptr<T>()) {}
80
        explicit Handle(const ext::shared_ptr<T>& p,
81
                        bool registerAsObserver = true)
82
8.02k
        : link_(new Link(p, registerAsObserver)) {}
QuantLib::Handle<QuantLib::YieldTermStructure>::Handle(boost::shared_ptr<QuantLib::YieldTermStructure> const&, bool)
Line
Count
Source
82
1.92k
        : link_(new Link(p, registerAsObserver)) {}
QuantLib::Handle<QuantLib::BlackVolTermStructure>::Handle(boost::shared_ptr<QuantLib::BlackVolTermStructure> const&, bool)
Line
Count
Source
82
963
        : link_(new Link(p, registerAsObserver)) {}
Unexecuted instantiation: QuantLib::Handle<QuantLib::ShortRateModel>::Handle(boost::shared_ptr<QuantLib::ShortRateModel> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::ExtOUWithJumpsProcess>::Handle(boost::shared_ptr<QuantLib::ExtOUWithJumpsProcess> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::KlugeExtOUProcess>::Handle(boost::shared_ptr<QuantLib::KlugeExtOUProcess> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::ExtendedOrnsteinUhlenbeckProcess>::Handle(boost::shared_ptr<QuantLib::ExtendedOrnsteinUhlenbeckProcess> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::LiborForwardModel>::Handle(boost::shared_ptr<QuantLib::LiborForwardModel> const&, bool)
QuantLib::Handle<QuantLib::GeneralizedBlackScholesProcess>::Handle(boost::shared_ptr<QuantLib::GeneralizedBlackScholesProcess> const&, bool)
Line
Count
Source
82
3.39k
        : link_(new Link(p, registerAsObserver)) {}
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonModel>::Handle(boost::shared_ptr<QuantLib::HestonModel> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonProcess>::Handle(boost::shared_ptr<QuantLib::HestonProcess> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::AffineModel>::Handle(boost::shared_ptr<QuantLib::AffineModel> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::G2>::Handle(boost::shared_ptr<QuantLib::G2> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::HullWhite>::Handle(boost::shared_ptr<QuantLib::HullWhite> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::GJRGARCHModel>::Handle(boost::shared_ptr<QuantLib::GJRGARCHModel> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::PiecewiseTimeDependentHestonModel>::Handle(boost::shared_ptr<QuantLib::PiecewiseTimeDependentHestonModel> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::BatesModel>::Handle(boost::shared_ptr<QuantLib::BatesModel> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::BatesProcess>::Handle(boost::shared_ptr<QuantLib::BatesProcess> const&, bool)
QuantLib::Handle<QuantLib::FdmQuantoHelper>::Handle(boost::shared_ptr<QuantLib::FdmQuantoHelper> const&, bool)
Line
Count
Source
82
1.74k
        : link_(new Link(p, registerAsObserver)) {}
Unexecuted instantiation: QuantLib::Handle<QuantLib::CoxIngersollRossProcess>::Handle(boost::shared_ptr<QuantLib::CoxIngersollRossProcess> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::HullWhiteProcess>::Handle(boost::shared_ptr<QuantLib::HullWhiteProcess> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::BlackVarianceCurve>::Handle(boost::shared_ptr<QuantLib::BlackVarianceCurve> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::Gaussian1dModel>::Handle(boost::shared_ptr<QuantLib::Gaussian1dModel> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::OptionletVolatilityStructure>::Handle(boost::shared_ptr<QuantLib::OptionletVolatilityStructure> const&, bool)
83
        explicit Handle(ext::shared_ptr<T>&& p,
84
                        bool registerAsObserver = true)
85
77.5k
        : link_(new Link(std::move(p), registerAsObserver)) {}
QuantLib::Handle<QuantLib::Quote>::Handle(boost::shared_ptr<QuantLib::Quote>&&, bool)
Line
Count
Source
85
36.2k
        : link_(new Link(std::move(p), registerAsObserver)) {}
QuantLib::Handle<QuantLib::YieldTermStructure>::Handle(boost::shared_ptr<QuantLib::YieldTermStructure>&&, bool)
Line
Count
Source
85
14.6k
        : link_(new Link(std::move(p), registerAsObserver)) {}
QuantLib::Handle<QuantLib::BlackVolTermStructure>::Handle(boost::shared_ptr<QuantLib::BlackVolTermStructure>&&, bool)
Line
Count
Source
85
7.68k
        : link_(new Link(std::move(p), registerAsObserver)) {}
Unexecuted instantiation: QuantLib::Handle<QuantLib::CPIVolatilitySurface>::Handle(boost::shared_ptr<QuantLib::CPIVolatilitySurface>&&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::OptionletVolatilityStructure>::Handle(boost::shared_ptr<QuantLib::OptionletVolatilityStructure>&&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::YoYOptionletVolatilitySurface>::Handle(boost::shared_ptr<QuantLib::YoYOptionletVolatilitySurface>&&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::CallableBondVolatilityStructure>::Handle(boost::shared_ptr<QuantLib::CallableBondVolatilityStructure>&&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::Basket>::Handle(boost::shared_ptr<QuantLib::Basket>&&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::RecoveryRateQuote>::Handle(boost::shared_ptr<QuantLib::RecoveryRateQuote>&&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::DefaultProbabilityTermStructure>::Handle(boost::shared_ptr<QuantLib::DefaultProbabilityTermStructure>&&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>::Handle(boost::shared_ptr<QuantLib::SwaptionVolatilityStructure>&&, bool)
QuantLib::Handle<QuantLib::FdmQuantoHelper>::Handle(boost::shared_ptr<QuantLib::FdmQuantoHelper>&&, bool)
Line
Count
Source
85
1.65k
        : link_(new Link(std::move(p), registerAsObserver)) {}
Unexecuted instantiation: QuantLib::Handle<QuantLib::PricingEngine>::Handle(boost::shared_ptr<QuantLib::PricingEngine>&&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonModel>::Handle(boost::shared_ptr<QuantLib::HestonModel>&&, bool)
QuantLib::Handle<QuantLib::LocalVolTermStructure>::Handle(boost::shared_ptr<QuantLib::LocalVolTermStructure>&&, bool)
Line
Count
Source
85
17.2k
        : link_(new Link(std::move(p), registerAsObserver)) {}
Unexecuted instantiation: QuantLib::Handle<QuantLib::ZeroInflationTermStructure>::Handle(boost::shared_ptr<QuantLib::ZeroInflationTermStructure>&&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::YoYInflationTermStructure>::Handle(boost::shared_ptr<QuantLib::YoYInflationTermStructure>&&, bool)
86
        //@}
87
        //! dereferencing
88
        const ext::shared_ptr<T>& currentLink() const;
89
        const ext::shared_ptr<T>& operator->() const;
90
        const ext::shared_ptr<T>& operator*() const;
91
        //! checks if the contained shared pointer points to anything
92
        bool empty() const;
93
        //! allows registration as observable
94
        operator ext::shared_ptr<Observable>() const;
95
        //! equality test
96
        template <class U>
97
        bool operator==(const Handle<U>& other) const { return link_==other.link_; }
98
        //! disequality test
99
        template <class U>
100
        bool operator!=(const Handle<U>& other) const { return link_!=other.link_; }
101
        //! strict weak ordering
102
        template <class U>
103
        bool operator<(const Handle<U>& other) const { return link_ < other.link_; }
104
    };
105
106
    //! Relinkable handle to an observable
107
    /*! An instance of this class can be relinked so that it points to
108
        another observable. The change will be propagated to all
109
        handles that were created as copies of such instance.
110
111
        \pre Class T must inherit from Observable
112
113
        \warning see the Handle documentation for issues
114
                 relatives to <tt>registerAsObserver</tt>.
115
    */
116
    template <class T>
117
    class RelinkableHandle : public Handle<T> {
118
      public:
119
        RelinkableHandle()
120
8.64k
        : RelinkableHandle(ext::shared_ptr<T>()) {}
Unexecuted instantiation: QuantLib::RelinkableHandle<QuantLib::Basket>::RelinkableHandle()
Unexecuted instantiation: QuantLib::RelinkableHandle<QuantLib::DefaultProbabilityTermStructure>::RelinkableHandle()
Unexecuted instantiation: QuantLib::RelinkableHandle<QuantLib::YieldTermStructure>::RelinkableHandle()
QuantLib::RelinkableHandle<QuantLib::LocalVolTermStructure>::RelinkableHandle()
Line
Count
Source
120
8.64k
        : RelinkableHandle(ext::shared_ptr<T>()) {}
Unexecuted instantiation: QuantLib::RelinkableHandle<QuantLib::ZeroInflationTermStructure>::RelinkableHandle()
Unexecuted instantiation: QuantLib::RelinkableHandle<QuantLib::YoYInflationTermStructure>::RelinkableHandle()
121
        explicit RelinkableHandle(
122
                       const ext::shared_ptr<T>& p,
123
                       bool registerAsObserver = true);
124
        explicit RelinkableHandle(
125
                       ext::shared_ptr<T>&& p,
126
                       bool registerAsObserver = true);
127
        void linkTo(const ext::shared_ptr<T>& h,
128
                    bool registerAsObserver = true);
129
        void linkTo(ext::shared_ptr<T>&& h,
130
                    bool registerAsObserver = true);
131
        void reset();
132
    };
133
134
135
    // inline definitions
136
137
    template <class T>
138
8.02k
    inline Handle<T>::Link::Link(const ext::shared_ptr<T>& h, bool registerAsObserver) {
139
8.02k
        linkTo(h, registerAsObserver);
140
8.02k
    }
QuantLib::Handle<QuantLib::YieldTermStructure>::Link::Link(boost::shared_ptr<QuantLib::YieldTermStructure> const&, bool)
Line
Count
Source
138
1.92k
    inline Handle<T>::Link::Link(const ext::shared_ptr<T>& h, bool registerAsObserver) {
139
1.92k
        linkTo(h, registerAsObserver);
140
1.92k
    }
QuantLib::Handle<QuantLib::BlackVolTermStructure>::Link::Link(boost::shared_ptr<QuantLib::BlackVolTermStructure> const&, bool)
Line
Count
Source
138
963
    inline Handle<T>::Link::Link(const ext::shared_ptr<T>& h, bool registerAsObserver) {
139
963
        linkTo(h, registerAsObserver);
140
963
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::ShortRateModel>::Link::Link(boost::shared_ptr<QuantLib::ShortRateModel> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::ExtOUWithJumpsProcess>::Link::Link(boost::shared_ptr<QuantLib::ExtOUWithJumpsProcess> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::KlugeExtOUProcess>::Link::Link(boost::shared_ptr<QuantLib::KlugeExtOUProcess> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::ExtendedOrnsteinUhlenbeckProcess>::Link::Link(boost::shared_ptr<QuantLib::ExtendedOrnsteinUhlenbeckProcess> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::LiborForwardModel>::Link::Link(boost::shared_ptr<QuantLib::LiborForwardModel> const&, bool)
QuantLib::Handle<QuantLib::GeneralizedBlackScholesProcess>::Link::Link(boost::shared_ptr<QuantLib::GeneralizedBlackScholesProcess> const&, bool)
Line
Count
Source
138
3.39k
    inline Handle<T>::Link::Link(const ext::shared_ptr<T>& h, bool registerAsObserver) {
139
3.39k
        linkTo(h, registerAsObserver);
140
3.39k
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonModel>::Link::Link(boost::shared_ptr<QuantLib::HestonModel> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonProcess>::Link::Link(boost::shared_ptr<QuantLib::HestonProcess> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::AffineModel>::Link::Link(boost::shared_ptr<QuantLib::AffineModel> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::G2>::Link::Link(boost::shared_ptr<QuantLib::G2> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::HullWhite>::Link::Link(boost::shared_ptr<QuantLib::HullWhite> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::GJRGARCHModel>::Link::Link(boost::shared_ptr<QuantLib::GJRGARCHModel> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::PiecewiseTimeDependentHestonModel>::Link::Link(boost::shared_ptr<QuantLib::PiecewiseTimeDependentHestonModel> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::BatesModel>::Link::Link(boost::shared_ptr<QuantLib::BatesModel> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::BatesProcess>::Link::Link(boost::shared_ptr<QuantLib::BatesProcess> const&, bool)
QuantLib::Handle<QuantLib::FdmQuantoHelper>::Link::Link(boost::shared_ptr<QuantLib::FdmQuantoHelper> const&, bool)
Line
Count
Source
138
1.74k
    inline Handle<T>::Link::Link(const ext::shared_ptr<T>& h, bool registerAsObserver) {
139
1.74k
        linkTo(h, registerAsObserver);
140
1.74k
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::CoxIngersollRossProcess>::Link::Link(boost::shared_ptr<QuantLib::CoxIngersollRossProcess> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::HullWhiteProcess>::Link::Link(boost::shared_ptr<QuantLib::HullWhiteProcess> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::BlackVarianceCurve>::Link::Link(boost::shared_ptr<QuantLib::BlackVarianceCurve> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::Gaussian1dModel>::Link::Link(boost::shared_ptr<QuantLib::Gaussian1dModel> const&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::OptionletVolatilityStructure>::Link::Link(boost::shared_ptr<QuantLib::OptionletVolatilityStructure> const&, bool)
141
142
    template <class T>
143
77.5k
    inline Handle<T>::Link::Link(ext::shared_ptr<T>&& h, bool registerAsObserver) {
144
77.5k
        linkTo(std::move(h), registerAsObserver);
145
77.5k
    }
QuantLib::Handle<QuantLib::Quote>::Link::Link(boost::shared_ptr<QuantLib::Quote>&&, bool)
Line
Count
Source
143
36.2k
    inline Handle<T>::Link::Link(ext::shared_ptr<T>&& h, bool registerAsObserver) {
144
36.2k
        linkTo(std::move(h), registerAsObserver);
145
36.2k
    }
QuantLib::Handle<QuantLib::YieldTermStructure>::Link::Link(boost::shared_ptr<QuantLib::YieldTermStructure>&&, bool)
Line
Count
Source
143
14.6k
    inline Handle<T>::Link::Link(ext::shared_ptr<T>&& h, bool registerAsObserver) {
144
14.6k
        linkTo(std::move(h), registerAsObserver);
145
14.6k
    }
QuantLib::Handle<QuantLib::BlackVolTermStructure>::Link::Link(boost::shared_ptr<QuantLib::BlackVolTermStructure>&&, bool)
Line
Count
Source
143
7.68k
    inline Handle<T>::Link::Link(ext::shared_ptr<T>&& h, bool registerAsObserver) {
144
7.68k
        linkTo(std::move(h), registerAsObserver);
145
7.68k
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::CPIVolatilitySurface>::Link::Link(boost::shared_ptr<QuantLib::CPIVolatilitySurface>&&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::OptionletVolatilityStructure>::Link::Link(boost::shared_ptr<QuantLib::OptionletVolatilityStructure>&&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::YoYOptionletVolatilitySurface>::Link::Link(boost::shared_ptr<QuantLib::YoYOptionletVolatilitySurface>&&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::CallableBondVolatilityStructure>::Link::Link(boost::shared_ptr<QuantLib::CallableBondVolatilityStructure>&&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::Basket>::Link::Link(boost::shared_ptr<QuantLib::Basket>&&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::RecoveryRateQuote>::Link::Link(boost::shared_ptr<QuantLib::RecoveryRateQuote>&&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::DefaultProbabilityTermStructure>::Link::Link(boost::shared_ptr<QuantLib::DefaultProbabilityTermStructure>&&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>::Link::Link(boost::shared_ptr<QuantLib::SwaptionVolatilityStructure>&&, bool)
QuantLib::Handle<QuantLib::FdmQuantoHelper>::Link::Link(boost::shared_ptr<QuantLib::FdmQuantoHelper>&&, bool)
Line
Count
Source
143
1.65k
    inline Handle<T>::Link::Link(ext::shared_ptr<T>&& h, bool registerAsObserver) {
144
1.65k
        linkTo(std::move(h), registerAsObserver);
145
1.65k
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::PricingEngine>::Link::Link(boost::shared_ptr<QuantLib::PricingEngine>&&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonModel>::Link::Link(boost::shared_ptr<QuantLib::HestonModel>&&, bool)
QuantLib::Handle<QuantLib::LocalVolTermStructure>::Link::Link(boost::shared_ptr<QuantLib::LocalVolTermStructure>&&, bool)
Line
Count
Source
143
17.2k
    inline Handle<T>::Link::Link(ext::shared_ptr<T>&& h, bool registerAsObserver) {
144
17.2k
        linkTo(std::move(h), registerAsObserver);
145
17.2k
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::ZeroInflationTermStructure>::Link::Link(boost::shared_ptr<QuantLib::ZeroInflationTermStructure>&&, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::YoYInflationTermStructure>::Link::Link(boost::shared_ptr<QuantLib::YoYInflationTermStructure>&&, bool)
146
147
    template <class T>
148
    inline void Handle<T>::Link::linkTo(ext::shared_ptr<T> h,
149
88.6k
                                        bool registerAsObserver) {
150
88.6k
        if ((h != h_) || (isObserver_ != registerAsObserver)) {
151
88.6k
            if (h_ && isObserver_)
152
0
                unregisterWith(h_);
153
88.6k
            h_ = std::move(h);
154
88.6k
            isObserver_ = registerAsObserver;
155
88.6k
            if (h_ && isObserver_)
156
66.5k
                registerWith(h_);
157
88.6k
            notifyObservers();
158
88.6k
        }
159
88.6k
    }
QuantLib::Handle<QuantLib::Quote>::Link::linkTo(boost::shared_ptr<QuantLib::Quote>, bool)
Line
Count
Source
149
36.2k
                                        bool registerAsObserver) {
150
36.2k
        if ((h != h_) || (isObserver_ != registerAsObserver)) {
151
36.2k
            if (h_ && isObserver_)
152
0
                unregisterWith(h_);
153
36.2k
            h_ = std::move(h);
154
36.2k
            isObserver_ = registerAsObserver;
155
36.2k
            if (h_ && isObserver_)
156
36.2k
                registerWith(h_);
157
36.2k
            notifyObservers();
158
36.2k
        }
159
36.2k
    }
QuantLib::Handle<QuantLib::YieldTermStructure>::Link::linkTo(boost::shared_ptr<QuantLib::YieldTermStructure>, bool)
Line
Count
Source
149
16.5k
                                        bool registerAsObserver) {
150
16.5k
        if ((h != h_) || (isObserver_ != registerAsObserver)) {
151
16.5k
            if (h_ && isObserver_)
152
0
                unregisterWith(h_);
153
16.5k
            h_ = std::move(h);
154
16.5k
            isObserver_ = registerAsObserver;
155
16.5k
            if (h_ && isObserver_)
156
15.1k
                registerWith(h_);
157
16.5k
            notifyObservers();
158
16.5k
        }
159
16.5k
    }
QuantLib::Handle<QuantLib::BlackVolTermStructure>::Link::linkTo(boost::shared_ptr<QuantLib::BlackVolTermStructure>, bool)
Line
Count
Source
149
8.64k
                                        bool registerAsObserver) {
150
8.64k
        if ((h != h_) || (isObserver_ != registerAsObserver)) {
151
8.64k
            if (h_ && isObserver_)
152
0
                unregisterWith(h_);
153
8.64k
            h_ = std::move(h);
154
8.64k
            isObserver_ = registerAsObserver;
155
8.64k
            if (h_ && isObserver_)
156
8.64k
                registerWith(h_);
157
8.64k
            notifyObservers();
158
8.64k
        }
159
8.64k
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::OptionletVolatilityStructure>::Link::linkTo(boost::shared_ptr<QuantLib::OptionletVolatilityStructure>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::YoYOptionletVolatilitySurface>::Link::linkTo(boost::shared_ptr<QuantLib::YoYOptionletVolatilitySurface>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::CPIVolatilitySurface>::Link::linkTo(boost::shared_ptr<QuantLib::CPIVolatilitySurface>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::CallableBondVolatilityStructure>::Link::linkTo(boost::shared_ptr<QuantLib::CallableBondVolatilityStructure>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::ShortRateModel>::Link::linkTo(boost::shared_ptr<QuantLib::ShortRateModel>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::Basket>::Link::linkTo(boost::shared_ptr<QuantLib::Basket>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::RecoveryRateQuote>::Link::linkTo(boost::shared_ptr<QuantLib::RecoveryRateQuote>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::DefaultProbabilityTermStructure>::Link::linkTo(boost::shared_ptr<QuantLib::DefaultProbabilityTermStructure>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::ExtOUWithJumpsProcess>::Link::linkTo(boost::shared_ptr<QuantLib::ExtOUWithJumpsProcess>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::KlugeExtOUProcess>::Link::linkTo(boost::shared_ptr<QuantLib::KlugeExtOUProcess>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::ExtendedOrnsteinUhlenbeckProcess>::Link::linkTo(boost::shared_ptr<QuantLib::ExtendedOrnsteinUhlenbeckProcess>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::Gaussian1dModel>::Link::linkTo(boost::shared_ptr<QuantLib::Gaussian1dModel>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::LiborForwardModel>::Link::linkTo(boost::shared_ptr<QuantLib::LiborForwardModel>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>::Link::linkTo(boost::shared_ptr<QuantLib::SwaptionVolatilityStructure>, bool)
QuantLib::Handle<QuantLib::GeneralizedBlackScholesProcess>::Link::linkTo(boost::shared_ptr<QuantLib::GeneralizedBlackScholesProcess>, bool)
Line
Count
Source
149
3.39k
                                        bool registerAsObserver) {
150
3.39k
        if ((h != h_) || (isObserver_ != registerAsObserver)) {
151
3.39k
            if (h_ && isObserver_)
152
0
                unregisterWith(h_);
153
3.39k
            h_ = std::move(h);
154
3.39k
            isObserver_ = registerAsObserver;
155
3.39k
            if (h_ && isObserver_)
156
3.39k
                registerWith(h_);
157
3.39k
            notifyObservers();
158
3.39k
        }
159
3.39k
    }
QuantLib::Handle<QuantLib::FdmQuantoHelper>::Link::linkTo(boost::shared_ptr<QuantLib::FdmQuantoHelper>, bool)
Line
Count
Source
149
3.39k
                                        bool registerAsObserver) {
150
3.39k
        if ((h != h_) || (isObserver_ != registerAsObserver)) {
151
3.39k
            if (h_ && isObserver_)
152
0
                unregisterWith(h_);
153
3.39k
            h_ = std::move(h);
154
3.39k
            isObserver_ = registerAsObserver;
155
3.39k
            if (h_ && isObserver_)
156
0
                registerWith(h_);
157
3.39k
            notifyObservers();
158
3.39k
        }
159
3.39k
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonModel>::Link::linkTo(boost::shared_ptr<QuantLib::HestonModel>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonProcess>::Link::linkTo(boost::shared_ptr<QuantLib::HestonProcess>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::AffineModel>::Link::linkTo(boost::shared_ptr<QuantLib::AffineModel>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::PricingEngine>::Link::linkTo(boost::shared_ptr<QuantLib::PricingEngine>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::G2>::Link::linkTo(boost::shared_ptr<QuantLib::G2>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::HullWhite>::Link::linkTo(boost::shared_ptr<QuantLib::HullWhite>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::OneFactorAffineModel>::Link::linkTo(boost::shared_ptr<QuantLib::OneFactorAffineModel>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::GJRGARCHModel>::Link::linkTo(boost::shared_ptr<QuantLib::GJRGARCHModel>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::PiecewiseTimeDependentHestonModel>::Link::linkTo(boost::shared_ptr<QuantLib::PiecewiseTimeDependentHestonModel>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::BatesModel>::Link::linkTo(boost::shared_ptr<QuantLib::BatesModel>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::BatesProcess>::Link::linkTo(boost::shared_ptr<QuantLib::BatesProcess>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::CoxIngersollRossProcess>::Link::linkTo(boost::shared_ptr<QuantLib::CoxIngersollRossProcess>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::HullWhiteProcess>::Link::linkTo(boost::shared_ptr<QuantLib::HullWhiteProcess>, bool)
QuantLib::Handle<QuantLib::LocalVolTermStructure>::Link::linkTo(boost::shared_ptr<QuantLib::LocalVolTermStructure>, bool)
Line
Count
Source
149
20.3k
                                        bool registerAsObserver) {
150
20.3k
        if ((h != h_) || (isObserver_ != registerAsObserver)) {
151
20.3k
            if (h_ && isObserver_)
152
0
                unregisterWith(h_);
153
20.3k
            h_ = std::move(h);
154
20.3k
            isObserver_ = registerAsObserver;
155
20.3k
            if (h_ && isObserver_)
156
3.09k
                registerWith(h_);
157
20.3k
            notifyObservers();
158
20.3k
        }
159
20.3k
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::BlackVarianceCurve>::Link::linkTo(boost::shared_ptr<QuantLib::BlackVarianceCurve>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::ZeroInflationTermStructure>::Link::linkTo(boost::shared_ptr<QuantLib::ZeroInflationTermStructure>, bool)
Unexecuted instantiation: QuantLib::Handle<QuantLib::YoYInflationTermStructure>::Link::linkTo(boost::shared_ptr<QuantLib::YoYInflationTermStructure>, bool)
160
161
162
    template <class T>
163
14.0k
    inline const ext::shared_ptr<T>& Handle<T>::currentLink() const {
164
14.0k
        QL_REQUIRE(!empty(), "empty Handle cannot be dereferenced");
165
14.0k
        return link_->currentLink();
166
14.0k
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::Quote>::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::Basket>::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::RecoveryRateQuote>::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::KlugeExtOUProcess>::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::ExtOUWithJumpsProcess>::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::ExtendedOrnsteinUhlenbeckProcess>::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::LocalVolTermStructure>::currentLink() const
QuantLib::Handle<QuantLib::YieldTermStructure>::currentLink() const
Line
Count
Source
163
7.27k
    inline const ext::shared_ptr<T>& Handle<T>::currentLink() const {
164
7.27k
        QL_REQUIRE(!empty(), "empty Handle cannot be dereferenced");
165
7.27k
        return link_->currentLink();
166
7.27k
    }
QuantLib::Handle<QuantLib::BlackVolTermStructure>::currentLink() const
Line
Count
Source
163
3.39k
    inline const ext::shared_ptr<T>& Handle<T>::currentLink() const {
164
3.39k
        QL_REQUIRE(!empty(), "empty Handle cannot be dereferenced");
165
3.39k
        return link_->currentLink();
166
3.39k
    }
QuantLib::Handle<QuantLib::GeneralizedBlackScholesProcess>::currentLink() const
Line
Count
Source
163
3.39k
    inline const ext::shared_ptr<T>& Handle<T>::currentLink() const {
164
3.39k
        QL_REQUIRE(!empty(), "empty Handle cannot be dereferenced");
165
3.39k
        return link_->currentLink();
166
3.39k
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::BatesProcess>::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::FdmQuantoHelper>::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::G2>::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonProcess>::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HullWhiteProcess>::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CoxIngersollRossProcess>::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HullWhite>::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::PricingEngine>::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::BatesModel>::currentLink() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonModel>::currentLink() const
167
168
    template <class T>
169
17.3M
    inline const ext::shared_ptr<T>& Handle<T>::operator->() const {
170
17.3M
        QL_REQUIRE(!empty(), "empty Handle cannot be dereferenced");
171
17.3M
        return link_->currentLink();
172
17.3M
    }
QuantLib::Handle<QuantLib::Quote>::operator->() const
Line
Count
Source
169
5.76M
    inline const ext::shared_ptr<T>& Handle<T>::operator->() const {
170
5.76M
        QL_REQUIRE(!empty(), "empty Handle cannot be dereferenced");
171
5.76M
        return link_->currentLink();
172
5.76M
    }
QuantLib::Handle<QuantLib::YieldTermStructure>::operator->() const
Line
Count
Source
169
6.58M
    inline const ext::shared_ptr<T>& Handle<T>::operator->() const {
170
6.58M
        QL_REQUIRE(!empty(), "empty Handle cannot be dereferenced");
171
6.58M
        return link_->currentLink();
172
6.58M
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::OptionletVolatilityStructure>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CPIVolatilitySurface>::operator->() const
QuantLib::Handle<QuantLib::BlackVolTermStructure>::operator->() const
Line
Count
Source
169
4.95M
    inline const ext::shared_ptr<T>& Handle<T>::operator->() const {
170
4.95M
        QL_REQUIRE(!empty(), "empty Handle cannot be dereferenced");
171
4.95M
        return link_->currentLink();
172
4.95M
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::YoYOptionletVolatilitySurface>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::DeltaVolQuote>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CallableBondVolatilityStructure>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::ShortRateModel>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::DefaultProbabilityTermStructure>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::RecoveryRateQuote>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::OneFactorCopula>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::Basket>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::ZeroInflationTermStructure>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CPICapFloorTermPriceSurface>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::BlackAtmVolCurve>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::InterestRateVolSurface>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::AbcdAtmVolCurve>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::YoYInflationTermStructure>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::LiborForwardModel>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonProcess>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonModel>::operator->() const
QuantLib::Handle<QuantLib::LocalVolTermStructure>::operator->() const
Line
Count
Source
169
620
    inline const ext::shared_ptr<T>& Handle<T>::operator->() const {
170
620
        QL_REQUIRE(!empty(), "empty Handle cannot be dereferenced");
171
620
        return link_->currentLink();
172
620
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::AffineModel>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::Gaussian1dModel>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::PricingEngine>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::G2>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HullWhite>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::OneFactorAffineModel>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::GJRGARCHModel>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::PiecewiseTimeDependentHestonModel>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::BatesModel>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::BlackVarianceCurve>::operator->() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CapFloorTermVolCurve>::operator->() const
173
174
    template <class T>
175
3.09k
    inline const ext::shared_ptr<T>& Handle<T>::operator*() const {
176
3.09k
        QL_REQUIRE(!empty(), "empty Handle cannot be dereferenced");
177
3.09k
        return link_->currentLink();
178
3.09k
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::YieldTermStructure>::operator*() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>::operator*() const
QuantLib::Handle<QuantLib::BlackVolTermStructure>::operator*() const
Line
Count
Source
175
3.09k
    inline const ext::shared_ptr<T>& Handle<T>::operator*() const {
176
3.09k
        QL_REQUIRE(!empty(), "empty Handle cannot be dereferenced");
177
3.09k
        return link_->currentLink();
178
3.09k
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::ShortRateModel>::operator*() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::Quote>::operator*() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonModel>::operator*() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::AffineModel>::operator*() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::DefaultProbabilityTermStructure>::operator*() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::Gaussian1dModel>::operator*() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::OneFactorAffineModel>::operator*() const
179
180
    template <class T>
181
17.3M
    inline bool Handle<T>::empty() const {
182
17.3M
        return link_->empty();
183
17.3M
    }
QuantLib::Handle<QuantLib::Quote>::empty() const
Line
Count
Source
181
5.76M
    inline bool Handle<T>::empty() const {
182
5.76M
        return link_->empty();
183
5.76M
    }
QuantLib::Handle<QuantLib::YieldTermStructure>::empty() const
Line
Count
Source
181
6.59M
    inline bool Handle<T>::empty() const {
182
6.59M
        return link_->empty();
183
6.59M
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::OptionletVolatilityStructure>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CPIVolatilitySurface>::empty() const
QuantLib::Handle<QuantLib::BlackVolTermStructure>::empty() const
Line
Count
Source
181
4.96M
    inline bool Handle<T>::empty() const {
182
4.96M
        return link_->empty();
183
4.96M
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::YoYOptionletVolatilitySurface>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::DeltaVolQuote>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CallableBondVolatilityStructure>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::ShortRateModel>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::Basket>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::DefaultProbabilityTermStructure>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::RecoveryRateQuote>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::OneFactorCopula>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::KlugeExtOUProcess>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::ExtOUWithJumpsProcess>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::ExtendedOrnsteinUhlenbeckProcess>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::ZeroInflationTermStructure>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CPICapFloorTermPriceSurface>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::BlackAtmVolCurve>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::InterestRateVolSurface>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::AbcdAtmVolCurve>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::YoYInflationTermStructure>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::LiborForwardModel>::empty() const
QuantLib::Handle<QuantLib::LocalVolTermStructure>::empty() const
Line
Count
Source
181
620
    inline bool Handle<T>::empty() const {
182
620
        return link_->empty();
183
620
    }
QuantLib::Handle<QuantLib::GeneralizedBlackScholesProcess>::empty() const
Line
Count
Source
181
3.39k
    inline bool Handle<T>::empty() const {
182
3.39k
        return link_->empty();
183
3.39k
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::BatesProcess>::empty() const
QuantLib::Handle<QuantLib::FdmQuantoHelper>::empty() const
Line
Count
Source
181
3.39k
    inline bool Handle<T>::empty() const {
182
3.39k
        return link_->empty();
183
3.39k
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::G2>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonProcess>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HullWhiteProcess>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CoxIngersollRossProcess>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HullWhite>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonModel>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::AffineModel>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::Gaussian1dModel>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::PricingEngine>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::OneFactorAffineModel>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::GJRGARCHModel>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::PiecewiseTimeDependentHestonModel>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::BatesModel>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::BlackVarianceCurve>::empty() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CapFloorTermVolCurve>::empty() const
184
185
    template <class T>
186
45.1k
    inline Handle<T>::operator ext::shared_ptr<Observable>() const {
187
45.1k
        return link_;
188
45.1k
    }
QuantLib::Handle<QuantLib::Quote>::operator boost::shared_ptr<QuantLib::Observable>() const
Line
Count
Source
186
11.5k
    inline Handle<T>::operator ext::shared_ptr<Observable>() const {
187
11.5k
        return link_;
188
11.5k
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::OptionletVolatilityStructure>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::SwaptionVolatilityStructure>::operator boost::shared_ptr<QuantLib::Observable>() const
QuantLib::Handle<QuantLib::YieldTermStructure>::operator boost::shared_ptr<QuantLib::Observable>() const
Line
Count
Source
186
18.1k
    inline Handle<T>::operator ext::shared_ptr<Observable>() const {
187
18.1k
        return link_;
188
18.1k
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::CPIVolatilitySurface>::operator boost::shared_ptr<QuantLib::Observable>() const
QuantLib::Handle<QuantLib::BlackVolTermStructure>::operator boost::shared_ptr<QuantLib::Observable>() const
Line
Count
Source
186
8.64k
    inline Handle<T>::operator ext::shared_ptr<Observable>() const {
187
8.64k
        return link_;
188
8.64k
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::YoYOptionletVolatilitySurface>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::DeltaVolQuote>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CallableBondVolatilityStructure>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::ShortRateModel>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::DefaultProbabilityTermStructure>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::OneFactorCopula>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::RecoveryRateQuote>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::KlugeExtOUProcess>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::ExtOUWithJumpsProcess>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::ExtendedOrnsteinUhlenbeckProcess>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CPICapFloorTermPriceSurface>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::ZeroInflationTermStructure>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::YoYInflationTermStructure>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::LiborForwardModel>::operator boost::shared_ptr<QuantLib::Observable>() const
QuantLib::Handle<QuantLib::GeneralizedBlackScholesProcess>::operator boost::shared_ptr<QuantLib::Observable>() const
Line
Count
Source
186
3.39k
    inline Handle<T>::operator ext::shared_ptr<Observable>() const {
187
3.39k
        return link_;
188
3.39k
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::BatesProcess>::operator boost::shared_ptr<QuantLib::Observable>() const
QuantLib::Handle<QuantLib::FdmQuantoHelper>::operator boost::shared_ptr<QuantLib::Observable>() const
Line
Count
Source
186
3.39k
    inline Handle<T>::operator ext::shared_ptr<Observable>() const {
187
3.39k
        return link_;
188
3.39k
    }
Unexecuted instantiation: QuantLib::Handle<QuantLib::G2>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonProcess>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HullWhiteProcess>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CoxIngersollRossProcess>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HullWhite>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::LocalVolTermStructure>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::HestonModel>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::AffineModel>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::Gaussian1dModel>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::PricingEngine>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::OneFactorAffineModel>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::GJRGARCHModel>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::PiecewiseTimeDependentHestonModel>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::BatesModel>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::BlackVarianceCurve>::operator boost::shared_ptr<QuantLib::Observable>() const
Unexecuted instantiation: QuantLib::Handle<QuantLib::CapFloorTermVolCurve>::operator boost::shared_ptr<QuantLib::Observable>() const
189
190
191
    template <class T>
192
    inline RelinkableHandle<T>::RelinkableHandle(const ext::shared_ptr<T>& p,
193
                                                 bool registerAsObserver)
194
0
    : Handle<T>(p,registerAsObserver) {}
Unexecuted instantiation: QuantLib::RelinkableHandle<QuantLib::YieldTermStructure>::RelinkableHandle(boost::shared_ptr<QuantLib::YieldTermStructure> const&, bool)
Unexecuted instantiation: QuantLib::RelinkableHandle<QuantLib::BlackVolTermStructure>::RelinkableHandle(boost::shared_ptr<QuantLib::BlackVolTermStructure> const&, bool)
195
196
    template <class T>
197
    inline RelinkableHandle<T>::RelinkableHandle(ext::shared_ptr<T>&& p,
198
                                                 bool registerAsObserver)
199
8.64k
    : Handle<T>(std::move(p), registerAsObserver) {}
Unexecuted instantiation: QuantLib::RelinkableHandle<QuantLib::Basket>::RelinkableHandle(boost::shared_ptr<QuantLib::Basket>&&, bool)
Unexecuted instantiation: QuantLib::RelinkableHandle<QuantLib::DefaultProbabilityTermStructure>::RelinkableHandle(boost::shared_ptr<QuantLib::DefaultProbabilityTermStructure>&&, bool)
Unexecuted instantiation: QuantLib::RelinkableHandle<QuantLib::YieldTermStructure>::RelinkableHandle(boost::shared_ptr<QuantLib::YieldTermStructure>&&, bool)
Unexecuted instantiation: QuantLib::RelinkableHandle<QuantLib::Quote>::RelinkableHandle(boost::shared_ptr<QuantLib::Quote>&&, bool)
QuantLib::RelinkableHandle<QuantLib::LocalVolTermStructure>::RelinkableHandle(boost::shared_ptr<QuantLib::LocalVolTermStructure>&&, bool)
Line
Count
Source
199
8.64k
    : Handle<T>(std::move(p), registerAsObserver) {}
Unexecuted instantiation: QuantLib::RelinkableHandle<QuantLib::ZeroInflationTermStructure>::RelinkableHandle(boost::shared_ptr<QuantLib::ZeroInflationTermStructure>&&, bool)
Unexecuted instantiation: QuantLib::RelinkableHandle<QuantLib::YoYInflationTermStructure>::RelinkableHandle(boost::shared_ptr<QuantLib::YoYInflationTermStructure>&&, bool)
200
201
    template <class T>
202
    inline void RelinkableHandle<T>::linkTo(const ext::shared_ptr<T>& h,
203
0
                                            bool registerAsObserver) {
204
0
        this->link_->linkTo(h, registerAsObserver);
205
0
    }
206
207
    template <class T>
208
    inline void RelinkableHandle<T>::linkTo(ext::shared_ptr<T>&& h,
209
3.09k
                                            bool registerAsObserver) {
210
3.09k
        this->link_->linkTo(std::move(h), registerAsObserver);
211
3.09k
    }
Unexecuted instantiation: QuantLib::RelinkableHandle<QuantLib::Basket>::linkTo(boost::shared_ptr<QuantLib::Basket>&&, bool)
Unexecuted instantiation: QuantLib::RelinkableHandle<QuantLib::DefaultProbabilityTermStructure>::linkTo(boost::shared_ptr<QuantLib::DefaultProbabilityTermStructure>&&, bool)
Unexecuted instantiation: QuantLib::RelinkableHandle<QuantLib::YieldTermStructure>::linkTo(boost::shared_ptr<QuantLib::YieldTermStructure>&&, bool)
Unexecuted instantiation: QuantLib::RelinkableHandle<QuantLib::BlackVolTermStructure>::linkTo(boost::shared_ptr<QuantLib::BlackVolTermStructure>&&, bool)
QuantLib::RelinkableHandle<QuantLib::LocalVolTermStructure>::linkTo(boost::shared_ptr<QuantLib::LocalVolTermStructure>&&, bool)
Line
Count
Source
209
3.09k
                                            bool registerAsObserver) {
210
3.09k
        this->link_->linkTo(std::move(h), registerAsObserver);
211
3.09k
    }
Unexecuted instantiation: QuantLib::RelinkableHandle<QuantLib::ZeroInflationTermStructure>::linkTo(boost::shared_ptr<QuantLib::ZeroInflationTermStructure>&&, bool)
Unexecuted instantiation: QuantLib::RelinkableHandle<QuantLib::YoYInflationTermStructure>::linkTo(boost::shared_ptr<QuantLib::YoYInflationTermStructure>&&, bool)
212
213
    template <class T>
214
    inline void RelinkableHandle<T>::reset() {
215
        this->link_->linkTo(nullptr, true);
216
    }
217
218
}
219
220
#endif