Fully annotated reference manual - version 1.8.12
Loading...
Searching...
No Matches
orea
engine
observationmode.hpp
Go to the documentation of this file.
1
/*
2
Copyright (C) 2016 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
/*! \file engine/observationmode.hpp
20
\brief Singleton class to hold global Observation Mode
21
\ingroup utilities
22
*/
23
24
#pragma once
25
26
#include <ql/patterns/observable.hpp>
27
28
namespace
ore
{
29
namespace
analytics {
30
31
//! The Global Observation setting
32
/*!
33
This singleton is used in ORE to control the usage of the QuantLib::ObservableSettings
34
\ingroup utilities
35
*/
36
class
ObservationMode
:
public
QuantLib::Singleton<ObservationMode> {
37
friend
class
QuantLib::Singleton<
ObservationMode
>;
38
39
private
:
40
ObservationMode
() :
mode_
(
Mode
::
None
) {}
41
42
public
:
43
//! Allowable mode mode
44
enum class
Mode
{
None
,
Disable
,
Defer
,
Unregister
};
45
46
Mode
mode
() {
return
mode_
; }
47
48
void
setMode
(
Mode
s) {
mode_
= s; }
49
50
void
setMode
(
const
std::string& s) {
51
if
(s ==
"None"
)
52
mode_
=
Mode::None
;
53
else
if
(s ==
"Disable"
)
54
mode_
=
Mode::Disable
;
55
else
if
(s ==
"Defer"
)
56
mode_
=
Mode::Defer
;
57
else
if
(s ==
"Unregister"
)
58
mode_
=
Mode::Unregister
;
59
else
{
60
QL_FAIL(
"Invalid ObserverMode string "
<< s);
61
}
62
}
63
64
private
:
65
Mode
mode_
;
66
};
67
}
// namespace analytics
68
}
// namespace ore
ore::analytics::ObservationMode
The Global Observation setting.
Definition:
observationmode.hpp:36
ore::analytics::ObservationMode::setMode
void setMode(Mode s)
Definition:
observationmode.hpp:48
ore::analytics::ObservationMode::Mode
Mode
Allowable mode mode.
Definition:
observationmode.hpp:44
ore::analytics::ObservationMode::Mode::None
@ None
ore::analytics::ObservationMode::Mode::Unregister
@ Unregister
ore::analytics::ObservationMode::Mode::Defer
@ Defer
ore::analytics::ObservationMode::Mode::Disable
@ Disable
ore::analytics::ObservationMode::mode
Mode mode()
Definition:
observationmode.hpp:46
ore::analytics::ObservationMode::setMode
void setMode(const std::string &s)
Definition:
observationmode.hpp:50
ore::analytics::ObservationMode::mode_
Mode mode_
Definition:
observationmode.hpp:65
ore::analytics::ObservationMode::ObservationMode
ObservationMode()
Definition:
observationmode.hpp:40
ore
Generated by
Doxygen
1.9.5