Coverage Report

Created: 2025-08-28 06:30

/src/quantlib/ql/patterns/visitor.hpp
Line
Count
Source (jump to first uncovered line)
1
/* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
3
/*
4
 Copyright (C) 2003 RiskMap srl
5
6
 This file is part of QuantLib, a free-software/open-source library
7
 for financial quantitative analysts and developers - http://quantlib.org/
8
9
 QuantLib is free software: you can redistribute it and/or modify it
10
 under the terms of the QuantLib license.  You should have received a
11
 copy of the license along with this program; if not, please email
12
 <quantlib-dev@lists.sf.net>. The license is also available online at
13
 <http://quantlib.org/license.shtml>.
14
15
 This program is distributed in the hope that it will be useful, but WITHOUT
16
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17
 FOR A PARTICULAR PURPOSE.  See the license for more details.
18
*/
19
20
/*! \file visitor.hpp
21
    \brief degenerate base class for the Acyclic Visitor pattern
22
*/
23
24
#ifndef quantlib_visitor_h
25
#define quantlib_visitor_h
26
27
#include <ql/qldefines.hpp>
28
29
namespace QuantLib {
30
31
    //! degenerate base class for the Acyclic %Visitor pattern
32
    /*! \ingroup patterns */
33
    class AcyclicVisitor {
34
      public:
35
0
        virtual ~AcyclicVisitor() = default;
36
    };
37
38
    //! %Visitor for a specific class
39
    template <class T>
40
    class Visitor {
41
      public:
42
0
        virtual ~Visitor() = default;
Unexecuted instantiation: QuantLib::Visitor<QuantLib::CashFlow>::~Visitor()
Unexecuted instantiation: QuantLib::Visitor<QuantLib::Coupon>::~Visitor()
Unexecuted instantiation: QuantLib::Visitor<QuantLib::FloatingRateCoupon>::~Visitor()
Unexecuted instantiation: QuantLib::Visitor<QuantLib::CappedFlooredCoupon>::~Visitor()
Unexecuted instantiation: QuantLib::Visitor<QuantLib::IborCoupon>::~Visitor()
Unexecuted instantiation: QuantLib::Visitor<QuantLib::CmsCoupon>::~Visitor()
Unexecuted instantiation: QuantLib::Visitor<QuantLib::CmsSpreadCoupon>::~Visitor()
Unexecuted instantiation: QuantLib::Visitor<QuantLib::CappedFlooredIborCoupon>::~Visitor()
Unexecuted instantiation: QuantLib::Visitor<QuantLib::CappedFlooredCmsCoupon>::~Visitor()
Unexecuted instantiation: QuantLib::Visitor<QuantLib::CappedFlooredCmsSpreadCoupon>::~Visitor()
Unexecuted instantiation: QuantLib::Visitor<QuantLib::DigitalIborCoupon>::~Visitor()
Unexecuted instantiation: QuantLib::Visitor<QuantLib::DigitalCmsCoupon>::~Visitor()
Unexecuted instantiation: QuantLib::Visitor<QuantLib::DigitalCmsSpreadCoupon>::~Visitor()
Unexecuted instantiation: QuantLib::Visitor<QuantLib::RangeAccrualFloatersCoupon>::~Visitor()
Unexecuted instantiation: QuantLib::Visitor<QuantLib::MultipleResetsCoupon>::~Visitor()
Unexecuted instantiation: QuantLib::Visitor<QuantLib::Payoff>::~Visitor()
Unexecuted instantiation: QuantLib::Visitor<QuantLib::PlainVanillaPayoff>::~Visitor()
Unexecuted instantiation: QuantLib::Visitor<QuantLib::CashOrNothingPayoff>::~Visitor()
Unexecuted instantiation: QuantLib::Visitor<QuantLib::AssetOrNothingPayoff>::~Visitor()
Unexecuted instantiation: QuantLib::Visitor<QuantLib::GapPayoff>::~Visitor()
43
        virtual void visit(T&) = 0;
44
    };
45
46
}
47
48
49
#endif