Skip to content

Commit b77cf52

Browse files
pcaspersjenkins
authored andcommitted
QPR-12014 clean up copy ctors
1 parent 54e1ce2 commit b77cf52

1 file changed

Lines changed: 18 additions & 17 deletions

File tree

OREAnalytics/orea/scenario/sensitivityscenariodata.hpp

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -60,45 +60,52 @@ class SensitivityScenarioData : public XMLSerializable {
6060
};
6161

6262
struct CurveShiftData : ShiftData {
63+
CurveShiftData() : ShiftData() {}
64+
CurveShiftData(const ShiftData& d) : ShiftData(d) {}
6365
virtual ~CurveShiftData() {}
6466
vector<Period> shiftTenors;
6567
};
6668

67-
struct SpotShiftData : ShiftData {};
69+
using SpotShiftData = ShiftData;
6870

6971
struct CdsVolShiftData : ShiftData {
72+
CdsVolShiftData() : ShiftData() {}
73+
CdsVolShiftData(const ShiftData& d) : ShiftData(d) {}
7074
string ccy;
7175
vector<Period> shiftExpiries;
7276
};
7377

7478
struct BaseCorrelationShiftData : ShiftData {
79+
BaseCorrelationShiftData() : ShiftData() {}
80+
BaseCorrelationShiftData(const ShiftData& d) : ShiftData(d) {}
7581
vector<Period> shiftTerms;
7682
vector<Real> shiftLossLevels;
7783
string indexName;
7884
};
7985

8086
struct VolShiftData : ShiftData {
8187
VolShiftData() : shiftStrikes({0.0}), isRelative(false) {}
88+
VolShiftData(const ShiftData& d) : ShiftData(d), shiftStrikes({0.0}), isRelative(false) {}
8289
vector<Period> shiftExpiries;
8390
vector<Real> shiftStrikes;
8491
bool isRelative;
8592
};
8693

8794
struct CapFloorVolShiftData : VolShiftData {
95+
CapFloorVolShiftData() : VolShiftData() {}
96+
CapFloorVolShiftData(const VolShiftData& d) : VolShiftData(d) {}
8897
string indexName;
8998
};
9099

91100
struct GenericYieldVolShiftData : VolShiftData {
101+
GenericYieldVolShiftData() : VolShiftData() {}
102+
GenericYieldVolShiftData(const VolShiftData& d) : VolShiftData(d) {}
92103
vector<Period> shiftTerms;
93104
};
94105

95-
struct CurveShiftParData : SensitivityScenarioData::CurveShiftData {
96-
CurveShiftParData(SensitivityScenarioData::CurveShiftData c) {
97-
shiftType = c.shiftType;
98-
shiftSize = c.shiftSize;
99-
shiftTenors = c.shiftTenors;
100-
}
101-
CurveShiftParData() {}
106+
struct CurveShiftParData : CurveShiftData {
107+
CurveShiftParData() : CurveShiftData() {}
108+
CurveShiftParData(const CurveShiftData& c) : CurveShiftData(c) {}
102109
vector<string> parInstruments;
103110
bool parInstrumentSingleCurve = true;
104111

@@ -115,15 +122,9 @@ class SensitivityScenarioData : public XMLSerializable {
115122
map<string, string> parInstrumentConventions;
116123
};
117124

118-
struct CapFloorVolShiftParData : SensitivityScenarioData::CapFloorVolShiftData {
119-
CapFloorVolShiftParData(SensitivityScenarioData::CapFloorVolShiftData c) {
120-
shiftType = c.shiftType;
121-
shiftSize = c.shiftSize;
122-
shiftExpiries = c.shiftExpiries;
123-
shiftStrikes = c.shiftStrikes;
124-
indexName = c.indexName;
125-
}
126-
CapFloorVolShiftParData() {}
125+
struct CapFloorVolShiftParData : CapFloorVolShiftData {
126+
CapFloorVolShiftParData() : CapFloorVolShiftData() {}
127+
CapFloorVolShiftParData(const CapFloorVolShiftData& c) : CapFloorVolShiftData(c) {}
127128
vector<string> parInstruments;
128129
bool parInstrumentSingleCurve = true;
129130

0 commit comments

Comments
 (0)