root/isimud/exchanges/common/iso_4217_currency_codes.hpp

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. to_stream

   1 
   2 #ifndef libjmmcg_isimud_exchanges_common_iso_4217_currency_codes_hpp
   3 #define libjmmcg_isimud_exchanges_common_iso_4217_currency_codes_hpp
   4 
   5 /******************************************************************************
   6 **
   7 **      $Header: svn+ssh://jmmcg@svn.code.sf.net/p/libjmmcg/code/trunk/libjmmcg/isimud/exchanges/common/iso_4217_currency_codes_converter.xsl 2248 2017-12-29 14:01:08Z jmmcg $
   8 **
   9 ** Copyright (c) 2017 by J.M.McGuiness, isimud@hussar.me.uk
  10 **
  11 ** This library is free software; you can redistribute it and/or
  12 ** modify it under the terms of the GNU Lesser General Public
  13 ** License as published by the Free Software Foundation; either
  14 ** version 2.1 of the License, or (at your option) any later version.
  15 **
  16 ** This library is distributed in the hope that it will be useful,
  17 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
  18 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  19 ** Lesser General Public License for more details.
  20 **
  21 ** You should have received a copy of the GNU Lesser General Public
  22 ** License along with this library; if not, write to the Free Software
  23 ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  24 */
  25 
  26 /**
  27         This is an auto-generated file. DO NOT EDIT!
  28         Generated: 2018-10-05T08:07:00.087+01:00
  29 
  30 */
  31 
  32 #include "core/enum_as_char_array.hpp"
  33 
  34 #include <boost/hana/integral_constant.hpp>
  35 #include <boost/hana/map.hpp>
  36 #include <boost/hana/pair.hpp>
  37 #include <boost/hana/type.hpp>
  38 
  39 #include <array>
  40 #include <cstdint>
  41 #include <limits>
  42 #include <iostream>
  43 
  44 namespace isimud { namespace exchanges { namespace common { namespace ccy_codes {
  45 
  46 /// The value used to represent invalid currencies or monetary units.
  47 static constexpr const std::size_t invalid_CcyMnrUnts=std::numeric_limits<std::size_t>::max();
  48 
  49 /// ISO 4217: Currency Codes, with the value of the tag having the currency encoded in the tag-value.
  50 enum class ISO_4217_Currency_Codes : std::uint32_t {
  51         
  52                 /// CcyNbr=840, CcyMnrUnts=2.
  53 
  54                         ISO_4217_AMERICAN_SAMOA_US_Dollar=jmmcg::enum_tags::mpl::to_tag<'U','S','D','\0'>::value,
  55 
  56                 /// CcyNbr=840, CcyMnrUnts=2.
  57 
  58                         ISO_4217_BONAIRE__SINT_EUSTATIUS_AND_SABA_US_Dollar=jmmcg::enum_tags::mpl::to_tag<'U','S','D','\0'>::value,
  59 
  60                 /// CcyNbr=578, CcyMnrUnts=2.
  61 
  62                         ISO_4217_BOUVET_ISLAND_Norwegian_Krone=jmmcg::enum_tags::mpl::to_tag<'N','O','K','\0'>::value,
  63 
  64                 /// CcyNbr=840, CcyMnrUnts=2.
  65 
  66                         ISO_4217_BRITISH_INDIAN_OCEAN_TERRITORY__THE__US_Dollar=jmmcg::enum_tags::mpl::to_tag<'U','S','D','\0'>::value,
  67 
  68                 /// CcyNbr=840, CcyMnrUnts=2.
  69 
  70                         ISO_4217_ECUADOR_US_Dollar=jmmcg::enum_tags::mpl::to_tag<'U','S','D','\0'>::value,
  71 
  72                 /// CcyNbr=840, CcyMnrUnts=2.
  73 
  74                         ISO_4217_EL_SALVADOR_US_Dollar=jmmcg::enum_tags::mpl::to_tag<'U','S','D','\0'>::value,
  75 
  76                 /// CcyNbr=840, CcyMnrUnts=2.
  77 
  78                         ISO_4217_GUAM_US_Dollar=jmmcg::enum_tags::mpl::to_tag<'U','S','D','\0'>::value,
  79 
  80                 /// CcyNbr=826, CcyMnrUnts=2.
  81 
  82                         ISO_4217_GUERNSEY_Pound_Sterling=jmmcg::enum_tags::mpl::to_tag<'G','B','P','\0'>::value,
  83 
  84                 /// CcyNbr=840, CcyMnrUnts=2.
  85 
  86                         ISO_4217_HAITI_US_Dollar=jmmcg::enum_tags::mpl::to_tag<'U','S','D','\0'>::value,
  87 
  88                 /// CcyNbr=826, CcyMnrUnts=2.
  89 
  90                         ISO_4217_ISLE_OF_MAN_Pound_Sterling=jmmcg::enum_tags::mpl::to_tag<'G','B','P','\0'>::value,
  91 
  92                 /// CcyNbr=826, CcyMnrUnts=2.
  93 
  94                         ISO_4217_JERSEY_Pound_Sterling=jmmcg::enum_tags::mpl::to_tag<'G','B','P','\0'>::value,
  95 
  96                 /// CcyNbr=710, CcyMnrUnts=2.
  97 
  98                         ISO_4217_LESOTHO_Rand=jmmcg::enum_tags::mpl::to_tag<'Z','A','R','\0'>::value,
  99 
 100                 /// CcyNbr=840, CcyMnrUnts=2.
 101 
 102                         ISO_4217_MARSHALL_ISLANDS__THE__US_Dollar=jmmcg::enum_tags::mpl::to_tag<'U','S','D','\0'>::value,
 103 
 104                 /// CcyNbr=840, CcyMnrUnts=2.
 105 
 106                         ISO_4217_MICRONESIA__FEDERATED_STATES_OF__US_Dollar=jmmcg::enum_tags::mpl::to_tag<'U','S','D','\0'>::value,
 107 
 108                 /// CcyNbr=710, CcyMnrUnts=2.
 109 
 110                         ISO_4217_NAMIBIA_Rand=jmmcg::enum_tags::mpl::to_tag<'Z','A','R','\0'>::value,
 111 
 112                 /// CcyNbr=840, CcyMnrUnts=2.
 113 
 114                         ISO_4217_NORTHERN_MARIANA_ISLANDS__THE__US_Dollar=jmmcg::enum_tags::mpl::to_tag<'U','S','D','\0'>::value,
 115 
 116                 /// CcyNbr=578, CcyMnrUnts=2.
 117 
 118                         ISO_4217_NORWAY_Norwegian_Krone=jmmcg::enum_tags::mpl::to_tag<'N','O','K','\0'>::value,
 119 
 120                 /// CcyNbr=840, CcyMnrUnts=2.
 121 
 122                         ISO_4217_PALAU_US_Dollar=jmmcg::enum_tags::mpl::to_tag<'U','S','D','\0'>::value,
 123 
 124                 /// CcyNbr=840, CcyMnrUnts=2.
 125 
 126                         ISO_4217_PANAMA_US_Dollar=jmmcg::enum_tags::mpl::to_tag<'U','S','D','\0'>::value,
 127 
 128                 /// CcyNbr=840, CcyMnrUnts=2.
 129 
 130                         ISO_4217_PUERTO_RICO_US_Dollar=jmmcg::enum_tags::mpl::to_tag<'U','S','D','\0'>::value,
 131 
 132                 /// CcyNbr=710, CcyMnrUnts=2.
 133 
 134                         ISO_4217_SOUTH_AFRICA_Rand=jmmcg::enum_tags::mpl::to_tag<'Z','A','R','\0'>::value,
 135 
 136                 /// CcyNbr=578, CcyMnrUnts=2.
 137 
 138                         ISO_4217_SVALBARD_AND_JAN_MAYEN_Norwegian_Krone=jmmcg::enum_tags::mpl::to_tag<'N','O','K','\0'>::value,
 139 
 140                 /// CcyNbr=840, CcyMnrUnts=2.
 141 
 142                         ISO_4217_TIMOR_LESTE_US_Dollar=jmmcg::enum_tags::mpl::to_tag<'U','S','D','\0'>::value,
 143 
 144                 /// CcyNbr=840, CcyMnrUnts=2.
 145 
 146                         ISO_4217_TURKS_AND_CAICOS_ISLANDS__THE__US_Dollar=jmmcg::enum_tags::mpl::to_tag<'U','S','D','\0'>::value,
 147 
 148                 /// CcyNbr=826, CcyMnrUnts=2.
 149 
 150                         ISO_4217_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND__THE__Pound_Sterling=jmmcg::enum_tags::mpl::to_tag<'G','B','P','\0'>::value,
 151 
 152                 /// CcyNbr=840, CcyMnrUnts=2.
 153 
 154                         ISO_4217_UNITED_STATES_MINOR_OUTLYING_ISLANDS__THE__US_Dollar=jmmcg::enum_tags::mpl::to_tag<'U','S','D','\0'>::value,
 155 
 156                 /// CcyNbr=840, CcyMnrUnts=2.
 157 
 158                         ISO_4217_UNITED_STATES_OF_AMERICA__THE__US_Dollar=jmmcg::enum_tags::mpl::to_tag<'U','S','D','\0'>::value,
 159 
 160                 /// CcyNbr=997, CcyMnrUnts=2.
 161 
 162                         ISO_4217_UNITED_STATES_OF_AMERICA__THE__US_Dollar__Next_day_=jmmcg::enum_tags::mpl::to_tag<'U','S','N','\0'>::value,
 163 
 164                 /// CcyNbr=840, CcyMnrUnts=2.
 165 
 166                         ISO_4217_VIRGIN_ISLANDS__BRITISH__US_Dollar=jmmcg::enum_tags::mpl::to_tag<'U','S','D','\0'>::value,
 167 
 168                 /// CcyNbr=840, CcyMnrUnts=2.
 169 
 170                         ISO_4217_VIRGIN_ISLANDS__U_S___US_Dollar=jmmcg::enum_tags::mpl::to_tag<'U','S','D','\0'>::value,
 171 
 172 };
 173 
 174 struct hash {
 175         using base_type=std::underlying_type<ISO_4217_Currency_Codes>::type;
 176 
 177         constexpr base_type operator()(ISO_4217_Currency_Codes const v) const noexcept(true) {
 178                 return static_cast<base_type>(v);
 179         }
 180         constexpr base_type operator()(ISO_4217_Currency_Codes const v, std::size_t &) const noexcept(true) {
 181                 return static_cast<base_type>(v);
 182         }
 183 };
 184 
 185 inline bool
 186 operator==(ISO_4217_Currency_Codes const lhs, char const * const rhs) noexcept(true) {
 187         using base_type=std::underlying_type<ISO_4217_Currency_Codes>::type;
 188 // May not be NULL-terminated:  assert(std::strlen(rhs)>=sizeof(base_type));
 189         return static_cast<base_type>(lhs)==*reinterpret_cast<base_type const * const>(rhs);
 190 }
 191 
 192 using currency_t=std::array<
 193         char,
 194         sizeof(std::underlying_type<ISO_4217_Currency_Codes>::type)
 195 >;
 196 
 197 /// A function to extract the ISO Currency-Code as a character string.
 198 template<ISO_4217_Currency_Codes CCYCode>
 199 inline std::ostream &
 200 to_stream(std::ostream &os) noexcept(false) {
 201         const constexpr auto &ccy_code_str=jmmcg::enum_tags::mpl::to_array<ISO_4217_Currency_Codes, CCYCode>::value;
 202         os<<ccy_code_str;
 203         return os;
 204 }
 205 
 206 namespace private_ {
 207 
 208 
 209 struct ccy_details_AMERICAN_SAMOA_US_Dollar {
 210         enum : std::size_t {
 211                 ccy_nbr=840,
 212                 ccy_mnr_unts=2
 213         };
 214         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_AMERICAN_SAMOA_US_Dollar;
 215         static constexpr const char country_name[]={
 216                 'A','M','E','R','I','C','A','N','S','A','M','O','A','\0'
 217         };
 218         static constexpr const char currency_name[]={
 219                 'U','S','D','o','l','l','a','r','\0'
 220         };
 221 
 222         static std::ostream &
 223         to_stream(std::ostream &os) noexcept(false) {
 224                 os
 225                         <<"country name: "<<country_name
 226                         <<", currency name: "<<currency_name;
 227                 return os;
 228         }
 229 };
 230 
 231 constexpr const char ccy_details_AMERICAN_SAMOA_US_Dollar::country_name[];
 232 constexpr const char ccy_details_AMERICAN_SAMOA_US_Dollar::currency_name[];
 233 
 234         
 235 struct ccy_details_BONAIRE__SINT_EUSTATIUS_AND_SABA_US_Dollar {
 236         enum : std::size_t {
 237                 ccy_nbr=840,
 238                 ccy_mnr_unts=2
 239         };
 240         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_BONAIRE__SINT_EUSTATIUS_AND_SABA_US_Dollar;
 241         static constexpr const char country_name[]={
 242                 'B','O','N','A','I','R','E','S','I','N','T','E','U','S','T','A','T','I','U','S','A','N','D','S','A','B','A','\0'
 243         };
 244         static constexpr const char currency_name[]={
 245                 'U','S','D','o','l','l','a','r','\0'
 246         };
 247 
 248         static std::ostream &
 249         to_stream(std::ostream &os) noexcept(false) {
 250                 os
 251                         <<"country name: "<<country_name
 252                         <<", currency name: "<<currency_name;
 253                 return os;
 254         }
 255 };
 256 
 257 constexpr const char ccy_details_BONAIRE__SINT_EUSTATIUS_AND_SABA_US_Dollar::country_name[];
 258 constexpr const char ccy_details_BONAIRE__SINT_EUSTATIUS_AND_SABA_US_Dollar::currency_name[];
 259 
 260         
 261 struct ccy_details_BOUVET_ISLAND_Norwegian_Krone {
 262         enum : std::size_t {
 263                 ccy_nbr=578,
 264                 ccy_mnr_unts=2
 265         };
 266         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_BOUVET_ISLAND_Norwegian_Krone;
 267         static constexpr const char country_name[]={
 268                 'B','O','U','V','E','T','I','S','L','A','N','D','\0'
 269         };
 270         static constexpr const char currency_name[]={
 271                 'N','o','r','w','e','g','i','a','n','K','r','o','n','e','\0'
 272         };
 273 
 274         static std::ostream &
 275         to_stream(std::ostream &os) noexcept(false) {
 276                 os
 277                         <<"country name: "<<country_name
 278                         <<", currency name: "<<currency_name;
 279                 return os;
 280         }
 281 };
 282 
 283 constexpr const char ccy_details_BOUVET_ISLAND_Norwegian_Krone::country_name[];
 284 constexpr const char ccy_details_BOUVET_ISLAND_Norwegian_Krone::currency_name[];
 285 
 286         
 287 struct ccy_details_BRITISH_INDIAN_OCEAN_TERRITORY__THE__US_Dollar {
 288         enum : std::size_t {
 289                 ccy_nbr=840,
 290                 ccy_mnr_unts=2
 291         };
 292         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_BRITISH_INDIAN_OCEAN_TERRITORY__THE__US_Dollar;
 293         static constexpr const char country_name[]={
 294                 'B','R','I','T','I','S','H','I','N','D','I','A','N','O','C','E','A','N','T','E','R','R','I','T','O','R','Y','T','H','E','\0'
 295         };
 296         static constexpr const char currency_name[]={
 297                 'U','S','D','o','l','l','a','r','\0'
 298         };
 299 
 300         static std::ostream &
 301         to_stream(std::ostream &os) noexcept(false) {
 302                 os
 303                         <<"country name: "<<country_name
 304                         <<", currency name: "<<currency_name;
 305                 return os;
 306         }
 307 };
 308 
 309 constexpr const char ccy_details_BRITISH_INDIAN_OCEAN_TERRITORY__THE__US_Dollar::country_name[];
 310 constexpr const char ccy_details_BRITISH_INDIAN_OCEAN_TERRITORY__THE__US_Dollar::currency_name[];
 311 
 312         
 313 struct ccy_details_ECUADOR_US_Dollar {
 314         enum : std::size_t {
 315                 ccy_nbr=840,
 316                 ccy_mnr_unts=2
 317         };
 318         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_ECUADOR_US_Dollar;
 319         static constexpr const char country_name[]={
 320                 'E','C','U','A','D','O','R','\0'
 321         };
 322         static constexpr const char currency_name[]={
 323                 'U','S','D','o','l','l','a','r','\0'
 324         };
 325 
 326         static std::ostream &
 327         to_stream(std::ostream &os) noexcept(false) {
 328                 os
 329                         <<"country name: "<<country_name
 330                         <<", currency name: "<<currency_name;
 331                 return os;
 332         }
 333 };
 334 
 335 constexpr const char ccy_details_ECUADOR_US_Dollar::country_name[];
 336 constexpr const char ccy_details_ECUADOR_US_Dollar::currency_name[];
 337 
 338         
 339 struct ccy_details_EL_SALVADOR_US_Dollar {
 340         enum : std::size_t {
 341                 ccy_nbr=840,
 342                 ccy_mnr_unts=2
 343         };
 344         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_EL_SALVADOR_US_Dollar;
 345         static constexpr const char country_name[]={
 346                 'E','L','S','A','L','V','A','D','O','R','\0'
 347         };
 348         static constexpr const char currency_name[]={
 349                 'U','S','D','o','l','l','a','r','\0'
 350         };
 351 
 352         static std::ostream &
 353         to_stream(std::ostream &os) noexcept(false) {
 354                 os
 355                         <<"country name: "<<country_name
 356                         <<", currency name: "<<currency_name;
 357                 return os;
 358         }
 359 };
 360 
 361 constexpr const char ccy_details_EL_SALVADOR_US_Dollar::country_name[];
 362 constexpr const char ccy_details_EL_SALVADOR_US_Dollar::currency_name[];
 363 
 364         
 365 struct ccy_details_GUAM_US_Dollar {
 366         enum : std::size_t {
 367                 ccy_nbr=840,
 368                 ccy_mnr_unts=2
 369         };
 370         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_GUAM_US_Dollar;
 371         static constexpr const char country_name[]={
 372                 'G','U','A','M','\0'
 373         };
 374         static constexpr const char currency_name[]={
 375                 'U','S','D','o','l','l','a','r','\0'
 376         };
 377 
 378         static std::ostream &
 379         to_stream(std::ostream &os) noexcept(false) {
 380                 os
 381                         <<"country name: "<<country_name
 382                         <<", currency name: "<<currency_name;
 383                 return os;
 384         }
 385 };
 386 
 387 constexpr const char ccy_details_GUAM_US_Dollar::country_name[];
 388 constexpr const char ccy_details_GUAM_US_Dollar::currency_name[];
 389 
 390         
 391 struct ccy_details_GUERNSEY_Pound_Sterling {
 392         enum : std::size_t {
 393                 ccy_nbr=826,
 394                 ccy_mnr_unts=2
 395         };
 396         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_GUERNSEY_Pound_Sterling;
 397         static constexpr const char country_name[]={
 398                 'G','U','E','R','N','S','E','Y','\0'
 399         };
 400         static constexpr const char currency_name[]={
 401                 'P','o','u','n','d','S','t','e','r','l','i','n','g','\0'
 402         };
 403 
 404         static std::ostream &
 405         to_stream(std::ostream &os) noexcept(false) {
 406                 os
 407                         <<"country name: "<<country_name
 408                         <<", currency name: "<<currency_name;
 409                 return os;
 410         }
 411 };
 412 
 413 constexpr const char ccy_details_GUERNSEY_Pound_Sterling::country_name[];
 414 constexpr const char ccy_details_GUERNSEY_Pound_Sterling::currency_name[];
 415 
 416         
 417 struct ccy_details_HAITI_US_Dollar {
 418         enum : std::size_t {
 419                 ccy_nbr=840,
 420                 ccy_mnr_unts=2
 421         };
 422         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_HAITI_US_Dollar;
 423         static constexpr const char country_name[]={
 424                 'H','A','I','T','I','\0'
 425         };
 426         static constexpr const char currency_name[]={
 427                 'U','S','D','o','l','l','a','r','\0'
 428         };
 429 
 430         static std::ostream &
 431         to_stream(std::ostream &os) noexcept(false) {
 432                 os
 433                         <<"country name: "<<country_name
 434                         <<", currency name: "<<currency_name;
 435                 return os;
 436         }
 437 };
 438 
 439 constexpr const char ccy_details_HAITI_US_Dollar::country_name[];
 440 constexpr const char ccy_details_HAITI_US_Dollar::currency_name[];
 441 
 442         
 443 struct ccy_details_ISLE_OF_MAN_Pound_Sterling {
 444         enum : std::size_t {
 445                 ccy_nbr=826,
 446                 ccy_mnr_unts=2
 447         };
 448         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_ISLE_OF_MAN_Pound_Sterling;
 449         static constexpr const char country_name[]={
 450                 'I','S','L','E','O','F','M','A','N','\0'
 451         };
 452         static constexpr const char currency_name[]={
 453                 'P','o','u','n','d','S','t','e','r','l','i','n','g','\0'
 454         };
 455 
 456         static std::ostream &
 457         to_stream(std::ostream &os) noexcept(false) {
 458                 os
 459                         <<"country name: "<<country_name
 460                         <<", currency name: "<<currency_name;
 461                 return os;
 462         }
 463 };
 464 
 465 constexpr const char ccy_details_ISLE_OF_MAN_Pound_Sterling::country_name[];
 466 constexpr const char ccy_details_ISLE_OF_MAN_Pound_Sterling::currency_name[];
 467 
 468         
 469 struct ccy_details_JERSEY_Pound_Sterling {
 470         enum : std::size_t {
 471                 ccy_nbr=826,
 472                 ccy_mnr_unts=2
 473         };
 474         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_JERSEY_Pound_Sterling;
 475         static constexpr const char country_name[]={
 476                 'J','E','R','S','E','Y','\0'
 477         };
 478         static constexpr const char currency_name[]={
 479                 'P','o','u','n','d','S','t','e','r','l','i','n','g','\0'
 480         };
 481 
 482         static std::ostream &
 483         to_stream(std::ostream &os) noexcept(false) {
 484                 os
 485                         <<"country name: "<<country_name
 486                         <<", currency name: "<<currency_name;
 487                 return os;
 488         }
 489 };
 490 
 491 constexpr const char ccy_details_JERSEY_Pound_Sterling::country_name[];
 492 constexpr const char ccy_details_JERSEY_Pound_Sterling::currency_name[];
 493 
 494         
 495 struct ccy_details_LESOTHO_Rand {
 496         enum : std::size_t {
 497                 ccy_nbr=710,
 498                 ccy_mnr_unts=2
 499         };
 500         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_LESOTHO_Rand;
 501         static constexpr const char country_name[]={
 502                 'L','E','S','O','T','H','O','\0'
 503         };
 504         static constexpr const char currency_name[]={
 505                 'R','a','n','d','\0'
 506         };
 507 
 508         static std::ostream &
 509         to_stream(std::ostream &os) noexcept(false) {
 510                 os
 511                         <<"country name: "<<country_name
 512                         <<", currency name: "<<currency_name;
 513                 return os;
 514         }
 515 };
 516 
 517 constexpr const char ccy_details_LESOTHO_Rand::country_name[];
 518 constexpr const char ccy_details_LESOTHO_Rand::currency_name[];
 519 
 520         
 521 struct ccy_details_MARSHALL_ISLANDS__THE__US_Dollar {
 522         enum : std::size_t {
 523                 ccy_nbr=840,
 524                 ccy_mnr_unts=2
 525         };
 526         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_MARSHALL_ISLANDS__THE__US_Dollar;
 527         static constexpr const char country_name[]={
 528                 'M','A','R','S','H','A','L','L','I','S','L','A','N','D','S','T','H','E','\0'
 529         };
 530         static constexpr const char currency_name[]={
 531                 'U','S','D','o','l','l','a','r','\0'
 532         };
 533 
 534         static std::ostream &
 535         to_stream(std::ostream &os) noexcept(false) {
 536                 os
 537                         <<"country name: "<<country_name
 538                         <<", currency name: "<<currency_name;
 539                 return os;
 540         }
 541 };
 542 
 543 constexpr const char ccy_details_MARSHALL_ISLANDS__THE__US_Dollar::country_name[];
 544 constexpr const char ccy_details_MARSHALL_ISLANDS__THE__US_Dollar::currency_name[];
 545 
 546         
 547 struct ccy_details_MICRONESIA__FEDERATED_STATES_OF__US_Dollar {
 548         enum : std::size_t {
 549                 ccy_nbr=840,
 550                 ccy_mnr_unts=2
 551         };
 552         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_MICRONESIA__FEDERATED_STATES_OF__US_Dollar;
 553         static constexpr const char country_name[]={
 554                 'M','I','C','R','O','N','E','S','I','A','F','E','D','E','R','A','T','E','D','S','T','A','T','E','S','O','F','\0'
 555         };
 556         static constexpr const char currency_name[]={
 557                 'U','S','D','o','l','l','a','r','\0'
 558         };
 559 
 560         static std::ostream &
 561         to_stream(std::ostream &os) noexcept(false) {
 562                 os
 563                         <<"country name: "<<country_name
 564                         <<", currency name: "<<currency_name;
 565                 return os;
 566         }
 567 };
 568 
 569 constexpr const char ccy_details_MICRONESIA__FEDERATED_STATES_OF__US_Dollar::country_name[];
 570 constexpr const char ccy_details_MICRONESIA__FEDERATED_STATES_OF__US_Dollar::currency_name[];
 571 
 572         
 573 struct ccy_details_NAMIBIA_Rand {
 574         enum : std::size_t {
 575                 ccy_nbr=710,
 576                 ccy_mnr_unts=2
 577         };
 578         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_NAMIBIA_Rand;
 579         static constexpr const char country_name[]={
 580                 'N','A','M','I','B','I','A','\0'
 581         };
 582         static constexpr const char currency_name[]={
 583                 'R','a','n','d','\0'
 584         };
 585 
 586         static std::ostream &
 587         to_stream(std::ostream &os) noexcept(false) {
 588                 os
 589                         <<"country name: "<<country_name
 590                         <<", currency name: "<<currency_name;
 591                 return os;
 592         }
 593 };
 594 
 595 constexpr const char ccy_details_NAMIBIA_Rand::country_name[];
 596 constexpr const char ccy_details_NAMIBIA_Rand::currency_name[];
 597 
 598         
 599 struct ccy_details_NORTHERN_MARIANA_ISLANDS__THE__US_Dollar {
 600         enum : std::size_t {
 601                 ccy_nbr=840,
 602                 ccy_mnr_unts=2
 603         };
 604         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_NORTHERN_MARIANA_ISLANDS__THE__US_Dollar;
 605         static constexpr const char country_name[]={
 606                 'N','O','R','T','H','E','R','N','M','A','R','I','A','N','A','I','S','L','A','N','D','S','T','H','E','\0'
 607         };
 608         static constexpr const char currency_name[]={
 609                 'U','S','D','o','l','l','a','r','\0'
 610         };
 611 
 612         static std::ostream &
 613         to_stream(std::ostream &os) noexcept(false) {
 614                 os
 615                         <<"country name: "<<country_name
 616                         <<", currency name: "<<currency_name;
 617                 return os;
 618         }
 619 };
 620 
 621 constexpr const char ccy_details_NORTHERN_MARIANA_ISLANDS__THE__US_Dollar::country_name[];
 622 constexpr const char ccy_details_NORTHERN_MARIANA_ISLANDS__THE__US_Dollar::currency_name[];
 623 
 624         
 625 struct ccy_details_NORWAY_Norwegian_Krone {
 626         enum : std::size_t {
 627                 ccy_nbr=578,
 628                 ccy_mnr_unts=2
 629         };
 630         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_NORWAY_Norwegian_Krone;
 631         static constexpr const char country_name[]={
 632                 'N','O','R','W','A','Y','\0'
 633         };
 634         static constexpr const char currency_name[]={
 635                 'N','o','r','w','e','g','i','a','n','K','r','o','n','e','\0'
 636         };
 637 
 638         static std::ostream &
 639         to_stream(std::ostream &os) noexcept(false) {
 640                 os
 641                         <<"country name: "<<country_name
 642                         <<", currency name: "<<currency_name;
 643                 return os;
 644         }
 645 };
 646 
 647 constexpr const char ccy_details_NORWAY_Norwegian_Krone::country_name[];
 648 constexpr const char ccy_details_NORWAY_Norwegian_Krone::currency_name[];
 649 
 650         
 651 struct ccy_details_PALAU_US_Dollar {
 652         enum : std::size_t {
 653                 ccy_nbr=840,
 654                 ccy_mnr_unts=2
 655         };
 656         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_PALAU_US_Dollar;
 657         static constexpr const char country_name[]={
 658                 'P','A','L','A','U','\0'
 659         };
 660         static constexpr const char currency_name[]={
 661                 'U','S','D','o','l','l','a','r','\0'
 662         };
 663 
 664         static std::ostream &
 665         to_stream(std::ostream &os) noexcept(false) {
 666                 os
 667                         <<"country name: "<<country_name
 668                         <<", currency name: "<<currency_name;
 669                 return os;
 670         }
 671 };
 672 
 673 constexpr const char ccy_details_PALAU_US_Dollar::country_name[];
 674 constexpr const char ccy_details_PALAU_US_Dollar::currency_name[];
 675 
 676         
 677 struct ccy_details_PANAMA_US_Dollar {
 678         enum : std::size_t {
 679                 ccy_nbr=840,
 680                 ccy_mnr_unts=2
 681         };
 682         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_PANAMA_US_Dollar;
 683         static constexpr const char country_name[]={
 684                 'P','A','N','A','M','A','\0'
 685         };
 686         static constexpr const char currency_name[]={
 687                 'U','S','D','o','l','l','a','r','\0'
 688         };
 689 
 690         static std::ostream &
 691         to_stream(std::ostream &os) noexcept(false) {
 692                 os
 693                         <<"country name: "<<country_name
 694                         <<", currency name: "<<currency_name;
 695                 return os;
 696         }
 697 };
 698 
 699 constexpr const char ccy_details_PANAMA_US_Dollar::country_name[];
 700 constexpr const char ccy_details_PANAMA_US_Dollar::currency_name[];
 701 
 702         
 703 struct ccy_details_PUERTO_RICO_US_Dollar {
 704         enum : std::size_t {
 705                 ccy_nbr=840,
 706                 ccy_mnr_unts=2
 707         };
 708         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_PUERTO_RICO_US_Dollar;
 709         static constexpr const char country_name[]={
 710                 'P','U','E','R','T','O','R','I','C','O','\0'
 711         };
 712         static constexpr const char currency_name[]={
 713                 'U','S','D','o','l','l','a','r','\0'
 714         };
 715 
 716         static std::ostream &
 717         to_stream(std::ostream &os) noexcept(false) {
 718                 os
 719                         <<"country name: "<<country_name
 720                         <<", currency name: "<<currency_name;
 721                 return os;
 722         }
 723 };
 724 
 725 constexpr const char ccy_details_PUERTO_RICO_US_Dollar::country_name[];
 726 constexpr const char ccy_details_PUERTO_RICO_US_Dollar::currency_name[];
 727 
 728         
 729 struct ccy_details_SOUTH_AFRICA_Rand {
 730         enum : std::size_t {
 731                 ccy_nbr=710,
 732                 ccy_mnr_unts=2
 733         };
 734         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_SOUTH_AFRICA_Rand;
 735         static constexpr const char country_name[]={
 736                 'S','O','U','T','H','A','F','R','I','C','A','\0'
 737         };
 738         static constexpr const char currency_name[]={
 739                 'R','a','n','d','\0'
 740         };
 741 
 742         static std::ostream &
 743         to_stream(std::ostream &os) noexcept(false) {
 744                 os
 745                         <<"country name: "<<country_name
 746                         <<", currency name: "<<currency_name;
 747                 return os;
 748         }
 749 };
 750 
 751 constexpr const char ccy_details_SOUTH_AFRICA_Rand::country_name[];
 752 constexpr const char ccy_details_SOUTH_AFRICA_Rand::currency_name[];
 753 
 754         
 755 struct ccy_details_SVALBARD_AND_JAN_MAYEN_Norwegian_Krone {
 756         enum : std::size_t {
 757                 ccy_nbr=578,
 758                 ccy_mnr_unts=2
 759         };
 760         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_SVALBARD_AND_JAN_MAYEN_Norwegian_Krone;
 761         static constexpr const char country_name[]={
 762                 'S','V','A','L','B','A','R','D','A','N','D','J','A','N','M','A','Y','E','N','\0'
 763         };
 764         static constexpr const char currency_name[]={
 765                 'N','o','r','w','e','g','i','a','n','K','r','o','n','e','\0'
 766         };
 767 
 768         static std::ostream &
 769         to_stream(std::ostream &os) noexcept(false) {
 770                 os
 771                         <<"country name: "<<country_name
 772                         <<", currency name: "<<currency_name;
 773                 return os;
 774         }
 775 };
 776 
 777 constexpr const char ccy_details_SVALBARD_AND_JAN_MAYEN_Norwegian_Krone::country_name[];
 778 constexpr const char ccy_details_SVALBARD_AND_JAN_MAYEN_Norwegian_Krone::currency_name[];
 779 
 780         
 781 struct ccy_details_TIMOR_LESTE_US_Dollar {
 782         enum : std::size_t {
 783                 ccy_nbr=840,
 784                 ccy_mnr_unts=2
 785         };
 786         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_TIMOR_LESTE_US_Dollar;
 787         static constexpr const char country_name[]={
 788                 'T','I','M','O','R','L','E','S','T','E','\0'
 789         };
 790         static constexpr const char currency_name[]={
 791                 'U','S','D','o','l','l','a','r','\0'
 792         };
 793 
 794         static std::ostream &
 795         to_stream(std::ostream &os) noexcept(false) {
 796                 os
 797                         <<"country name: "<<country_name
 798                         <<", currency name: "<<currency_name;
 799                 return os;
 800         }
 801 };
 802 
 803 constexpr const char ccy_details_TIMOR_LESTE_US_Dollar::country_name[];
 804 constexpr const char ccy_details_TIMOR_LESTE_US_Dollar::currency_name[];
 805 
 806         
 807 struct ccy_details_TURKS_AND_CAICOS_ISLANDS__THE__US_Dollar {
 808         enum : std::size_t {
 809                 ccy_nbr=840,
 810                 ccy_mnr_unts=2
 811         };
 812         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_TURKS_AND_CAICOS_ISLANDS__THE__US_Dollar;
 813         static constexpr const char country_name[]={
 814                 'T','U','R','K','S','A','N','D','C','A','I','C','O','S','I','S','L','A','N','D','S','T','H','E','\0'
 815         };
 816         static constexpr const char currency_name[]={
 817                 'U','S','D','o','l','l','a','r','\0'
 818         };
 819 
 820         static std::ostream &
 821         to_stream(std::ostream &os) noexcept(false) {
 822                 os
 823                         <<"country name: "<<country_name
 824                         <<", currency name: "<<currency_name;
 825                 return os;
 826         }
 827 };
 828 
 829 constexpr const char ccy_details_TURKS_AND_CAICOS_ISLANDS__THE__US_Dollar::country_name[];
 830 constexpr const char ccy_details_TURKS_AND_CAICOS_ISLANDS__THE__US_Dollar::currency_name[];
 831 
 832         
 833 struct ccy_details_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND__THE__Pound_Sterling {
 834         enum : std::size_t {
 835                 ccy_nbr=826,
 836                 ccy_mnr_unts=2
 837         };
 838         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND__THE__Pound_Sterling;
 839         static constexpr const char country_name[]={
 840                 'U','N','I','T','E','D','K','I','N','G','D','O','M','O','F','G','R','E','A','T','B','R','I','T','A','I','N','A','N','D','N','O','R','T','H','E','R','N','I','R','E','L','A','N','D','T','H','E','\0'
 841         };
 842         static constexpr const char currency_name[]={
 843                 'P','o','u','n','d','S','t','e','r','l','i','n','g','\0'
 844         };
 845 
 846         static std::ostream &
 847         to_stream(std::ostream &os) noexcept(false) {
 848                 os
 849                         <<"country name: "<<country_name
 850                         <<", currency name: "<<currency_name;
 851                 return os;
 852         }
 853 };
 854 
 855 constexpr const char ccy_details_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND__THE__Pound_Sterling::country_name[];
 856 constexpr const char ccy_details_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND__THE__Pound_Sterling::currency_name[];
 857 
 858         
 859 struct ccy_details_UNITED_STATES_MINOR_OUTLYING_ISLANDS__THE__US_Dollar {
 860         enum : std::size_t {
 861                 ccy_nbr=840,
 862                 ccy_mnr_unts=2
 863         };
 864         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_UNITED_STATES_MINOR_OUTLYING_ISLANDS__THE__US_Dollar;
 865         static constexpr const char country_name[]={
 866                 'U','N','I','T','E','D','S','T','A','T','E','S','M','I','N','O','R','O','U','T','L','Y','I','N','G','I','S','L','A','N','D','S','T','H','E','\0'
 867         };
 868         static constexpr const char currency_name[]={
 869                 'U','S','D','o','l','l','a','r','\0'
 870         };
 871 
 872         static std::ostream &
 873         to_stream(std::ostream &os) noexcept(false) {
 874                 os
 875                         <<"country name: "<<country_name
 876                         <<", currency name: "<<currency_name;
 877                 return os;
 878         }
 879 };
 880 
 881 constexpr const char ccy_details_UNITED_STATES_MINOR_OUTLYING_ISLANDS__THE__US_Dollar::country_name[];
 882 constexpr const char ccy_details_UNITED_STATES_MINOR_OUTLYING_ISLANDS__THE__US_Dollar::currency_name[];
 883 
 884         
 885 struct ccy_details_UNITED_STATES_OF_AMERICA__THE__US_Dollar {
 886         enum : std::size_t {
 887                 ccy_nbr=840,
 888                 ccy_mnr_unts=2
 889         };
 890         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_UNITED_STATES_OF_AMERICA__THE__US_Dollar;
 891         static constexpr const char country_name[]={
 892                 'U','N','I','T','E','D','S','T','A','T','E','S','O','F','A','M','E','R','I','C','A','T','H','E','\0'
 893         };
 894         static constexpr const char currency_name[]={
 895                 'U','S','D','o','l','l','a','r','\0'
 896         };
 897 
 898         static std::ostream &
 899         to_stream(std::ostream &os) noexcept(false) {
 900                 os
 901                         <<"country name: "<<country_name
 902                         <<", currency name: "<<currency_name;
 903                 return os;
 904         }
 905 };
 906 
 907 constexpr const char ccy_details_UNITED_STATES_OF_AMERICA__THE__US_Dollar::country_name[];
 908 constexpr const char ccy_details_UNITED_STATES_OF_AMERICA__THE__US_Dollar::currency_name[];
 909 
 910         
 911 struct ccy_details_UNITED_STATES_OF_AMERICA__THE__US_Dollar__Next_day_ {
 912         enum : std::size_t {
 913                 ccy_nbr=997,
 914                 ccy_mnr_unts=2
 915         };
 916         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_UNITED_STATES_OF_AMERICA__THE__US_Dollar__Next_day_;
 917         static constexpr const char country_name[]={
 918                 'U','N','I','T','E','D','S','T','A','T','E','S','O','F','A','M','E','R','I','C','A','T','H','E','\0'
 919         };
 920         static constexpr const char currency_name[]={
 921                 'U','S','D','o','l','l','a','r','N','e','x','t','d','a','y','\0'
 922         };
 923 
 924         static std::ostream &
 925         to_stream(std::ostream &os) noexcept(false) {
 926                 os
 927                         <<"country name: "<<country_name
 928                         <<", currency name: "<<currency_name;
 929                 return os;
 930         }
 931 };
 932 
 933 constexpr const char ccy_details_UNITED_STATES_OF_AMERICA__THE__US_Dollar__Next_day_::country_name[];
 934 constexpr const char ccy_details_UNITED_STATES_OF_AMERICA__THE__US_Dollar__Next_day_::currency_name[];
 935 
 936         
 937 struct ccy_details_VIRGIN_ISLANDS__BRITISH__US_Dollar {
 938         enum : std::size_t {
 939                 ccy_nbr=840,
 940                 ccy_mnr_unts=2
 941         };
 942         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_VIRGIN_ISLANDS__BRITISH__US_Dollar;
 943         static constexpr const char country_name[]={
 944                 'V','I','R','G','I','N','I','S','L','A','N','D','S','B','R','I','T','I','S','H','\0'
 945         };
 946         static constexpr const char currency_name[]={
 947                 'U','S','D','o','l','l','a','r','\0'
 948         };
 949 
 950         static std::ostream &
 951         to_stream(std::ostream &os) noexcept(false) {
 952                 os
 953                         <<"country name: "<<country_name
 954                         <<", currency name: "<<currency_name;
 955                 return os;
 956         }
 957 };
 958 
 959 constexpr const char ccy_details_VIRGIN_ISLANDS__BRITISH__US_Dollar::country_name[];
 960 constexpr const char ccy_details_VIRGIN_ISLANDS__BRITISH__US_Dollar::currency_name[];
 961 
 962         
 963 struct ccy_details_VIRGIN_ISLANDS__U_S___US_Dollar {
 964         enum : std::size_t {
 965                 ccy_nbr=840,
 966                 ccy_mnr_unts=2
 967         };
 968         static constexpr ISO_4217_Currency_Codes ccy=ISO_4217_Currency_Codes::ISO_4217_VIRGIN_ISLANDS__U_S___US_Dollar;
 969         static constexpr const char country_name[]={
 970                 'V','I','R','G','I','N','I','S','L','A','N','D','S','U','S','\0'
 971         };
 972         static constexpr const char currency_name[]={
 973                 'U','S','D','o','l','l','a','r','\0'
 974         };
 975 
 976         static std::ostream &
 977         to_stream(std::ostream &os) noexcept(false) {
 978                 os
 979                         <<"country name: "<<country_name
 980                         <<", currency name: "<<currency_name;
 981                 return os;
 982         }
 983 };
 984 
 985 constexpr const char ccy_details_VIRGIN_ISLANDS__U_S___US_Dollar::country_name[];
 986 constexpr const char ccy_details_VIRGIN_ISLANDS__U_S___US_Dollar::currency_name[];
 987 
 988         
 989 
 990 }
 991 
 992 /// A collection of the currency-codes & their related details.
 993 static constexpr const auto collection=boost::hana::make_map(
 994         
 995                 boost::hana::make_pair(
 996                         boost::hana::int_c<
 997                                 static_cast<
 998                                         std::underlying_type<ISO_4217_Currency_Codes>::type
 999                                 >(
1000                                         ISO_4217_Currency_Codes::ISO_4217_AMERICAN_SAMOA_US_Dollar
1001                                 )
1002                         >,
1003                         boost::hana::type_c<
1004                                 private_::ccy_details_AMERICAN_SAMOA_US_Dollar>
1005                 )
1006                 ,
1007 
1008                 boost::hana::make_pair(
1009                         boost::hana::int_c<
1010                                 static_cast<
1011                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1012                                 >(
1013                                         ISO_4217_Currency_Codes::ISO_4217_BONAIRE__SINT_EUSTATIUS_AND_SABA_US_Dollar
1014                                 )
1015                         >,
1016                         boost::hana::type_c<
1017                                 private_::ccy_details_BONAIRE__SINT_EUSTATIUS_AND_SABA_US_Dollar>
1018                 )
1019                 ,
1020 
1021                 boost::hana::make_pair(
1022                         boost::hana::int_c<
1023                                 static_cast<
1024                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1025                                 >(
1026                                         ISO_4217_Currency_Codes::ISO_4217_BOUVET_ISLAND_Norwegian_Krone
1027                                 )
1028                         >,
1029                         boost::hana::type_c<
1030                                 private_::ccy_details_BOUVET_ISLAND_Norwegian_Krone>
1031                 )
1032                 ,
1033 
1034                 boost::hana::make_pair(
1035                         boost::hana::int_c<
1036                                 static_cast<
1037                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1038                                 >(
1039                                         ISO_4217_Currency_Codes::ISO_4217_BRITISH_INDIAN_OCEAN_TERRITORY__THE__US_Dollar
1040                                 )
1041                         >,
1042                         boost::hana::type_c<
1043                                 private_::ccy_details_BRITISH_INDIAN_OCEAN_TERRITORY__THE__US_Dollar>
1044                 )
1045                 ,
1046 
1047                 boost::hana::make_pair(
1048                         boost::hana::int_c<
1049                                 static_cast<
1050                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1051                                 >(
1052                                         ISO_4217_Currency_Codes::ISO_4217_ECUADOR_US_Dollar
1053                                 )
1054                         >,
1055                         boost::hana::type_c<
1056                                 private_::ccy_details_ECUADOR_US_Dollar>
1057                 )
1058                 ,
1059 
1060                 boost::hana::make_pair(
1061                         boost::hana::int_c<
1062                                 static_cast<
1063                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1064                                 >(
1065                                         ISO_4217_Currency_Codes::ISO_4217_EL_SALVADOR_US_Dollar
1066                                 )
1067                         >,
1068                         boost::hana::type_c<
1069                                 private_::ccy_details_EL_SALVADOR_US_Dollar>
1070                 )
1071                 ,
1072 
1073                 boost::hana::make_pair(
1074                         boost::hana::int_c<
1075                                 static_cast<
1076                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1077                                 >(
1078                                         ISO_4217_Currency_Codes::ISO_4217_GUAM_US_Dollar
1079                                 )
1080                         >,
1081                         boost::hana::type_c<
1082                                 private_::ccy_details_GUAM_US_Dollar>
1083                 )
1084                 ,
1085 
1086                 boost::hana::make_pair(
1087                         boost::hana::int_c<
1088                                 static_cast<
1089                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1090                                 >(
1091                                         ISO_4217_Currency_Codes::ISO_4217_GUERNSEY_Pound_Sterling
1092                                 )
1093                         >,
1094                         boost::hana::type_c<
1095                                 private_::ccy_details_GUERNSEY_Pound_Sterling>
1096                 )
1097                 ,
1098 
1099                 boost::hana::make_pair(
1100                         boost::hana::int_c<
1101                                 static_cast<
1102                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1103                                 >(
1104                                         ISO_4217_Currency_Codes::ISO_4217_HAITI_US_Dollar
1105                                 )
1106                         >,
1107                         boost::hana::type_c<
1108                                 private_::ccy_details_HAITI_US_Dollar>
1109                 )
1110                 ,
1111 
1112                 boost::hana::make_pair(
1113                         boost::hana::int_c<
1114                                 static_cast<
1115                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1116                                 >(
1117                                         ISO_4217_Currency_Codes::ISO_4217_ISLE_OF_MAN_Pound_Sterling
1118                                 )
1119                         >,
1120                         boost::hana::type_c<
1121                                 private_::ccy_details_ISLE_OF_MAN_Pound_Sterling>
1122                 )
1123                 ,
1124 
1125                 boost::hana::make_pair(
1126                         boost::hana::int_c<
1127                                 static_cast<
1128                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1129                                 >(
1130                                         ISO_4217_Currency_Codes::ISO_4217_JERSEY_Pound_Sterling
1131                                 )
1132                         >,
1133                         boost::hana::type_c<
1134                                 private_::ccy_details_JERSEY_Pound_Sterling>
1135                 )
1136                 ,
1137 
1138                 boost::hana::make_pair(
1139                         boost::hana::int_c<
1140                                 static_cast<
1141                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1142                                 >(
1143                                         ISO_4217_Currency_Codes::ISO_4217_LESOTHO_Rand
1144                                 )
1145                         >,
1146                         boost::hana::type_c<
1147                                 private_::ccy_details_LESOTHO_Rand>
1148                 )
1149                 ,
1150 
1151                 boost::hana::make_pair(
1152                         boost::hana::int_c<
1153                                 static_cast<
1154                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1155                                 >(
1156                                         ISO_4217_Currency_Codes::ISO_4217_MARSHALL_ISLANDS__THE__US_Dollar
1157                                 )
1158                         >,
1159                         boost::hana::type_c<
1160                                 private_::ccy_details_MARSHALL_ISLANDS__THE__US_Dollar>
1161                 )
1162                 ,
1163 
1164                 boost::hana::make_pair(
1165                         boost::hana::int_c<
1166                                 static_cast<
1167                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1168                                 >(
1169                                         ISO_4217_Currency_Codes::ISO_4217_MICRONESIA__FEDERATED_STATES_OF__US_Dollar
1170                                 )
1171                         >,
1172                         boost::hana::type_c<
1173                                 private_::ccy_details_MICRONESIA__FEDERATED_STATES_OF__US_Dollar>
1174                 )
1175                 ,
1176 
1177                 boost::hana::make_pair(
1178                         boost::hana::int_c<
1179                                 static_cast<
1180                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1181                                 >(
1182                                         ISO_4217_Currency_Codes::ISO_4217_NAMIBIA_Rand
1183                                 )
1184                         >,
1185                         boost::hana::type_c<
1186                                 private_::ccy_details_NAMIBIA_Rand>
1187                 )
1188                 ,
1189 
1190                 boost::hana::make_pair(
1191                         boost::hana::int_c<
1192                                 static_cast<
1193                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1194                                 >(
1195                                         ISO_4217_Currency_Codes::ISO_4217_NORTHERN_MARIANA_ISLANDS__THE__US_Dollar
1196                                 )
1197                         >,
1198                         boost::hana::type_c<
1199                                 private_::ccy_details_NORTHERN_MARIANA_ISLANDS__THE__US_Dollar>
1200                 )
1201                 ,
1202 
1203                 boost::hana::make_pair(
1204                         boost::hana::int_c<
1205                                 static_cast<
1206                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1207                                 >(
1208                                         ISO_4217_Currency_Codes::ISO_4217_NORWAY_Norwegian_Krone
1209                                 )
1210                         >,
1211                         boost::hana::type_c<
1212                                 private_::ccy_details_NORWAY_Norwegian_Krone>
1213                 )
1214                 ,
1215 
1216                 boost::hana::make_pair(
1217                         boost::hana::int_c<
1218                                 static_cast<
1219                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1220                                 >(
1221                                         ISO_4217_Currency_Codes::ISO_4217_PALAU_US_Dollar
1222                                 )
1223                         >,
1224                         boost::hana::type_c<
1225                                 private_::ccy_details_PALAU_US_Dollar>
1226                 )
1227                 ,
1228 
1229                 boost::hana::make_pair(
1230                         boost::hana::int_c<
1231                                 static_cast<
1232                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1233                                 >(
1234                                         ISO_4217_Currency_Codes::ISO_4217_PANAMA_US_Dollar
1235                                 )
1236                         >,
1237                         boost::hana::type_c<
1238                                 private_::ccy_details_PANAMA_US_Dollar>
1239                 )
1240                 ,
1241 
1242                 boost::hana::make_pair(
1243                         boost::hana::int_c<
1244                                 static_cast<
1245                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1246                                 >(
1247                                         ISO_4217_Currency_Codes::ISO_4217_PUERTO_RICO_US_Dollar
1248                                 )
1249                         >,
1250                         boost::hana::type_c<
1251                                 private_::ccy_details_PUERTO_RICO_US_Dollar>
1252                 )
1253                 ,
1254 
1255                 boost::hana::make_pair(
1256                         boost::hana::int_c<
1257                                 static_cast<
1258                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1259                                 >(
1260                                         ISO_4217_Currency_Codes::ISO_4217_SOUTH_AFRICA_Rand
1261                                 )
1262                         >,
1263                         boost::hana::type_c<
1264                                 private_::ccy_details_SOUTH_AFRICA_Rand>
1265                 )
1266                 ,
1267 
1268                 boost::hana::make_pair(
1269                         boost::hana::int_c<
1270                                 static_cast<
1271                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1272                                 >(
1273                                         ISO_4217_Currency_Codes::ISO_4217_SVALBARD_AND_JAN_MAYEN_Norwegian_Krone
1274                                 )
1275                         >,
1276                         boost::hana::type_c<
1277                                 private_::ccy_details_SVALBARD_AND_JAN_MAYEN_Norwegian_Krone>
1278                 )
1279                 ,
1280 
1281                 boost::hana::make_pair(
1282                         boost::hana::int_c<
1283                                 static_cast<
1284                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1285                                 >(
1286                                         ISO_4217_Currency_Codes::ISO_4217_TIMOR_LESTE_US_Dollar
1287                                 )
1288                         >,
1289                         boost::hana::type_c<
1290                                 private_::ccy_details_TIMOR_LESTE_US_Dollar>
1291                 )
1292                 ,
1293 
1294                 boost::hana::make_pair(
1295                         boost::hana::int_c<
1296                                 static_cast<
1297                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1298                                 >(
1299                                         ISO_4217_Currency_Codes::ISO_4217_TURKS_AND_CAICOS_ISLANDS__THE__US_Dollar
1300                                 )
1301                         >,
1302                         boost::hana::type_c<
1303                                 private_::ccy_details_TURKS_AND_CAICOS_ISLANDS__THE__US_Dollar>
1304                 )
1305                 ,
1306 
1307                 boost::hana::make_pair(
1308                         boost::hana::int_c<
1309                                 static_cast<
1310                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1311                                 >(
1312                                         ISO_4217_Currency_Codes::ISO_4217_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND__THE__Pound_Sterling
1313                                 )
1314                         >,
1315                         boost::hana::type_c<
1316                                 private_::ccy_details_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND__THE__Pound_Sterling>
1317                 )
1318                 ,
1319 
1320                 boost::hana::make_pair(
1321                         boost::hana::int_c<
1322                                 static_cast<
1323                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1324                                 >(
1325                                         ISO_4217_Currency_Codes::ISO_4217_UNITED_STATES_MINOR_OUTLYING_ISLANDS__THE__US_Dollar
1326                                 )
1327                         >,
1328                         boost::hana::type_c<
1329                                 private_::ccy_details_UNITED_STATES_MINOR_OUTLYING_ISLANDS__THE__US_Dollar>
1330                 )
1331                 ,
1332 
1333                 boost::hana::make_pair(
1334                         boost::hana::int_c<
1335                                 static_cast<
1336                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1337                                 >(
1338                                         ISO_4217_Currency_Codes::ISO_4217_UNITED_STATES_OF_AMERICA__THE__US_Dollar
1339                                 )
1340                         >,
1341                         boost::hana::type_c<
1342                                 private_::ccy_details_UNITED_STATES_OF_AMERICA__THE__US_Dollar>
1343                 )
1344                 ,
1345 
1346                 boost::hana::make_pair(
1347                         boost::hana::int_c<
1348                                 static_cast<
1349                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1350                                 >(
1351                                         ISO_4217_Currency_Codes::ISO_4217_UNITED_STATES_OF_AMERICA__THE__US_Dollar__Next_day_
1352                                 )
1353                         >,
1354                         boost::hana::type_c<
1355                                 private_::ccy_details_UNITED_STATES_OF_AMERICA__THE__US_Dollar__Next_day_>
1356                 )
1357                 ,
1358 
1359                 boost::hana::make_pair(
1360                         boost::hana::int_c<
1361                                 static_cast<
1362                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1363                                 >(
1364                                         ISO_4217_Currency_Codes::ISO_4217_VIRGIN_ISLANDS__BRITISH__US_Dollar
1365                                 )
1366                         >,
1367                         boost::hana::type_c<
1368                                 private_::ccy_details_VIRGIN_ISLANDS__BRITISH__US_Dollar>
1369                 )
1370                 ,
1371 
1372                 boost::hana::make_pair(
1373                         boost::hana::int_c<
1374                                 static_cast<
1375                                         std::underlying_type<ISO_4217_Currency_Codes>::type
1376                                 >(
1377                                         ISO_4217_Currency_Codes::ISO_4217_VIRGIN_ISLANDS__U_S___US_Dollar
1378                                 )
1379                         >,
1380                         boost::hana::type_c<
1381                                 private_::ccy_details_VIRGIN_ISLANDS__U_S___US_Dollar>
1382                 )
1383                 
1384 
1385 );
1386 
1387 using collection_type=decltype(collection);
1388 
1389 } } } }
1390 
1391 #endif

/* [<][>][^][v][top][bottom][index][help] */