20#include <ql/currency.hpp>
27 return out << c.
code();
29 return out <<
"null currency";
36 std::string fractionSymbol,
39 std::string formatString,
41 std::set<std::string> minorUnitCodes)
42 : name(
std::move(name)), code(
std::move(code)), numeric(numericCode), symbol(
std::move(symbol)),
43 fractionSymbol(
std::move(fractionSymbol)), fractionsPerUnit(fractionsPerUnit),
44 rounding(rounding), triangulated(
std::move(triangulationCurrency)),
45 formatString(
std::move(formatString)), minorUnitCodes(
std::move(minorUnitCodes)) {}
48 const std::string&
code,
54 const std::string& formatString,
const Rounding & rounding() const
rounding convention
const std::string & code() const
ISO 4217 three-letter code, e.g, "USD".
const std::string & name() const
currency name, e.g, "U.S. Dollar"
bool empty() const
is this a usable instance?
Integer numericCode() const
ISO 4217 numeric code, e.g, "840".
const std::set< std::string > & minorUnitCodes() const
minor unit codes, e.g. GBp, GBX for GBP
Integer fractionsPerUnit() const
number of fractionary parts in a unit, e.g, 100
const Currency & triangulationCurrency() const
currency used for triangulated exchange when required
ext::shared_ptr< Data > data_
const std::string & fractionSymbol() const
fraction symbol, e.g, "ยข"
const std::string & symbol() const
symbol, e.g, "$"
Currency()=default
default constructor
QL_INTEGER Integer
integer number
std::ostream & operator<<(std::ostream &out, GFunctionFactory::YieldCurveModel type)
Data(std::string name, std::string code, Integer numericCode, std::string symbol, std::string fractionSymbol, Integer fractionsPerUnit, const Rounding &rounding, std::string formatString, Currency triangulationCurrency=Currency(), std::set< std::string > minorUnitCodes={})