Fully annotated reference manual - version 1.8.12
Loading...
Searching...
No Matches
qle
utilities
savedobservablesettings.hpp
Go to the documentation of this file.
1
/*
2
Copyright (C) 2021 Quaternion Risk Management Ltd
3
All rights reserved.
4
5
This file is part of ORE, a free-software/open-source library
6
for transparent pricing and risk analysis - http://opensourcerisk.org
7
8
ORE is free software: you can redistribute it and/or modify it
9
under the terms of the Modified BSD License. You should have received a
10
copy of the license along with this program.
11
The license is also available online at <http://opensourcerisk.org>
12
13
This program is distributed on the basis that it will form a useful
14
contribution to risk analytics and model standardisation, but WITHOUT
15
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16
FITNESS FOR A PARTICULAR PURPOSE. See the license for more details.
17
*/
18
19
#pragma once
20
21
#include <ql/patterns/observable.hpp>
22
23
namespace
QuantExt
{
24
25
// helper class to temporarily and safely change the settings
26
class
SavedObservableSettings
{
27
public
:
28
SavedObservableSettings
() {
29
updatesEnabled_
= QuantLib::ObservableSettings::instance().updatesEnabled();
30
updatesDeferred_
= QuantLib::ObservableSettings::instance().updatesDeferred();
31
}
32
~SavedObservableSettings
() {
33
// Restore observable settings
34
if
(
updatesEnabled_
)
35
QuantLib::ObservableSettings::instance().enableUpdates();
36
else
37
QuantLib::ObservableSettings::instance().disableUpdates(
updatesDeferred_
);
38
}
39
40
bool
updatesEnabled
()
const
{
return
updatesEnabled_
; }
41
bool
updatesDeferred
()
const
{
return
updatesDeferred_
; }
42
43
private
:
44
bool
updatesEnabled_
;
45
bool
updatesDeferred_
;
46
};
47
48
}
// namespace QuantExt
QuantExt::SavedObservableSettings
Definition:
savedobservablesettings.hpp:26
QuantExt::SavedObservableSettings::updatesEnabled_
bool updatesEnabled_
Definition:
savedobservablesettings.hpp:44
QuantExt::SavedObservableSettings::updatesDeferred_
bool updatesDeferred_
Definition:
savedobservablesettings.hpp:45
QuantExt::SavedObservableSettings::~SavedObservableSettings
~SavedObservableSettings()
Definition:
savedobservablesettings.hpp:32
QuantExt::SavedObservableSettings::updatesEnabled
bool updatesEnabled() const
Definition:
savedobservablesettings.hpp:40
QuantExt::SavedObservableSettings::updatesDeferred
bool updatesDeferred() const
Definition:
savedobservablesettings.hpp:41
QuantExt::SavedObservableSettings::SavedObservableSettings
SavedObservableSettings()
Definition:
savedobservablesettings.hpp:28
QuantExt
Definition:
namespaces.docs:19
Generated by
Doxygen
1.9.5