Skip to content

Commit e41aa9c

Browse files
nathaniel.volfangojenkins
authored andcommitted
QPR-12446 -- Clean up namespaes and move exercise type operator<<
1 parent 44ca499 commit e41aa9c

5 files changed

Lines changed: 23 additions & 14 deletions

File tree

OREData/ored/configuration/equitycurveconfig.cpp

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -143,16 +143,5 @@ EquityCurveConfig::Type parseEquityCurveConfigType(const std::string& str) {
143143
QL_FAIL("Invalid EquityCurveConfig::Type " << str);
144144
}
145145

146-
std::ostream& operator<<(std::ostream& out, Exercise::Type t) {
147-
switch (t) {
148-
case Exercise::American:
149-
return out << "American";
150-
case Exercise::European:
151-
return out << "European";
152-
default:
153-
QL_FAIL("invalid Exercise::Type(" << int(t) << ")");
154-
}
155-
}
156-
157146
} // namespace data
158147
} // namespace ore

OREData/ored/configuration/equitycurveconfig.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,6 @@ class EquityCurveConfig : public CurveConfig {
118118
};
119119

120120
std::ostream& operator<<(std::ostream& out, EquityCurveConfig::Type t);
121-
std::ostream& operator<<(std::ostream& out, QuantLib::Exercise::Type t);
122121

123122
EquityCurveConfig::Type parseEquityCurveConfigType(const std::string& str);
124123

OREData/ored/configuration/volatilityconfig.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ void VolatilityConfig::fromXMLNode(XMLNode* node) {
4646
}
4747

4848
void VolatilityConfig::toXMLNode(XMLDocument& doc, XMLNode* node) const {
49-
XMLUtils::addAttribute(doc, node, "priority", to_string(priority_));
49+
XMLUtils::addAttribute(doc, node, "priority", std::to_string(priority_));
5050
if (!calendarStr_.empty())
5151
XMLUtils::addChild(doc, node, "Calendar", calendarStr_);
5252
}
@@ -126,7 +126,7 @@ void QuoteBasedVolatilityConfig::toBaseNode(XMLDocument& doc, XMLNode* node) con
126126
// Check first for premium
127127
if (quoteType_ == MarketDatum::QuoteType::PRICE) {
128128
XMLUtils::addChild(doc, node, "QuoteType", "Premium");
129-
XMLUtils::addChild(doc, node, "ExerciseType", to_string(exerciseType_));
129+
XMLUtils::addChild(doc, node, "ExerciseType", ore::data::to_string(exerciseType_));
130130
return;
131131
}
132132

OREData/ored/utilities/parsers.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1492,5 +1492,20 @@ std::ostream& operator<<(std::ostream& out, SabrParametricVolatility::ModelVaria
14921492
return out;
14931493
}
14941494

1495+
std::ostream& operator<<(std::ostream& os, Exercise::Type type) {
1496+
if (type == Exercise::European) {
1497+
os << "European";
1498+
} else if (type == Exercise::Bermudan) {
1499+
os << "Bermudan";
1500+
} else if (type == Exercise::American) {
1501+
os << "American";
1502+
} else {
1503+
QL_FAIL("Exercise::Type (" << static_cast<int>(type)
1504+
<< " not recognized. Expected 'European', 'Bermudan', or 'American'.");
1505+
}
1506+
1507+
return os;
1508+
}
1509+
14951510
} // namespace data
14961511
} // namespace ore

OREData/ored/utilities/parsers.hpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -611,5 +611,11 @@ QuantExt::SabrParametricVolatility::ModelVariant parseSabrParametricVolatilityMo
611611
*/
612612
std::ostream& operator<<(std::ostream& out, QuantExt::SabrParametricVolatility::ModelVariant m);
613613

614+
//! Write QuantLib::Exercise::Type
615+
/*!
616+
\ingroup utilities
617+
*/
618+
std::ostream& operator<<(std::ostream& os, QuantLib::Exercise::Type type);
619+
614620
} // namespace data
615621
} // namespace ore

0 commit comments

Comments
 (0)