root/isimud/exchanges/BATSBOE/common/optional_field_types.hpp

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

INCLUDED FROM


   1 #ifndef libjmmcg_isimud_exchanges_BATSBOE_common_optional_field_types_hpp
   2 #define libjmmcg_isimud_exchanges_BATSBOE_common_optional_field_types_hpp
   3 
   4 /******************************************************************************
   5 ** $Header: svn+ssh://jmmcg@svn.code.sf.net/p/libjmmcg/code/trunk/libjmmcg/isimud/exchanges/BATSBOE/common/optional_field_types.hpp 2183 2017-10-12 17:25:22Z jmmcg $
   6 **
   7 ** Copyright © 2015 by J.M.McGuiness, isimud@hussar.me.uk
   8 **
   9 ** This library is free software; you can redistribute it and/or
  10 ** modify it under the terms of the GNU Lesser General Public
  11 ** License as published by the Free Software Foundation; either
  12 ** version 2.1 of the License, or (at your option) any later version.
  13 **
  14 ** This library is distributed in the hope that it will be useful,
  15 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
  16 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  17 ** Lesser General Public License for more details.
  18 **
  19 ** You should have received a copy of the GNU Lesser General Public
  20 ** License along with this library; if not, write to the Free Software
  21 ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  22 */
  23 
  24 #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
  25 #ifdef BOOST_MPL_LIMIT_MAP_SIZE
  26 #       undef BOOST_MPL_LIMIT_MAP_SIZE
  27 #endif
  28 #define BOOST_MPL_LIMIT_MAP_SIZE 60
  29 
  30 #include "core/bitfield_map.hpp"
  31 
  32 #include <boost/mpl/map.hpp>
  33 
  34 #include <array>
  35 
  36 namespace isimud { namespace exchanges { namespace BATSBOE { namespace common { namespace optional {
  37 
  38 namespace LogonTypes {
  39 
  40 struct Units {
  41         uint8_t unitNumber;
  42         uint8_t unitSequence[4];
  43 } __attribute__((packed));
  44 
  45 namespace OrderAcknowledgement {
  46 
  47         enum class return_bitfield1 : uint8_t {
  48                 Side=(0x1UL<<0),
  49                 PegDifference=(0x1UL<<1),
  50                 Price=(0x1UL<<2),
  51                 ExecInst=(0x1UL<<3),
  52                 OrdType=(0x1UL<<4),
  53                 TimeInForce=(0x1UL<<5),
  54                 MinQty=(0x1UL<<6),
  55                 MaxRemovePct=(0x1UL<<7)
  56         };
  57 
  58         enum class return_bitfield2 : uint8_t {
  59                 Symbol=(0x1UL<<0),
  60                 SymbolSfx=(0x1UL<<1),
  61                 Currency=(0x1UL<<2),
  62                 IDSource=(0x1UL<<3),
  63                 SecurityID=(0x1UL<<4),
  64                 SecurityExchange=(0x1UL<<5),
  65                 Capacity=(0x1UL<<6),
  66                 CrossFlag=(0x1UL<<7)
  67         };
  68 
  69         enum class return_bitfield3 : uint8_t {
  70                 Account=(0x1UL<<0),
  71                 ClearingFirm=(0x1UL<<1),
  72                 ClearingAccount=(0x1UL<<2),
  73                 DisplayIndicator=(0x1UL<<3),
  74                 MaxFloor=(0x1UL<<4),
  75                 DiscretionAmount=(0x1UL<<5),
  76                 OrderQuantity=(0x1UL<<6),
  77                 PreventParticipantMatch=(0x1UL<<7)
  78         };
  79 
  80         enum class return_bitfield5 : uint8_t {
  81                 OrigClOrdID=(0x1UL<<0),
  82                 LeavesQty=(0x1UL<<1),
  83                 LastShares=(0x1UL<<2),
  84                 LastPx=(0x1UL<<3),
  85                 DisplayPrice=(0x1UL<<4),
  86                 WorkingPrice=(0x1UL<<5),
  87                 BaseLiquidityIndicator=(0x1UL<<6),
  88                 ExpireTime=(0x1UL<<7)
  89         };
  90 
  91         enum class return_bitfield6 : uint8_t {
  92                 SecondaryOrderId=(0x1UL<<0),
  93                 CCP=(0x1UL<<1),
  94                 Reserved1=(0x1UL<<2),
  95                 AttributedQuote=(0x1UL<<3),
  96                 Reserved2=(0x1UL<<4),
  97                 Reserved3=(0x1UL<<5),
  98                 Reserved4=(0x1UL<<6),
  99                 Reserved5=(0x1UL<<7)
 100         };
 101 
 102         enum class return_bitfield7 : uint8_t {
 103                 SubLiquidityIndicator=(0x1UL<<0),
 104                 Reserved1=(0x1UL<<1),
 105                 Reserved2=(0x1UL<<2),
 106                 Reserved3=(0x1UL<<3),
 107                 Reserved4=(0x1UL<<4),
 108                 Reserved5=(0x1UL<<5),
 109                 Reserved6=(0x1UL<<6),
 110                 Reserved7=(0x1UL<<7)
 111         };
 112 
 113         struct bitfields {
 114                 return_bitfield1 bitfield1;
 115                 return_bitfield2 bitfield2;
 116                 return_bitfield3 bitfield3;
 117                 const uint8_t reserved_bitfield4=0;
 118                 return_bitfield5 bitfield5;
 119                 return_bitfield6 bitfield6;
 120                 return_bitfield7 bitfield7;
 121                 const uint8_t reserved=0;
 122         } __attribute__((packed));
 123 
 124 }
 125 
 126 namespace OrderRejected {
 127 
 128         using return_bitfield1=OrderAcknowledgement::return_bitfield1;
 129         using return_bitfield2=OrderAcknowledgement::return_bitfield2;
 130         using return_bitfield3=OrderAcknowledgement::return_bitfield3;
 131 
 132         struct bitfields {
 133                 return_bitfield1 bitfield1;
 134                 return_bitfield2 bitfield2;
 135                 return_bitfield3 bitfield3;
 136                 const uint8_t reserved_bitfield3=0;
 137                 const uint8_t reserved_bitfield4=0;
 138                 const uint8_t reserved_bitfield5=0;
 139                 const uint8_t reserved_bitfield6=0;
 140                 const uint8_t reserved=0;
 141         } __attribute__((packed));
 142 
 143 }
 144 
 145 namespace OrderModified {
 146 
 147         using return_bitfield1=OrderAcknowledgement::return_bitfield1;
 148         using return_bitfield3=OrderAcknowledgement::return_bitfield3;
 149         using return_bitfield5=OrderAcknowledgement::return_bitfield5;
 150         using return_bitfield6=OrderAcknowledgement::return_bitfield6;
 151 
 152         struct bitfields {
 153                 return_bitfield1 bitfield1;
 154                 const uint8_t reserved_bitfield1=0;
 155                 return_bitfield3 bitfield3;
 156                 const uint8_t reserved_bitfield3=0;
 157                 return_bitfield5 bitfield5;
 158                 return_bitfield6 bitfield6;
 159                 const uint8_t reserved_bitfield6=0;
 160                 const uint8_t reserved=0;
 161         } __attribute__((packed));
 162 
 163 }
 164 
 165 namespace OrderRestated {
 166 
 167         using return_bitfield1=OrderAcknowledgement::return_bitfield1;
 168         using return_bitfield2=OrderAcknowledgement::return_bitfield2;
 169         using return_bitfield3=OrderAcknowledgement::return_bitfield3;
 170 
 171         enum class return_bitfield4 : uint8_t {
 172                 Reserved1=(0x1UL<<0),
 173                 Reserved2=(0x1UL<<1),
 174                 Reserved3=(0x1UL<<2),
 175                 Reserved4=(0x1UL<<3),
 176                 Reserved5=(0x1UL<<4),
 177                 CorrectedSize=(0x1UL<<5),
 178                 PartyID=(0x1UL<<6),
 179                 AccessFee=(0x1UL<<7)
 180         };
 181 
 182         using return_bitfield5=OrderAcknowledgement::return_bitfield5;
 183         using return_bitfield6=OrderAcknowledgement::return_bitfield6;
 184 
 185         struct bitfields {
 186                 return_bitfield1 bitfield1;
 187                 return_bitfield2 bitfield2;
 188                 return_bitfield3 bitfield3;
 189                 return_bitfield4 bitfield4;
 190                 return_bitfield5 bitfield5;
 191                 return_bitfield6 bitfield6;
 192                 const uint8_t reserved_bitfield6=0;
 193                 const uint8_t reserved=0;
 194         } __attribute__((packed));
 195 
 196 }
 197 
 198 namespace UserModifyRejected {
 199 
 200         struct bitfields {
 201                 const uint8_t reserved_bitfield[7]={0, 0, 0, 0, 0, 0, 0};
 202                 const uint8_t reserved=0;
 203         } __attribute__((packed));
 204 
 205 }
 206 
 207 namespace OrderCancelled {
 208 
 209         enum class return_bitfield1 : uint8_t {
 210                 Side=(0x1UL<<0),
 211                 Reserved1=(0x1UL<<1),
 212                 Reserved2=(0x1UL<<2),
 213                 Reserved3=(0x1UL<<3),
 214                 Reserved4=(0x1UL<<4),
 215                 Reserved5=(0x1UL<<5),
 216                 Reserved6=(0x1UL<<6),
 217                 Reserved7=(0x1UL<<7)
 218         };
 219 
 220         enum class return_bitfield2 : uint8_t {
 221                 Symbol=(0x1UL<<0),
 222                 Reserved1=(0x1UL<<1),
 223                 Reserved2=(0x1UL<<2),
 224                 Reserved3=(0x1UL<<3),
 225                 Reserved4=(0x1UL<<4),
 226                 Reserved5=(0x1UL<<5),
 227                 Reserved6=(0x1UL<<6),
 228                 Reserved7=(0x1UL<<7)
 229         };
 230 
 231         using return_bitfield3=OrderAcknowledgement::return_bitfield3;
 232         using return_bitfield4=OrderRestated::return_bitfield4;
 233         using return_bitfield5=OrderAcknowledgement::return_bitfield5;
 234         using return_bitfield6=OrderAcknowledgement::return_bitfield6;
 235 
 236         struct bitfields {
 237                 return_bitfield1 bitfield1;
 238                 return_bitfield2 bitfield2;
 239                 return_bitfield3 bitfield3;
 240                 return_bitfield4 bitfield4;
 241                 return_bitfield5 bitfield5;
 242                 return_bitfield6 bitfield6;
 243                 const uint8_t reserved=0;
 244         } __attribute__((packed));
 245 
 246 }
 247 
 248 namespace OrderExecution {
 249 
 250         using return_bitfield1=OrderAcknowledgement::return_bitfield1;
 251         using return_bitfield2=OrderAcknowledgement::return_bitfield2;
 252         using return_bitfield3=OrderAcknowledgement::return_bitfield3;
 253         using return_bitfield6=OrderAcknowledgement::return_bitfield6;
 254 
 255         struct bitfields {
 256                 return_bitfield1 bitfield1;
 257                 return_bitfield2 bitfield2;
 258                 return_bitfield3 bitfield3;
 259                 const uint8_t reserved_bitfield3=0;
 260                 const uint8_t reserved_bitfield4=0;
 261                 return_bitfield6 bitfield6;
 262                 const uint8_t reserved_bitfield6=0;
 263                 const uint8_t reserved=0;
 264         } __attribute__((packed));
 265 
 266 }
 267 
 268 namespace TradeCancelCorrect {
 269 
 270         using return_bitfield2=OrderAcknowledgement::return_bitfield2;
 271         using return_bitfield4=OrderRestated::return_bitfield4;
 272 
 273         struct bitfields {
 274                 const uint8_t reserved_bitfield0=0;
 275                 return_bitfield2 bitfield2;
 276                 const uint8_t reserved_bitfield2=0;
 277                 return_bitfield4 bitfield4;
 278                 const uint8_t reserved_bitfield4=0;
 279                 const uint8_t reserved_bitfield5=0;
 280                 const uint8_t reserved_bitfield6=0;
 281                 const uint8_t reserved=0;
 282         } __attribute__((packed));
 283 
 284 }
 285 
 286 namespace Reserved {
 287 
 288         using bitfields=UserModifyRejected::bitfields;
 289 
 290 }
 291 
 292 namespace TradeCaptureReportAck {
 293 
 294         using return_bitfield1=OrderAcknowledgement::return_bitfield1;
 295         using return_bitfield2=OrderAcknowledgement::return_bitfield2;
 296         using return_bitfield3=OrderAcknowledgement::return_bitfield3;
 297 
 298         enum class return_bitfield4 : uint8_t {
 299                 Reserved1=(0x1UL<<0),
 300                 Reserved2=(0x1UL<<1),
 301                 Reserved3=(0x1UL<<2),
 302                 Reserved4=(0x1UL<<3),
 303                 Reserved5=(0x1UL<<4),
 304                 CorrectedSize=(0x1UL<<5),
 305                 PartyID=(0x1UL<<6),
 306                 Reserved8=(0x1UL<<7)
 307         };
 308 
 309         enum class return_bitfield6 : uint8_t {
 310                 Reserved1=(0x1UL<<0),
 311                 CCP=(0x1UL<<1),
 312                 Reserved3=(0x1UL<<2),
 313                 Reserved4=(0x1UL<<3),
 314                 Reserved5=(0x1UL<<4),
 315                 Reserved6=(0x1UL<<5),
 316                 Reserved7=(0x1UL<<6),
 317                 PartyRole=(0x1UL<<7)
 318         };
 319 
 320         enum class return_bitfield7 : uint8_t {
 321                 Reserved1=(0x1UL<<0),
 322                 TradeReportTypeReturn=(0x1UL<<1),
 323                 Reserved3=(0x1UL<<2),
 324                 Reserved4=(0x1UL<<3),
 325                 Reserved5=(0x1UL<<4),
 326                 Reserved6=(0x1UL<<5),
 327                 LargeSize=(0x1UL<<6),
 328                 Reserved8=(0x1UL<<7)
 329         };
 330 
 331         struct bitfields {
 332                 return_bitfield1 bitfield1;
 333                 return_bitfield2 bitfield2;
 334                 return_bitfield3 bitfield3;
 335                 return_bitfield4 bitfield4;
 336                 const uint8_t reserved_bitfield4=0;
 337                 return_bitfield6 bitfield6;
 338                 return_bitfield7 bitfield7;
 339                 const uint8_t reserved=0;
 340         } __attribute__((packed));
 341 
 342 }
 343 
 344 namespace TradeCaptureReportRej {
 345 
 346         using return_bitfield1=OrderAcknowledgement::return_bitfield1;
 347         using return_bitfield2=OrderAcknowledgement::return_bitfield2;
 348         using return_bitfield3=OrderAcknowledgement::return_bitfield3;
 349         using return_bitfield4=TradeCaptureReportAck::return_bitfield4;
 350         using return_bitfield6=TradeCaptureReportAck::return_bitfield6;
 351         using return_bitfield7=TradeCaptureReportAck::return_bitfield7;
 352 
 353         struct bitfields {
 354                 return_bitfield1 bitfield1;
 355                 return_bitfield2 bitfield2;
 356                 return_bitfield3 bitfield3;
 357                 return_bitfield4 bitfield4;
 358                 const uint8_t reserved_bitfield4=0;
 359                 return_bitfield6 bitfield6;
 360                 return_bitfield7 bitfield7;
 361                 const uint8_t reserved=0;
 362         } __attribute__((packed));
 363 
 364 }
 365 
 366 namespace TradeCaptureConfirm {
 367 
 368         using return_bitfield1=OrderAcknowledgement::return_bitfield1;
 369         using return_bitfield2=OrderAcknowledgement::return_bitfield2;
 370         using return_bitfield3=OrderAcknowledgement::return_bitfield3;
 371         using return_bitfield4=TradeCaptureReportAck::return_bitfield4;
 372         using return_bitfield6=TradeCaptureReportAck::return_bitfield6;
 373 
 374         enum class return_bitfield7 : uint8_t {
 375                 Reserved1=(0x1UL<<0),
 376                 TradeReportTypeReturn=(0x1UL<<1),
 377                 TradePublishIndReturn=(0x1UL<<2),
 378                 Text=(0x1UL<<3),
 379                 Reserved5=(0x1UL<<4),
 380                 Reserved6=(0x1UL<<5),
 381                 LargeSize=(0x1UL<<6),
 382                 Reserved8=(0x1UL<<7)
 383         };
 384 
 385         struct bitfields {
 386                 return_bitfield1 bitfield1;
 387                 return_bitfield2 bitfield2;
 388                 return_bitfield3 bitfield3;
 389                 return_bitfield4 bitfield4;
 390                 const uint8_t reserved_bitfield4=0;
 391                 return_bitfield6 bitfield6;
 392                 return_bitfield7 bitfield7;
 393                 const uint8_t reserved=0;
 394         } __attribute__((packed));
 395 
 396 }
 397 
 398 namespace TradeCaptureDecline {
 399 
 400         using return_bitfield1=OrderAcknowledgement::return_bitfield1;
 401         using return_bitfield2=OrderAcknowledgement::return_bitfield2;
 402         using return_bitfield3=OrderAcknowledgement::return_bitfield3;
 403         using return_bitfield4=TradeCaptureReportAck::return_bitfield4;
 404         using return_bitfield6=TradeCaptureReportAck::return_bitfield6;
 405         using return_bitfield7=TradeCaptureReportAck::return_bitfield7;
 406 
 407         struct bitfields {
 408                 return_bitfield1 bitfield1;
 409                 return_bitfield2 bitfield2;
 410                 return_bitfield3 bitfield3;
 411                 return_bitfield4 bitfield4;
 412                 const uint8_t reserved_bitfield4=0;
 413                 return_bitfield6 bitfield6;
 414                 return_bitfield7 bitfield7;
 415                 const uint8_t reserved=0;
 416         } __attribute__((packed));
 417 
 418 }
 419 
 420 }
 421 
 422 namespace NewOrder {
 423 
 424         enum class bitfields_t : uint64_t {
 425                 ClearingFirm=(0x1UL<<0),
 426                 ClearingAccount=(0x1UL<<1),
 427                 Price=(0x1UL<<2),
 428                 ExecInst=(0x1UL<<3),
 429                 OrdType=(0x1UL<<4),
 430                 TimeInForce=(0x1UL<<5),
 431                 MinQty=(0x1UL<<6),
 432                 MaxFloor=(0x1UL<<7),
 433                 Symbol=(0x1UL<<8),
 434                 Reserved1=(0x1UL<<9),
 435                 Currency=(0x1UL<<10),
 436                 IDSource=(0x1UL<<11),
 437                 SecurityID=(0x1UL<<12),
 438                 SecurityExchange=(0x1UL<<13),
 439                 Capacity=(0x1UL<<14),
 440                 RoutingInst=(0x1UL<<15),
 441                 Account=(0x1UL<<16),
 442                 DisplayIndicator=(0x1UL<<17),
 443                 MaxRemovePct=(0x1UL<<18),
 444                 Reserved2=(0x1UL<<19),
 445                 PegDifference=(0x1UL<<20),
 446                 PreventParticipantMatch=(0x1UL<<21),
 447                 LocateReqd=(0x1UL<22),
 448                 ExpireTime=(0x1UL<<23),
 449                 Reserved3=(0x1UL<<24),
 450                 Reserved4=(0x1UL<<25),
 451                 Reserved5=(0x1UL<<26),
 452                 Reserved6=(0x1UL<<27),
 453                 Reserved7=(0x1UL<<28),
 454                 Reserved8=(0x1UL<<29),
 455                 Reserved9=(0x1UL<<30),
 456                 Reserved10=(0x1UL<<31),
 457                 CrossFlag=(0x1UL<<32),
 458                 AttributedQuote=(0x1UL<<33),
 459                 BookingType=(0x1UL<<34),
 460                 last_field=(0x1UL<<34)
 461         };
 462 
 463         using bitfields_to_type_map=jmmcg::bitfield_map<
 464                 boost::mpl::map<
 465                         boost::mpl::pair<
 466                                 std::integral_constant<bitfields_t, bitfields_t::ClearingFirm>::type,
 467                                 common::ClearingFirm_t
 468                         >,
 469                         boost::mpl::pair<
 470                                 std::integral_constant<bitfields_t, bitfields_t::ClearingAccount>::type,
 471                                 common::ClearingAccount_t
 472                         >,
 473                         boost::mpl::pair<
 474                                 std::integral_constant<bitfields_t, bitfields_t::Price>::type,
 475                                 common::Price_t
 476                         >,
 477                         boost::mpl::pair<
 478                                 std::integral_constant<bitfields_t, bitfields_t::ExecInst>::type,
 479                                 common::ExecInst
 480                         >,
 481                         boost::mpl::pair<
 482                                 std::integral_constant<bitfields_t, bitfields_t::OrdType>::type,
 483                                 common::OrdType
 484                         >,
 485                         boost::mpl::pair<
 486                                 std::integral_constant<bitfields_t, bitfields_t::TimeInForce>::type,
 487                                 common::TIF
 488                         >,
 489                         boost::mpl::pair<
 490                                 std::integral_constant<bitfields_t, bitfields_t::MinQty>::type,
 491                                 uint32_t
 492                         >,
 493                         boost::mpl::pair<
 494                                 std::integral_constant<bitfields_t, bitfields_t::MaxFloor>::type,
 495                                 uint32_t
 496                         >,
 497                         boost::mpl::pair<
 498                                 std::integral_constant<bitfields_t, bitfields_t::Symbol>::type,
 499                                 common::Symbol_t
 500                         >,
 501                         boost::mpl::pair<
 502                                 std::integral_constant<bitfields_t, bitfields_t::Reserved1>::type,
 503                                 jmmcg::a_zero_sized_class
 504                         >,
 505                         boost::mpl::pair<
 506                                 std::integral_constant<bitfields_t, bitfields_t::Currency>::type,
 507                                 common::Currency_t
 508                         >,
 509                         boost::mpl::pair<
 510                                 std::integral_constant<bitfields_t, bitfields_t::IDSource>::type,
 511                                 common::IDSource
 512                         >,
 513                         boost::mpl::pair<
 514                                 std::integral_constant<bitfields_t, bitfields_t::SecurityID>::type,
 515                                 common::SecurityID_t
 516                         >,
 517                         boost::mpl::pair<
 518                                 std::integral_constant<bitfields_t, bitfields_t::SecurityExchange>::type,
 519                                 common::SecurityExchange_t
 520                         >,
 521                         boost::mpl::pair<
 522                                 std::integral_constant<bitfields_t, bitfields_t::Capacity>::type,
 523                                 common::Capacity
 524                         >,
 525                         boost::mpl::pair<
 526                                 std::integral_constant<bitfields_t, bitfields_t::RoutingInst>::type,
 527                                 common::RoutingInst_t
 528                         >,
 529                         boost::mpl::pair<
 530                                 std::integral_constant<bitfields_t, bitfields_t::Account>::type,
 531                                 common::Account_t
 532                         >,
 533                         boost::mpl::pair<
 534                                 std::integral_constant<bitfields_t, bitfields_t::DisplayIndicator>::type,
 535                                 common::DisplayIndicator
 536                         >,
 537                         boost::mpl::pair<
 538                                 std::integral_constant<bitfields_t, bitfields_t::MaxRemovePct>::type,
 539                                 uint8_t
 540                         >,
 541                         boost::mpl::pair<
 542                                 std::integral_constant<bitfields_t, bitfields_t::Reserved2>::type,
 543                                 jmmcg::a_zero_sized_class
 544                         >,
 545                         boost::mpl::pair<
 546                                 std::integral_constant<bitfields_t, bitfields_t::PegDifference>::type,
 547                                 int64_t
 548                         >,
 549                         boost::mpl::pair<
 550                                 std::integral_constant<bitfields_t, bitfields_t::PreventParticipantMatch>::type,
 551                                 common::PreventParticipantMatch_t
 552                         >,
 553                         boost::mpl::pair<
 554                                 std::integral_constant<bitfields_t, bitfields_t::LocateReqd>::type,
 555                                 jmmcg::a_zero_sized_class
 556                         >,
 557                         boost::mpl::pair<
 558                                 std::integral_constant<bitfields_t, bitfields_t::ExpireTime>::type,
 559                                 common::DateTime_t
 560                         >,
 561                         boost::mpl::pair<
 562                                 std::integral_constant<bitfields_t, bitfields_t::Reserved3>::type,
 563                                 jmmcg::a_zero_sized_class
 564                         >,
 565                         boost::mpl::pair<
 566                                 std::integral_constant<bitfields_t, bitfields_t::Reserved4>::type,
 567                                 jmmcg::a_zero_sized_class
 568                         >,
 569                         boost::mpl::pair<
 570                                 std::integral_constant<bitfields_t, bitfields_t::Reserved5>::type,
 571                                 jmmcg::a_zero_sized_class
 572                         >,
 573                         boost::mpl::pair<
 574                                 std::integral_constant<bitfields_t, bitfields_t::Reserved6>::type,
 575                                 jmmcg::a_zero_sized_class
 576                         >,
 577                         boost::mpl::pair<
 578                                 std::integral_constant<bitfields_t, bitfields_t::Reserved7>::type,
 579                                 jmmcg::a_zero_sized_class
 580                         >,
 581                         boost::mpl::pair<
 582                                 std::integral_constant<bitfields_t, bitfields_t::Reserved8>::type,
 583                                 jmmcg::a_zero_sized_class
 584                         >,
 585                         boost::mpl::pair<
 586                                 std::integral_constant<bitfields_t, bitfields_t::Reserved9>::type,
 587                                 jmmcg::a_zero_sized_class
 588                         >,
 589                         boost::mpl::pair<
 590                                 std::integral_constant<bitfields_t, bitfields_t::Reserved10>::type,
 591                                 jmmcg::a_zero_sized_class
 592                         >,
 593                         boost::mpl::pair<
 594                                 std::integral_constant<bitfields_t, bitfields_t::CrossFlag>::type,
 595                                 jmmcg::a_zero_sized_class
 596                         >,
 597                         boost::mpl::pair<
 598                                 std::integral_constant<bitfields_t, bitfields_t::AttributedQuote>::type,
 599                                 common::AttributedQuote
 600                         >,
 601                         boost::mpl::pair<
 602                                 std::integral_constant<bitfields_t, bitfields_t::BookingType>::type,
 603                                 common::BookingType
 604                         >
 605                 >,
 606                 6
 607         >;
 608 
 609         BOOST_MPL_ASSERT_RELATION(static_cast<std::size_t>(jmmcg::mpl::bit_position<static_cast<std::underlying_type<bitfields_t>::type>(bitfields_t::last_field)>::value), ==, static_cast<std::size_t>(bitfields_to_type_map::mapped_types_size));
 610 
 611 }
 612 
 613 namespace CancelOrder {
 614 
 615         enum class bitfields_t : uint16_t {
 616                 ClearingFirm=(0x1UL<<0),
 617                 last_field=(0x1UL<<0)
 618         };
 619 
 620         using bitfields_to_type_map=jmmcg::bitfield_map<
 621                 boost::mpl::map<
 622                         boost::mpl::pair<
 623                                 std::integral_constant<bitfields_t, bitfields_t::ClearingFirm>::type,
 624                                 common::ClearingFirm_t
 625                         >
 626                 >
 627         >;
 628 
 629         BOOST_MPL_ASSERT_RELATION(static_cast<std::size_t>(jmmcg::mpl::bit_position<static_cast<std::underlying_type<bitfields_t>::type>(bitfields_t::last_field)>::value), ==, static_cast<std::size_t>(bitfields_to_type_map::mapped_types_size));
 630 
 631 }
 632 
 633 namespace ModifyOrder {
 634 
 635         enum class bitfields_t : uint16_t {
 636                 ClearingFirm=(0x1UL<<0),
 637                 Reserved1=(0x1UL<<1),
 638                 OrderQty=(0x1UL<<2),
 639                 Price=(0x1UL<<3),
 640                 OrdType=(0x1UL<<4),
 641                 CancelOrigOnReject=(0x1UL<<5),
 642                 ExecInst=(0x1UL<<6),
 643                 Side=(0x1UL<<7),
 644                 last_field=(0x1UL<<7)
 645         };
 646 
 647         using bitfields_to_type_map=jmmcg::bitfield_map<
 648                 boost::mpl::map<
 649                         boost::mpl::pair<
 650                                 std::integral_constant<bitfields_t, bitfields_t::ClearingFirm>::type,
 651                                 common::ClearingFirm_t
 652                         >,
 653                         boost::mpl::pair<
 654                                 std::integral_constant<bitfields_t, bitfields_t::Reserved1>::type,
 655                                 jmmcg::a_zero_sized_class
 656                         >,
 657                         boost::mpl::pair<
 658                                 std::integral_constant<bitfields_t, bitfields_t::OrderQty>::type,
 659                                 uint32_t
 660                         >,
 661                         boost::mpl::pair<
 662                                 std::integral_constant<bitfields_t, bitfields_t::Price>::type,
 663                                 common::Price_t
 664                         >,
 665                         boost::mpl::pair<
 666                                 std::integral_constant<bitfields_t, bitfields_t::OrdType>::type,
 667                                 common::OrdType
 668                         >,
 669                         boost::mpl::pair<
 670                                 std::integral_constant<bitfields_t, bitfields_t::CancelOrigOnReject>::type,
 671                                 common::CancelOrigOnReject
 672                         >,
 673                         boost::mpl::pair<
 674                                 std::integral_constant<bitfields_t, bitfields_t::ExecInst>::type,
 675                                 common::ExecInst
 676                         >,
 677                         boost::mpl::pair<
 678                                 std::integral_constant<bitfields_t, bitfields_t::Side>::type,
 679                                 common::Side
 680                         >
 681                 >
 682         >;
 683 
 684         BOOST_MPL_ASSERT_RELATION(static_cast<std::size_t>(jmmcg::mpl::bit_position<static_cast<std::underlying_type<bitfields_t>::type>(bitfields_t::last_field)>::value), ==, static_cast<std::size_t>(bitfields_to_type_map::mapped_types_size));
 685 
 686 }
 687 
 688 namespace OrderAcknowledgement {
 689 
 690         enum class bitfields_t : uint64_t {
 691                 Side=(0x1UL<<0),
 692                 PegDifference=(0x1UL<<1),
 693                 Price=(0x1UL<<2),
 694                 ExecInst=(0x1UL<<3),
 695                 OrdType=(0x1UL<<4),
 696                 TimeInForce=(0x1UL<<5),
 697                 MinQty=(0x1UL<<6),
 698                 MaxRemovePct=(0x1UL<<7),
 699                 Symbol=(0x1UL<<8),
 700                 SymbolSfx=(0x1UL<<9),
 701                 Currency=(0x1UL<<10),
 702                 IDSource=(0x1UL<<11),
 703                 SecurityID=(0x1UL<<12),
 704                 SecurityExchange=(0x1UL<<13),
 705                 Capacity=(0x1UL<<14),
 706                 CrossFlag=(0x1UL<<15),
 707                 Account=(0x1UL<<16),
 708                 ClearingFirm=(0x1UL<<17),
 709                 ClearingAccount=(0x1UL<<18),
 710                 DisplayIndicator=(0x1UL<<19),
 711                 MaxFloor=(0x1UL<<20),
 712                 DiscretionAmount=(0x1UL<<21),
 713                 OrderQuantity=(0x1UL<<22),
 714                 PreventParticipantMatch=(0x1UL<<23),
 715                 Reserved3=(0x1UL<<24),
 716                 Reserved4=(0x1UL<<25),
 717                 Reserved5=(0x1UL<<26),
 718                 Reserved6=(0x1UL<<27),
 719                 Reserved7=(0x1UL<<28),
 720                 Reserved8=(0x1UL<<29),
 721                 Reserved9=(0x1UL<<30),
 722                 Reserved10=(0x1UL<<31),
 723                 OrigClOrdID=(0x1UL<<32),
 724                 LeavesQty=(0x1UL<<33),
 725                 LastShares=(0x1UL<<34),
 726                 LastPx=(0x1UL<<35),
 727                 DisplayPrice=(0x1UL<<36),
 728                 WorkingPrice=(0x1UL<<37),
 729                 BaseLiquidityIndicator=(0x1UL<<38),
 730                 ExpireTime=(0x1UL<<39),
 731                 SecondaryOrderId=(0x1UL<<40),
 732                 CCP=(0x1UL<<41),
 733                 Reserved11=(0x1UL<<42),
 734                 AttributedQuote=(0x1UL<<43),
 735                 Reserved12=(0x1UL<<44),
 736                 Reserved13=(0x1UL<<45),
 737                 Reserved14=(0x1UL<<46),
 738                 Reserved15=(0x1UL<<47),
 739                 SubLiquidityIndicator=(0x1UL<<48),
 740                 last_field=(0x1UL<<48)
 741         };
 742 
 743         using bitfields_to_type_map=jmmcg::bitfield_map<
 744                 boost::mpl::map<
 745                         boost::mpl::pair<
 746                                 std::integral_constant<bitfields_t, bitfields_t::Side>::type,
 747                                 common::Side
 748                         >,
 749                         boost::mpl::pair<
 750                                 std::integral_constant<bitfields_t, bitfields_t::PegDifference>::type,
 751                                 common::SPrice_t
 752                         >,
 753                         boost::mpl::pair<
 754                                 std::integral_constant<bitfields_t, bitfields_t::Price>::type,
 755                                 common::Price_t
 756                         >,
 757                         boost::mpl::pair<
 758                                 std::integral_constant<bitfields_t, bitfields_t::ExecInst>::type,
 759                                 common::ExecInst
 760                         >,
 761                         boost::mpl::pair<
 762                                 std::integral_constant<bitfields_t, bitfields_t::OrdType>::type,
 763                                 common::OrdType
 764                         >,
 765                         boost::mpl::pair<
 766                                 std::integral_constant<bitfields_t, bitfields_t::TimeInForce>::type,
 767                                 common::TIF
 768                         >,
 769                         boost::mpl::pair<
 770                                 std::integral_constant<bitfields_t, bitfields_t::MinQty>::type,
 771                                 uint32_t
 772                         >,
 773                         boost::mpl::pair<
 774                                 std::integral_constant<bitfields_t, bitfields_t::MaxRemovePct>::type,
 775                                 uint8_t
 776                         >,
 777                         boost::mpl::pair<
 778                                 std::integral_constant<bitfields_t, bitfields_t::Symbol>::type,
 779                                 common::Symbol_t
 780                         >,
 781                         boost::mpl::pair<
 782                                 std::integral_constant<bitfields_t, bitfields_t::SymbolSfx>::type,
 783                                 common::SymbolSfx_t
 784                         >,
 785                         boost::mpl::pair<
 786                                 std::integral_constant<bitfields_t, bitfields_t::Currency>::type,
 787                                 common::Currency_t
 788                         >,
 789                         boost::mpl::pair<
 790                                 std::integral_constant<bitfields_t, bitfields_t::IDSource>::type,
 791                                 common::IDSource
 792                         >,
 793                         boost::mpl::pair<
 794                                 std::integral_constant<bitfields_t, bitfields_t::SecurityID>::type,
 795                                 common::SecurityID_t
 796                         >,
 797                         boost::mpl::pair<
 798                                 std::integral_constant<bitfields_t, bitfields_t::SecurityExchange>::type,
 799                                 common::SecurityExchange_t
 800                         >,
 801                         boost::mpl::pair<
 802                                 std::integral_constant<bitfields_t, bitfields_t::Capacity>::type,
 803                                 common::Capacity
 804                         >,
 805                         boost::mpl::pair<
 806                                 std::integral_constant<bitfields_t, bitfields_t::CrossFlag>::type,
 807                                 jmmcg::a_zero_sized_class
 808                         >,
 809                         boost::mpl::pair<
 810                                 std::integral_constant<bitfields_t, bitfields_t::Account>::type,
 811                                 common::Account_t
 812                         >,
 813                         boost::mpl::pair<
 814                                 std::integral_constant<bitfields_t, bitfields_t::ClearingFirm>::type,
 815                                 common::ClearingFirm_t
 816                         >,
 817                         boost::mpl::pair<
 818                                 std::integral_constant<bitfields_t, bitfields_t::ClearingAccount>::type,
 819                                 common::ClearingAccount_t
 820                         >,
 821                         boost::mpl::pair<
 822                                 std::integral_constant<bitfields_t, bitfields_t::DisplayIndicator>::type,
 823                                 common::DisplayIndicator
 824                         >,
 825                         boost::mpl::pair<
 826                                 std::integral_constant<bitfields_t, bitfields_t::MaxFloor>::type,
 827                                 uint32_t
 828                         >,
 829                         boost::mpl::pair<
 830                                 std::integral_constant<bitfields_t, bitfields_t::DiscretionAmount>::type,
 831                                 uint16_t
 832                         >,
 833                         boost::mpl::pair<
 834                                 std::integral_constant<bitfields_t, bitfields_t::OrderQuantity>::type,
 835                                 uint32_t
 836                         >,
 837                         boost::mpl::pair<
 838                                 std::integral_constant<bitfields_t, bitfields_t::PreventParticipantMatch>::type,
 839                                 common::PreventParticipantMatch_t
 840                         >,
 841                         boost::mpl::pair<
 842                                 std::integral_constant<bitfields_t, bitfields_t::Reserved3>::type,
 843                                 jmmcg::a_zero_sized_class
 844                         >,
 845                         boost::mpl::pair<
 846                                 std::integral_constant<bitfields_t, bitfields_t::Reserved4>::type,
 847                                 jmmcg::a_zero_sized_class
 848                         >,
 849                         boost::mpl::pair<
 850                                 std::integral_constant<bitfields_t, bitfields_t::Reserved5>::type,
 851                                 jmmcg::a_zero_sized_class
 852                         >,
 853                         boost::mpl::pair<
 854                                 std::integral_constant<bitfields_t, bitfields_t::Reserved6>::type,
 855                                 jmmcg::a_zero_sized_class
 856                         >,
 857                         boost::mpl::pair<
 858                                 std::integral_constant<bitfields_t, bitfields_t::Reserved7>::type,
 859                                 jmmcg::a_zero_sized_class
 860                         >,
 861                         boost::mpl::pair<
 862                                 std::integral_constant<bitfields_t, bitfields_t::Reserved8>::type,
 863                                 jmmcg::a_zero_sized_class
 864                         >,
 865                         boost::mpl::pair<
 866                                 std::integral_constant<bitfields_t, bitfields_t::Reserved9>::type,
 867                                 jmmcg::a_zero_sized_class
 868                         >,
 869                         boost::mpl::pair<
 870                                 std::integral_constant<bitfields_t, bitfields_t::Reserved10>::type,
 871                                 jmmcg::a_zero_sized_class
 872                         >,
 873                         boost::mpl::pair<
 874                                 std::integral_constant<bitfields_t, bitfields_t::OrigClOrdID>::type,
 875                                 common::ClientOrderID_t
 876                         >,
 877                         boost::mpl::pair<
 878                                 std::integral_constant<bitfields_t, bitfields_t::LeavesQty>::type,
 879                                 uint32_t
 880                         >,
 881                         boost::mpl::pair<
 882                                 std::integral_constant<bitfields_t, bitfields_t::LastShares>::type,
 883                                 uint32_t
 884                         >,
 885                         boost::mpl::pair<
 886                                 std::integral_constant<bitfields_t, bitfields_t::LastPx>::type,
 887                                 common::Price_t
 888                         >,
 889                         boost::mpl::pair<
 890                                 std::integral_constant<bitfields_t, bitfields_t::DisplayPrice>::type,
 891                                 common::Price_t
 892                         >,
 893                         boost::mpl::pair<
 894                                 std::integral_constant<bitfields_t, bitfields_t::WorkingPrice>::type,
 895                                 common::Price_t
 896                         >,
 897                         boost::mpl::pair<
 898                                 std::integral_constant<bitfields_t, bitfields_t::BaseLiquidityIndicator>::type,
 899                                 common::BaseLiquidityIndicator
 900                         >,
 901                         boost::mpl::pair<
 902                                 std::integral_constant<bitfields_t, bitfields_t::ExpireTime>::type,
 903                                 common::DateTime_t
 904                         >,
 905                         boost::mpl::pair<
 906                                 std::integral_constant<bitfields_t, bitfields_t::SecondaryOrderId>::type,
 907                                 uint64_t
 908                         >,
 909                         boost::mpl::pair<
 910                                 std::integral_constant<bitfields_t, bitfields_t::CCP>::type,
 911                                 common::CCP
 912                         >,
 913                         boost::mpl::pair<
 914                                 std::integral_constant<bitfields_t, bitfields_t::Reserved11>::type,
 915                                 jmmcg::a_zero_sized_class
 916                         >,
 917                         boost::mpl::pair<
 918                                 std::integral_constant<bitfields_t, bitfields_t::AttributedQuote>::type,
 919                                 common::AttributedQuote
 920                         >,
 921                         boost::mpl::pair<
 922                                 std::integral_constant<bitfields_t, bitfields_t::Reserved12>::type,
 923                                 jmmcg::a_zero_sized_class
 924                         >,
 925                         boost::mpl::pair<
 926                                 std::integral_constant<bitfields_t, bitfields_t::Reserved13>::type,
 927                                 jmmcg::a_zero_sized_class
 928                         >,
 929                         boost::mpl::pair<
 930                                 std::integral_constant<bitfields_t, bitfields_t::Reserved14>::type,
 931                                 jmmcg::a_zero_sized_class
 932                         >,
 933                         boost::mpl::pair<
 934                                 std::integral_constant<bitfields_t, bitfields_t::Reserved15>::type,
 935                                 jmmcg::a_zero_sized_class
 936                         >,
 937                         boost::mpl::pair<
 938                                 std::integral_constant<bitfields_t, bitfields_t::SubLiquidityIndicator>::type,
 939                                 common::SubLiquidityIndicator
 940                         >
 941                 >
 942         >;
 943 
 944         BOOST_MPL_ASSERT_RELATION(static_cast<std::size_t>(jmmcg::mpl::bit_position<static_cast<std::underlying_type<bitfields_t>::type>(bitfields_t::last_field)>::value), ==, static_cast<std::size_t>(bitfields_to_type_map::mapped_types_size));
 945 
 946 }
 947 
 948 namespace OrderRejected {
 949 
 950         enum class bitfields_t : uint64_t {
 951                 Side=(0x1UL<<0),
 952                 PegDifference=(0x1UL<<1),
 953                 Price=(0x1UL<<2),
 954                 ExecInst=(0x1UL<<3),
 955                 OrdType=(0x1UL<<4),
 956                 TimeInForce=(0x1UL<<5),
 957                 MinQty=(0x1UL<<6),
 958                 MaxRemovePct=(0x1UL<<7),
 959                 Symbol=(0x1UL<<8),
 960                 SymbolSfx=(0x1UL<<9),
 961                 Currency=(0x1UL<<10),
 962                 IDSource=(0x1UL<<11),
 963                 SecurityID=(0x1UL<<12),
 964                 SecurityExchange=(0x1UL<<13),
 965                 Capacity=(0x1UL<<14),
 966                 CrossFlag=(0x1UL<<15),
 967                 Account=(0x1UL<<16),
 968                 ClearingFirm=(0x1UL<<17),
 969                 ClearingAccount=(0x1UL<<18),
 970                 DisplayIndicator=(0x1UL<<19),
 971                 MaxFloor=(0x1UL<<20),
 972                 DiscretionAmount=(0x1UL<<21),
 973                 OrderQuantity=(0x1UL<<22),
 974                 PreventParticipantMatch=(0x1UL<<23),
 975                 last_field=(0x1UL<<23)
 976         };
 977 
 978         using bitfields_to_type_map=jmmcg::bitfield_map<
 979                 boost::mpl::map<
 980                         boost::mpl::pair<
 981                                 std::integral_constant<bitfields_t, bitfields_t::Side>::type,
 982                                 common::Side
 983                         >,
 984                         boost::mpl::pair<
 985                                 std::integral_constant<bitfields_t, bitfields_t::PegDifference>::type,
 986                                 common::SPrice_t
 987                         >,
 988                         boost::mpl::pair<
 989                                 std::integral_constant<bitfields_t, bitfields_t::Price>::type,
 990                                 common::Price_t
 991                         >,
 992                         boost::mpl::pair<
 993                                 std::integral_constant<bitfields_t, bitfields_t::ExecInst>::type,
 994                                 common::ExecInst
 995                         >,
 996                         boost::mpl::pair<
 997                                 std::integral_constant<bitfields_t, bitfields_t::OrdType>::type,
 998                                 common::OrdType
 999                         >,
1000                         boost::mpl::pair<
1001                                 std::integral_constant<bitfields_t, bitfields_t::TimeInForce>::type,
1002                                 common::TIF
1003                         >,
1004                         boost::mpl::pair<
1005                                 std::integral_constant<bitfields_t, bitfields_t::MinQty>::type,
1006                                 uint32_t
1007                         >,
1008                         boost::mpl::pair<
1009                                 std::integral_constant<bitfields_t, bitfields_t::MaxRemovePct>::type,
1010                                 uint8_t
1011                         >,
1012                         boost::mpl::pair<
1013                                 std::integral_constant<bitfields_t, bitfields_t::Symbol>::type,
1014                                 common::Symbol_t
1015                         >,
1016                         boost::mpl::pair<
1017                                 std::integral_constant<bitfields_t, bitfields_t::SymbolSfx>::type,
1018                                 common::SymbolSfx_t
1019                         >,
1020                         boost::mpl::pair<
1021                                 std::integral_constant<bitfields_t, bitfields_t::Currency>::type,
1022                                 common::Currency_t
1023                         >,
1024                         boost::mpl::pair<
1025                                 std::integral_constant<bitfields_t, bitfields_t::IDSource>::type,
1026                                 common::IDSource
1027                         >,
1028                         boost::mpl::pair<
1029                                 std::integral_constant<bitfields_t, bitfields_t::SecurityID>::type,
1030                                 common::SecurityID_t
1031                         >,
1032                         boost::mpl::pair<
1033                                 std::integral_constant<bitfields_t, bitfields_t::SecurityExchange>::type,
1034                                 common::SecurityExchange_t
1035                         >,
1036                         boost::mpl::pair<
1037                                 std::integral_constant<bitfields_t, bitfields_t::Capacity>::type,
1038                                 common::Capacity
1039                         >,
1040                         boost::mpl::pair<
1041                                 std::integral_constant<bitfields_t, bitfields_t::CrossFlag>::type,
1042                                 jmmcg::a_zero_sized_class
1043                         >,
1044                         boost::mpl::pair<
1045                                 std::integral_constant<bitfields_t, bitfields_t::Account>::type,
1046                                 common::Account_t
1047                         >,
1048                         boost::mpl::pair<
1049                                 std::integral_constant<bitfields_t, bitfields_t::ClearingFirm>::type,
1050                                 common::ClearingFirm_t
1051                         >,
1052                         boost::mpl::pair<
1053                                 std::integral_constant<bitfields_t, bitfields_t::ClearingAccount>::type,
1054                                 common::ClearingAccount_t
1055                         >,
1056                         boost::mpl::pair<
1057                                 std::integral_constant<bitfields_t, bitfields_t::DisplayIndicator>::type,
1058                                 common::DisplayIndicator
1059                         >,
1060                         boost::mpl::pair<
1061                                 std::integral_constant<bitfields_t, bitfields_t::MaxFloor>::type,
1062                                 uint32_t
1063                         >,
1064                         boost::mpl::pair<
1065                                 std::integral_constant<bitfields_t, bitfields_t::DiscretionAmount>::type,
1066                                 uint16_t
1067                         >,
1068                         boost::mpl::pair<
1069                                 std::integral_constant<bitfields_t, bitfields_t::OrderQuantity>::type,
1070                                 uint32_t
1071                         >,
1072                         boost::mpl::pair<
1073                                 std::integral_constant<bitfields_t, bitfields_t::PreventParticipantMatch>::type,
1074                                 common::PreventParticipantMatch_t
1075                         >
1076                 >
1077         >;
1078 
1079         BOOST_MPL_ASSERT_RELATION(static_cast<std::size_t>(jmmcg::mpl::bit_position<static_cast<std::underlying_type<bitfields_t>::type>(bitfields_t::last_field)>::value), ==, static_cast<std::size_t>(bitfields_to_type_map::mapped_types_size));
1080 
1081 }
1082 
1083 namespace OrderModified {
1084 
1085         enum class bitfields_t : uint64_t {
1086                 Side=(0x1UL<<0),
1087                 PegDifference=(0x1UL<<1),
1088                 Price=(0x1UL<<2),
1089                 ExecInst=(0x1UL<<3),
1090                 OrdType=(0x1UL<<4),
1091                 TimeInForce=(0x1UL<<5),
1092                 MinQty=(0x1UL<<6),
1093                 MaxRemovePct=(0x1UL<<7),
1094                 Reserved1=(0x1UL<<8),
1095                 Reserved2=(0x1UL<<9),
1096                 Reserved3=(0x1UL<<10),
1097                 Reserved4=(0x1UL<<11),
1098                 Reserved5=(0x1UL<<12),
1099                 Reserved6=(0x1UL<<13),
1100                 Reserved7=(0x1UL<<14),
1101                 Reserved8=(0x1UL<<15),
1102                 Account=(0x1UL<<16),
1103                 ClearingFirm=(0x1UL<<17),
1104                 ClearingAccount=(0x1UL<<18),
1105                 DisplayIndicator=(0x1UL<<19),
1106                 MaxFloor=(0x1UL<<20),
1107                 DiscretionAmount=(0x1UL<<21),
1108                 OrderQuantity=(0x1UL<<22),
1109                 PreventParticipantMatch=(0x1UL<<23),
1110                 Reserved10=(0x1UL<<24),
1111                 Reserved11=(0x1UL<<25),
1112                 Reserved12=(0x1UL<<26),
1113                 Reserved13=(0x1UL<<27),
1114                 Reserved14=(0x1UL<<28),
1115                 Reserved15=(0x1UL<<29),
1116                 Reserved16=(0x1UL<<30),
1117                 Reserved17=(0x1UL<<31),
1118                 OrigClOrdID=(0x1UL<<32),
1119                 LeavesQty=(0x1UL<<33),
1120                 LastShares=(0x1UL<<34),
1121                 LastPx=(0x1UL<<35),
1122                 DisplayPrice=(0x1UL<<36),
1123                 WorkingPrice=(0x1UL<<37),
1124                 BaseLiquidityIndicator=(0x1UL<<38),
1125                 ExpireTime=(0x1UL<<39),
1126                 SecondaryOrderId=(0x1UL<<40),
1127                 CCP=(0x1UL<<41),
1128                 Reserved18=(0x1UL<<42),
1129                 AttributedQuote=(0x1UL<<43),
1130                 last_field=(0x1UL<<43)
1131         };
1132 
1133         using bitfields_to_type_map=jmmcg::bitfield_map<
1134                 boost::mpl::map<
1135                         boost::mpl::pair<
1136                                 std::integral_constant<bitfields_t, bitfields_t::Side>::type,
1137                                 common::Side
1138                         >,
1139                         boost::mpl::pair<
1140                                 std::integral_constant<bitfields_t, bitfields_t::PegDifference>::type,
1141                                 common::SPrice_t
1142                         >,
1143                         boost::mpl::pair<
1144                                 std::integral_constant<bitfields_t, bitfields_t::Price>::type,
1145                                 common::Price_t
1146                         >,
1147                         boost::mpl::pair<
1148                                 std::integral_constant<bitfields_t, bitfields_t::ExecInst>::type,
1149                                 common::ExecInst
1150                         >,
1151                         boost::mpl::pair<
1152                                 std::integral_constant<bitfields_t, bitfields_t::OrdType>::type,
1153                                 common::OrdType
1154                         >,
1155                         boost::mpl::pair<
1156                                 std::integral_constant<bitfields_t, bitfields_t::TimeInForce>::type,
1157                                 common::TIF
1158                         >,
1159                         boost::mpl::pair<
1160                                 std::integral_constant<bitfields_t, bitfields_t::MinQty>::type,
1161                                 uint32_t
1162                         >,
1163                         boost::mpl::pair<
1164                                 std::integral_constant<bitfields_t, bitfields_t::MaxRemovePct>::type,
1165                                 uint8_t
1166                         >,
1167                         boost::mpl::pair<
1168                                 std::integral_constant<bitfields_t, bitfields_t::Reserved1>::type,
1169                                 jmmcg::a_zero_sized_class
1170                         >,
1171                         boost::mpl::pair<
1172                                 std::integral_constant<bitfields_t, bitfields_t::Reserved2>::type,
1173                                 jmmcg::a_zero_sized_class
1174                         >,
1175                         boost::mpl::pair<
1176                                 std::integral_constant<bitfields_t, bitfields_t::Reserved3>::type,
1177                                 jmmcg::a_zero_sized_class
1178                         >,
1179                         boost::mpl::pair<
1180                                 std::integral_constant<bitfields_t, bitfields_t::Reserved4>::type,
1181                                 jmmcg::a_zero_sized_class
1182                         >,
1183                         boost::mpl::pair<
1184                                 std::integral_constant<bitfields_t, bitfields_t::Reserved5>::type,
1185                                 jmmcg::a_zero_sized_class
1186                         >,
1187                         boost::mpl::pair<
1188                                 std::integral_constant<bitfields_t, bitfields_t::Reserved6>::type,
1189                                 jmmcg::a_zero_sized_class
1190                         >,
1191                         boost::mpl::pair<
1192                                 std::integral_constant<bitfields_t, bitfields_t::Reserved7>::type,
1193                                 jmmcg::a_zero_sized_class
1194                         >,
1195                         boost::mpl::pair<
1196                                 std::integral_constant<bitfields_t, bitfields_t::Reserved8>::type,
1197                                 jmmcg::a_zero_sized_class
1198                         >,
1199                         boost::mpl::pair<
1200                                 std::integral_constant<bitfields_t, bitfields_t::Account>::type,
1201                                 common::Account_t
1202                         >,
1203                         boost::mpl::pair<
1204                                 std::integral_constant<bitfields_t, bitfields_t::ClearingFirm>::type,
1205                                 common::ClearingFirm_t
1206                         >,
1207                         boost::mpl::pair<
1208                                 std::integral_constant<bitfields_t, bitfields_t::ClearingAccount>::type,
1209                                 common::ClearingAccount_t
1210                         >,
1211                         boost::mpl::pair<
1212                                 std::integral_constant<bitfields_t, bitfields_t::DisplayIndicator>::type,
1213                                 common::DisplayIndicator
1214                         >,
1215                         boost::mpl::pair<
1216                                 std::integral_constant<bitfields_t, bitfields_t::MaxFloor>::type,
1217                                 uint32_t
1218                         >,
1219                         boost::mpl::pair<
1220                                 std::integral_constant<bitfields_t, bitfields_t::DiscretionAmount>::type,
1221                                 uint16_t
1222                         >,
1223                         boost::mpl::pair<
1224                                 std::integral_constant<bitfields_t, bitfields_t::OrderQuantity>::type,
1225                                 uint32_t
1226                         >,
1227                         boost::mpl::pair<
1228                                 std::integral_constant<bitfields_t, bitfields_t::PreventParticipantMatch>::type,
1229                                 common::PreventParticipantMatch_t
1230                         >,
1231                         boost::mpl::pair<
1232                                 std::integral_constant<bitfields_t, bitfields_t::Reserved10>::type,
1233                                 jmmcg::a_zero_sized_class
1234                         >,
1235                         boost::mpl::pair<
1236                                 std::integral_constant<bitfields_t, bitfields_t::Reserved11>::type,
1237                                 jmmcg::a_zero_sized_class
1238                         >,
1239                         boost::mpl::pair<
1240                                 std::integral_constant<bitfields_t, bitfields_t::Reserved12>::type,
1241                                 jmmcg::a_zero_sized_class
1242                         >,
1243                         boost::mpl::pair<
1244                                 std::integral_constant<bitfields_t, bitfields_t::Reserved13>::type,
1245                                 jmmcg::a_zero_sized_class
1246                         >,
1247                         boost::mpl::pair<
1248                                 std::integral_constant<bitfields_t, bitfields_t::Reserved14>::type,
1249                                 jmmcg::a_zero_sized_class
1250                         >,
1251                         boost::mpl::pair<
1252                                 std::integral_constant<bitfields_t, bitfields_t::Reserved15>::type,
1253                                 jmmcg::a_zero_sized_class
1254                         >,
1255                         boost::mpl::pair<
1256                                 std::integral_constant<bitfields_t, bitfields_t::Reserved16>::type,
1257                                 jmmcg::a_zero_sized_class
1258                         >,
1259                         boost::mpl::pair<
1260                                 std::integral_constant<bitfields_t, bitfields_t::Reserved17>::type,
1261                                 jmmcg::a_zero_sized_class
1262                         >,
1263                         boost::mpl::pair<
1264                                 std::integral_constant<bitfields_t, bitfields_t::OrigClOrdID>::type,
1265                                 common::ClientOrderID_t
1266                         >,
1267                         boost::mpl::pair<
1268                                 std::integral_constant<bitfields_t, bitfields_t::LeavesQty>::type,
1269                                 uint32_t
1270                         >,
1271                         boost::mpl::pair<
1272                                 std::integral_constant<bitfields_t, bitfields_t::LastShares>::type,
1273                                 uint32_t
1274                         >,
1275                         boost::mpl::pair<
1276                                 std::integral_constant<bitfields_t, bitfields_t::LastPx>::type,
1277                                 common::Price_t
1278                         >,
1279                         boost::mpl::pair<
1280                                 std::integral_constant<bitfields_t, bitfields_t::DisplayPrice>::type,
1281                                 common::Price_t
1282                         >,
1283                         boost::mpl::pair<
1284                                 std::integral_constant<bitfields_t, bitfields_t::WorkingPrice>::type,
1285                                 common::Price_t
1286                         >,
1287                         boost::mpl::pair<
1288                                 std::integral_constant<bitfields_t, bitfields_t::BaseLiquidityIndicator>::type,
1289                                 common::BaseLiquidityIndicator
1290                         >,
1291                         boost::mpl::pair<
1292                                 std::integral_constant<bitfields_t, bitfields_t::ExpireTime>::type,
1293                                 common::DateTime_t
1294                         >,
1295                         boost::mpl::pair<
1296                                 std::integral_constant<bitfields_t, bitfields_t::SecondaryOrderId>::type,
1297                                 uint64_t
1298                         >,
1299                         boost::mpl::pair<
1300                                 std::integral_constant<bitfields_t, bitfields_t::CCP>::type,
1301                                 common::CCP
1302                         >,
1303                         boost::mpl::pair<
1304                                 std::integral_constant<bitfields_t, bitfields_t::Reserved18>::type,
1305                                 jmmcg::a_zero_sized_class
1306                         >,
1307                         boost::mpl::pair<
1308                                 std::integral_constant<bitfields_t, bitfields_t::AttributedQuote>::type,
1309                                 common::AttributedQuote
1310                         >
1311                 >
1312         >;
1313 
1314         BOOST_MPL_ASSERT_RELATION(static_cast<std::size_t>(jmmcg::mpl::bit_position<static_cast<std::underlying_type<bitfields_t>::type>(bitfields_t::last_field)>::value), ==, static_cast<std::size_t>(bitfields_to_type_map::mapped_types_size));
1315 
1316 }
1317 
1318 namespace OrderRestated {
1319 
1320         enum class bitfields_t : uint64_t {
1321                 Side=(0x1UL<<0),
1322                 PegDifference=(0x1UL<<1),
1323                 Price=(0x1UL<<2),
1324                 ExecInst=(0x1UL<<3),
1325                 OrdType=(0x1UL<<4),
1326                 TimeInForce=(0x1UL<<5),
1327                 MinQty=(0x1UL<<6),
1328                 MaxRemovePct=(0x1UL<<7),
1329                 Symbol=(0x1UL<<8),
1330                 Reserved2=(0x1UL<<9),
1331                 Reserved3=(0x1UL<<10),
1332                 Reserved4=(0x1UL<<11),
1333                 Reserved5=(0x1UL<<12),
1334                 Reserved6=(0x1UL<<13),
1335                 Reserved7=(0x1UL<<14),
1336                 Reserved8=(0x1UL<<15),
1337                 Account=(0x1UL<<16),
1338                 ClearingFirm=(0x1UL<<17),
1339                 ClearingAccount=(0x1UL<<18),
1340                 DisplayIndicator=(0x1UL<<19),
1341                 MaxFloor=(0x1UL<<20),
1342                 DiscretionAmount=(0x1UL<<21),
1343                 OrderQuantity=(0x1UL<<22),
1344                 PreventParticipantMatch=(0x1UL<<23),
1345                 Reserved10=(0x1UL<<24),
1346                 Reserved11=(0x1UL<<25),
1347                 Reserved12=(0x1UL<<26),
1348                 Reserved13=(0x1UL<<27),
1349                 Reserved14=(0x1UL<<28),
1350                 CorrectedSize=(0x1UL<<29),
1351                 PartyID=(0x1UL<<30),
1352                 AccessFee=(0x1UL<<31),
1353                 OrigClOrdID=(0x1UL<<32),
1354                 LeavesQty=(0x1UL<<33),
1355                 LastShares=(0x1UL<<34),
1356                 LastPx=(0x1UL<<35),
1357                 DisplayPrice=(0x1UL<<36),
1358                 WorkingPrice=(0x1UL<<37),
1359                 BaseLiquidityIndicator=(0x1UL<<38),
1360                 ExpireTime=(0x1UL<<39),
1361                 SecondaryOrderId=(0x1UL<<40),
1362                 CCP=(0x1UL<<41),
1363                 Reserved15=(0x1UL<<42),
1364                 AttributedQuote=(0x1UL<<43),
1365                 last_field=(0x1UL<<43)
1366         };
1367 
1368         using bitfields_to_type_map=jmmcg::bitfield_map<
1369                 boost::mpl::map<
1370                         boost::mpl::pair<
1371                                 std::integral_constant<bitfields_t, bitfields_t::Side>::type,
1372                                 common::Side
1373                         >,
1374                         boost::mpl::pair<
1375                                 std::integral_constant<bitfields_t, bitfields_t::PegDifference>::type,
1376                                 common::SPrice_t
1377                         >,
1378                         boost::mpl::pair<
1379                                 std::integral_constant<bitfields_t, bitfields_t::Price>::type,
1380                                 common::Price_t
1381                         >,
1382                         boost::mpl::pair<
1383                                 std::integral_constant<bitfields_t, bitfields_t::ExecInst>::type,
1384                                 common::ExecInst
1385                         >,
1386                         boost::mpl::pair<
1387                                 std::integral_constant<bitfields_t, bitfields_t::OrdType>::type,
1388                                 common::OrdType
1389                         >,
1390                         boost::mpl::pair<
1391                                 std::integral_constant<bitfields_t, bitfields_t::TimeInForce>::type,
1392                                 common::TIF
1393                         >,
1394                         boost::mpl::pair<
1395                                 std::integral_constant<bitfields_t, bitfields_t::MinQty>::type,
1396                                 uint32_t
1397                         >,
1398                         boost::mpl::pair<
1399                                 std::integral_constant<bitfields_t, bitfields_t::MaxRemovePct>::type,
1400                                 uint8_t
1401                         >,
1402                         boost::mpl::pair<
1403                                 std::integral_constant<bitfields_t, bitfields_t::Symbol>::type,
1404                                 common::Symbol_t
1405                         >,
1406                         boost::mpl::pair<
1407                                 std::integral_constant<bitfields_t, bitfields_t::Reserved2>::type,
1408                                 jmmcg::a_zero_sized_class
1409                         >,
1410                         boost::mpl::pair<
1411                                 std::integral_constant<bitfields_t, bitfields_t::Reserved3>::type,
1412                                 jmmcg::a_zero_sized_class
1413                         >,
1414                         boost::mpl::pair<
1415                                 std::integral_constant<bitfields_t, bitfields_t::Reserved4>::type,
1416                                 jmmcg::a_zero_sized_class
1417                         >,
1418                         boost::mpl::pair<
1419                                 std::integral_constant<bitfields_t, bitfields_t::Reserved5>::type,
1420                                 jmmcg::a_zero_sized_class
1421                         >,
1422                         boost::mpl::pair<
1423                                 std::integral_constant<bitfields_t, bitfields_t::Reserved6>::type,
1424                                 jmmcg::a_zero_sized_class
1425                         >,
1426                         boost::mpl::pair<
1427                                 std::integral_constant<bitfields_t, bitfields_t::Reserved7>::type,
1428                                 jmmcg::a_zero_sized_class
1429                         >,
1430                         boost::mpl::pair<
1431                                 std::integral_constant<bitfields_t, bitfields_t::Reserved8>::type,
1432                                 jmmcg::a_zero_sized_class
1433                         >,
1434                         boost::mpl::pair<
1435                                 std::integral_constant<bitfields_t, bitfields_t::Account>::type,
1436                                 common::Account_t
1437                         >,
1438                         boost::mpl::pair<
1439                                 std::integral_constant<bitfields_t, bitfields_t::ClearingFirm>::type,
1440                                 common::ClearingFirm_t
1441                         >,
1442                         boost::mpl::pair<
1443                                 std::integral_constant<bitfields_t, bitfields_t::ClearingAccount>::type,
1444                                 common::ClearingAccount_t
1445                         >,
1446                         boost::mpl::pair<
1447                                 std::integral_constant<bitfields_t, bitfields_t::DisplayIndicator>::type,
1448                                 common::DisplayIndicator
1449                         >,
1450                         boost::mpl::pair<
1451                                 std::integral_constant<bitfields_t, bitfields_t::MaxFloor>::type,
1452                                 uint32_t
1453                         >,
1454                         boost::mpl::pair<
1455                                 std::integral_constant<bitfields_t, bitfields_t::DiscretionAmount>::type,
1456                                 uint16_t
1457                         >,
1458                         boost::mpl::pair<
1459                                 std::integral_constant<bitfields_t, bitfields_t::OrderQuantity>::type,
1460                                 uint32_t
1461                         >,
1462                         boost::mpl::pair<
1463                                 std::integral_constant<bitfields_t, bitfields_t::PreventParticipantMatch>::type,
1464                                 common::PreventParticipantMatch_t
1465                         >,
1466                         boost::mpl::pair<
1467                                 std::integral_constant<bitfields_t, bitfields_t::Reserved10>::type,
1468                                 jmmcg::a_zero_sized_class
1469                         >,
1470                         boost::mpl::pair<
1471                                 std::integral_constant<bitfields_t, bitfields_t::Reserved11>::type,
1472                                 jmmcg::a_zero_sized_class
1473                         >,
1474                         boost::mpl::pair<
1475                                 std::integral_constant<bitfields_t, bitfields_t::Reserved12>::type,
1476                                 jmmcg::a_zero_sized_class
1477                         >,
1478                         boost::mpl::pair<
1479                                 std::integral_constant<bitfields_t, bitfields_t::Reserved13>::type,
1480                                 jmmcg::a_zero_sized_class
1481                         >,
1482                         boost::mpl::pair<
1483                                 std::integral_constant<bitfields_t, bitfields_t::Reserved14>::type,
1484                                 jmmcg::a_zero_sized_class
1485                         >,
1486                         boost::mpl::pair<
1487                                 std::integral_constant<bitfields_t, bitfields_t::CorrectedSize>::type,
1488                                 uint32_t
1489                         >,
1490                         boost::mpl::pair<
1491                                 std::integral_constant<bitfields_t, bitfields_t::PartyID>::type,
1492                                 jmmcg::a_zero_sized_class
1493                         >,
1494                         boost::mpl::pair<
1495                                 std::integral_constant<bitfields_t, bitfields_t::AccessFee>::type,
1496                                 jmmcg::a_zero_sized_class
1497                         >,
1498                         boost::mpl::pair<
1499                                 std::integral_constant<bitfields_t, bitfields_t::OrigClOrdID>::type,
1500                                 common::ClientOrderID_t
1501                         >,
1502                         boost::mpl::pair<
1503                                 std::integral_constant<bitfields_t, bitfields_t::LeavesQty>::type,
1504                                 uint32_t
1505                         >,
1506                         boost::mpl::pair<
1507                                 std::integral_constant<bitfields_t, bitfields_t::LastShares>::type,
1508                                 uint32_t
1509                         >,
1510                         boost::mpl::pair<
1511                                 std::integral_constant<bitfields_t, bitfields_t::LastPx>::type,
1512                                 common::Price_t
1513                         >,
1514                         boost::mpl::pair<
1515                                 std::integral_constant<bitfields_t, bitfields_t::DisplayPrice>::type,
1516                                 common::Price_t
1517                         >,
1518                         boost::mpl::pair<
1519                                 std::integral_constant<bitfields_t, bitfields_t::WorkingPrice>::type,
1520                                 common::Price_t
1521                         >,
1522                         boost::mpl::pair<
1523                                 std::integral_constant<bitfields_t, bitfields_t::BaseLiquidityIndicator>::type,
1524                                 common::BaseLiquidityIndicator
1525                         >,
1526                         boost::mpl::pair<
1527                                 std::integral_constant<bitfields_t, bitfields_t::ExpireTime>::type,
1528                                 common::DateTime_t
1529                         >,
1530                         boost::mpl::pair<
1531                                 std::integral_constant<bitfields_t, bitfields_t::SecondaryOrderId>::type,
1532                                 uint64_t
1533                         >,
1534                         boost::mpl::pair<
1535                                 std::integral_constant<bitfields_t, bitfields_t::CCP>::type,
1536                                 common::CCP
1537                         >,
1538                         boost::mpl::pair<
1539                                 std::integral_constant<bitfields_t, bitfields_t::Reserved15>::type,
1540                                 jmmcg::a_zero_sized_class
1541                         >,
1542                         boost::mpl::pair<
1543                                 std::integral_constant<bitfields_t, bitfields_t::AttributedQuote>::type,
1544                                 common::AttributedQuote
1545                         >
1546                 >
1547         >;
1548 
1549         BOOST_MPL_ASSERT_RELATION(static_cast<std::size_t>(jmmcg::mpl::bit_position<static_cast<std::underlying_type<bitfields_t>::type>(bitfields_t::last_field)>::value), ==, static_cast<std::size_t>(bitfields_to_type_map::mapped_types_size));
1550 
1551 }
1552 
1553 namespace UserModifyRejected {
1554 
1555         enum class bitfields_t : uint64_t {
1556                 last_field=(0x1UL<<0)
1557         };
1558         struct bitfields_to_type_map {
1559                 using bitfields_tags_type=bitfields_t;
1560 
1561                 enum : std::size_t {
1562                         mapped_types_size=1
1563                 };
1564 
1565                 static constexpr std::size_t size() noexcept(true) {
1566                         return sizeof(bitfields_to_type_map);
1567                 }
1568         };
1569 
1570         BOOST_MPL_ASSERT_RELATION(static_cast<std::size_t>(jmmcg::mpl::bit_position<static_cast<std::underlying_type<bitfields_t>::type>(bitfields_t::last_field)>::value), ==, static_cast<std::size_t>(bitfields_to_type_map::mapped_types_size));
1571 
1572 }
1573 
1574 namespace OrderCancelled {
1575 
1576         enum class bitfields_t : uint64_t {
1577                 Side=(0x1UL<<0),
1578                 Reserved2=(0x1UL<<1),
1579                 Reserved3=(0x1UL<<2),
1580                 Reserved4=(0x1UL<<3),
1581                 Reserved5=(0x1UL<<4),
1582                 Reserved6=(0x1UL<<5),
1583                 Reserved7=(0x1UL<<6),
1584                 Reserved8=(0x1UL<<7),
1585                 Symbol=(0x1UL<<8),
1586                 Reserved10=(0x1UL<<9),
1587                 Reserved11=(0x1UL<<10),
1588                 Reserved12=(0x1UL<<11),
1589                 Reserved13=(0x1UL<<12),
1590                 Reserved14=(0x1UL<<13),
1591                 Reserved15=(0x1UL<<14),
1592                 Reserved16=(0x1UL<<15),
1593                 Account=(0x1UL<<16),
1594                 ClearingFirm=(0x1UL<<17),
1595                 ClearingAccount=(0x1UL<<18),
1596                 DisplayIndicator=(0x1UL<<19),
1597                 MaxFloor=(0x1UL<<20),
1598                 DiscretionAmount=(0x1UL<<21),
1599                 OrderQuantity=(0x1UL<<22),
1600                 PreventParticipantMatch=(0x1UL<<23),
1601                 Reserved18=(0x1UL<<24),
1602                 Reserved19=(0x1UL<<25),
1603                 Reserved20=(0x1UL<<26),
1604                 Reserved21=(0x1UL<<27),
1605                 Reserved22=(0x1UL<<28),
1606                 CorrectedSize=(0x1UL<<29),
1607                 PartyID=(0x1UL<<30),
1608                 AccessFee=(0x1UL<<31),
1609                 OrigClOrdID=(0x1UL<<32),
1610                 LeavesQty=(0x1UL<<33),
1611                 LastShares=(0x1UL<<34),
1612                 LastPx=(0x1UL<<35),
1613                 DisplayPrice=(0x1UL<<36),
1614                 WorkingPrice=(0x1UL<<37),
1615                 BaseLiquidityIndicator=(0x1UL<<38),
1616                 ExpireTime=(0x1UL<<39),
1617                 SecondaryOrderId=(0x1UL<<40),
1618                 CCP=(0x1UL<<41),
1619                 Reserved23=(0x1UL<<42),
1620                 AttributedQuote=(0x1UL<<43),
1621                 last_field=(0x1UL<<43)
1622         };
1623 
1624         using bitfields_to_type_map=jmmcg::bitfield_map<
1625                 boost::mpl::map<
1626                         boost::mpl::pair<
1627                                 std::integral_constant<bitfields_t, bitfields_t::Side>::type,
1628                                 common::Side
1629                         >,
1630                         boost::mpl::pair<
1631                                 std::integral_constant<bitfields_t, bitfields_t::Reserved2>::type,
1632                                 jmmcg::a_zero_sized_class
1633                         >,
1634                         boost::mpl::pair<
1635                                 std::integral_constant<bitfields_t, bitfields_t::Reserved3>::type,
1636                                 jmmcg::a_zero_sized_class
1637                         >,
1638                         boost::mpl::pair<
1639                                 std::integral_constant<bitfields_t, bitfields_t::Reserved4>::type,
1640                                 jmmcg::a_zero_sized_class
1641                         >,
1642                         boost::mpl::pair<
1643                                 std::integral_constant<bitfields_t, bitfields_t::Reserved5>::type,
1644                                 jmmcg::a_zero_sized_class
1645                         >,
1646                         boost::mpl::pair<
1647                                 std::integral_constant<bitfields_t, bitfields_t::Reserved6>::type,
1648                                 jmmcg::a_zero_sized_class
1649                         >,
1650                         boost::mpl::pair<
1651                                 std::integral_constant<bitfields_t, bitfields_t::Reserved7>::type,
1652                                 jmmcg::a_zero_sized_class
1653                         >,
1654                         boost::mpl::pair<
1655                                 std::integral_constant<bitfields_t, bitfields_t::Reserved8>::type,
1656                                 jmmcg::a_zero_sized_class
1657                         >,
1658                         boost::mpl::pair<
1659                                 std::integral_constant<bitfields_t, bitfields_t::Symbol>::type,
1660                                 common::Symbol_t
1661                         >,
1662                         boost::mpl::pair<
1663                                 std::integral_constant<bitfields_t, bitfields_t::Reserved10>::type,
1664                                 jmmcg::a_zero_sized_class
1665                         >,
1666                         boost::mpl::pair<
1667                                 std::integral_constant<bitfields_t, bitfields_t::Reserved11>::type,
1668                                 jmmcg::a_zero_sized_class
1669                         >,
1670                         boost::mpl::pair<
1671                                 std::integral_constant<bitfields_t, bitfields_t::Reserved12>::type,
1672                                 jmmcg::a_zero_sized_class
1673                         >,
1674                         boost::mpl::pair<
1675                                 std::integral_constant<bitfields_t, bitfields_t::Reserved13>::type,
1676                                 jmmcg::a_zero_sized_class
1677                         >,
1678                         boost::mpl::pair<
1679                                 std::integral_constant<bitfields_t, bitfields_t::Reserved14>::type,
1680                                 jmmcg::a_zero_sized_class
1681                         >,
1682                         boost::mpl::pair<
1683                                 std::integral_constant<bitfields_t, bitfields_t::Reserved15>::type,
1684                                 jmmcg::a_zero_sized_class
1685                         >,
1686                         boost::mpl::pair<
1687                                 std::integral_constant<bitfields_t, bitfields_t::Reserved16>::type,
1688                                 jmmcg::a_zero_sized_class
1689                         >,
1690                         boost::mpl::pair<
1691                                 std::integral_constant<bitfields_t, bitfields_t::Account>::type,
1692                                 common::Account_t
1693                         >,
1694                         boost::mpl::pair<
1695                                 std::integral_constant<bitfields_t, bitfields_t::ClearingFirm>::type,
1696                                 common::ClearingFirm_t
1697                         >,
1698                         boost::mpl::pair<
1699                                 std::integral_constant<bitfields_t, bitfields_t::ClearingAccount>::type,
1700                                 common::ClearingAccount_t
1701                         >,
1702                         boost::mpl::pair<
1703                                 std::integral_constant<bitfields_t, bitfields_t::DisplayIndicator>::type,
1704                                 common::DisplayIndicator
1705                         >,
1706                         boost::mpl::pair<
1707                                 std::integral_constant<bitfields_t, bitfields_t::MaxFloor>::type,
1708                                 uint32_t
1709                         >,
1710                         boost::mpl::pair<
1711                                 std::integral_constant<bitfields_t, bitfields_t::DiscretionAmount>::type,
1712                                 uint16_t
1713                         >,
1714                         boost::mpl::pair<
1715                                 std::integral_constant<bitfields_t, bitfields_t::OrderQuantity>::type,
1716                                 uint32_t
1717                         >,
1718                         boost::mpl::pair<
1719                                 std::integral_constant<bitfields_t, bitfields_t::PreventParticipantMatch>::type,
1720                                 common::PreventParticipantMatch_t
1721                         >,
1722                         boost::mpl::pair<
1723                                 std::integral_constant<bitfields_t, bitfields_t::Reserved18>::type,
1724                                 jmmcg::a_zero_sized_class
1725                         >,
1726                         boost::mpl::pair<
1727                                 std::integral_constant<bitfields_t, bitfields_t::Reserved19>::type,
1728                                 jmmcg::a_zero_sized_class
1729                         >,
1730                         boost::mpl::pair<
1731                                 std::integral_constant<bitfields_t, bitfields_t::Reserved20>::type,
1732                                 jmmcg::a_zero_sized_class
1733                         >,
1734                         boost::mpl::pair<
1735                                 std::integral_constant<bitfields_t, bitfields_t::Reserved21>::type,
1736                                 jmmcg::a_zero_sized_class
1737                         >,
1738                         boost::mpl::pair<
1739                                 std::integral_constant<bitfields_t, bitfields_t::Reserved22>::type,
1740                                 jmmcg::a_zero_sized_class
1741                         >,
1742                         boost::mpl::pair<
1743                                 std::integral_constant<bitfields_t, bitfields_t::CorrectedSize>::type,
1744                                 uint32_t
1745                         >,
1746                         boost::mpl::pair<
1747                                 std::integral_constant<bitfields_t, bitfields_t::PartyID>::type,
1748                                 jmmcg::a_zero_sized_class
1749                         >,
1750                         boost::mpl::pair<
1751                                 std::integral_constant<bitfields_t, bitfields_t::AccessFee>::type,
1752                                 jmmcg::a_zero_sized_class
1753                         >,
1754                         boost::mpl::pair<
1755                                 std::integral_constant<bitfields_t, bitfields_t::OrigClOrdID>::type,
1756                                 common::ClientOrderID_t
1757                         >,
1758                         boost::mpl::pair<
1759                                 std::integral_constant<bitfields_t, bitfields_t::LeavesQty>::type,
1760                                 uint32_t
1761                         >,
1762                         boost::mpl::pair<
1763                                 std::integral_constant<bitfields_t, bitfields_t::LastShares>::type,
1764                                 uint32_t
1765                         >,
1766                         boost::mpl::pair<
1767                                 std::integral_constant<bitfields_t, bitfields_t::LastPx>::type,
1768                                 common::Price_t
1769                         >,
1770                         boost::mpl::pair<
1771                                 std::integral_constant<bitfields_t, bitfields_t::DisplayPrice>::type,
1772                                 common::Price_t
1773                         >,
1774                         boost::mpl::pair<
1775                                 std::integral_constant<bitfields_t, bitfields_t::WorkingPrice>::type,
1776                                 common::Price_t
1777                         >,
1778                         boost::mpl::pair<
1779                                 std::integral_constant<bitfields_t, bitfields_t::BaseLiquidityIndicator>::type,
1780                                 common::BaseLiquidityIndicator
1781                         >,
1782                         boost::mpl::pair<
1783                                 std::integral_constant<bitfields_t, bitfields_t::ExpireTime>::type,
1784                                 common::DateTime_t
1785                         >,
1786                         boost::mpl::pair<
1787                                 std::integral_constant<bitfields_t, bitfields_t::SecondaryOrderId>::type,
1788                                 uint64_t
1789                         >,
1790                         boost::mpl::pair<
1791                                 std::integral_constant<bitfields_t, bitfields_t::CCP>::type,
1792                                 common::CCP
1793                         >,
1794                         boost::mpl::pair<
1795                                 std::integral_constant<bitfields_t, bitfields_t::Reserved23>::type,
1796                                 jmmcg::a_zero_sized_class
1797                         >,
1798                         boost::mpl::pair<
1799                                 std::integral_constant<bitfields_t, bitfields_t::AttributedQuote>::type,
1800                                 common::AttributedQuote
1801                         >
1802                 >
1803         >;
1804 
1805         BOOST_MPL_ASSERT_RELATION(static_cast<std::size_t>(jmmcg::mpl::bit_position<static_cast<std::underlying_type<bitfields_t>::type>(bitfields_t::last_field)>::value), ==, static_cast<std::size_t>(bitfields_to_type_map::mapped_types_size));
1806 
1807 }
1808 
1809 namespace CancelRejected {
1810 
1811         enum class bitfields_t : uint64_t {
1812                 last_field=(0x1UL<<0)
1813         };
1814         struct bitfields_to_type_map {
1815                 using bitfields_tags_type=bitfields_t;
1816 
1817                 enum : std::size_t {
1818                         mapped_types_size=1
1819                 };
1820 
1821                 static constexpr std::size_t size() noexcept(true) {
1822                         return sizeof(bitfields_to_type_map);
1823                 }
1824         };
1825 
1826         BOOST_MPL_ASSERT_RELATION(static_cast<std::size_t>(jmmcg::mpl::bit_position<static_cast<std::underlying_type<bitfields_t>::type>(bitfields_t::last_field)>::value), ==, static_cast<std::size_t>(bitfields_to_type_map::mapped_types_size));
1827 
1828 }
1829 
1830 namespace OrderExecution {
1831 
1832         enum class bitfields_t : uint64_t {
1833                 Side=(0x1UL<<0),
1834                 PegDifference=(0x1UL<<1),
1835                 Price=(0x1UL<<2),
1836                 ExecInst=(0x1UL<<3),
1837                 OrdType=(0x1UL<<4),
1838                 TimeInForce=(0x1UL<<5),
1839                 MinQty=(0x1UL<<6),
1840                 MaxRemovePct=(0x1UL<<7),
1841                 Symbol=(0x1UL<<8),
1842                 SymbolSfx=(0x1UL<<9),
1843                 Currency=(0x1UL<<10),
1844                 IDSource=(0x1UL<<11),
1845                 SecurityID=(0x1UL<<12),
1846                 SecurityExchange=(0x1UL<<13),
1847                 Capacity=(0x1UL<<14),
1848                 CrossFlag=(0x1UL<<15),
1849                 Account=(0x1UL<<16),
1850                 ClearingFirm=(0x1UL<<17),
1851                 ClearingAccount=(0x1UL<<18),
1852                 DisplayIndicator=(0x1UL<<19),
1853                 MaxFloor=(0x1UL<<20),
1854                 DiscretionAmount=(0x1UL<<21),
1855                 OrderQuantity=(0x1UL<<22),
1856                 PreventParticipantMatch=(0x1UL<<23),
1857                 Reserved3=(0x1UL<<24),
1858                 Reserved4=(0x1UL<<25),
1859                 Reserved5=(0x1UL<<26),
1860                 Reserved6=(0x1UL<<27),
1861                 Reserved7=(0x1UL<<28),
1862                 Reserved8=(0x1UL<<29),
1863                 Reserved9=(0x1UL<<30),
1864                 Reserved10=(0x1UL<<31),
1865                 Reserved11=(0x1UL<<32),
1866                 Reserved12=(0x1UL<<33),
1867                 Reserved13=(0x1UL<<34),
1868                 Reserved14=(0x1UL<<35),
1869                 Reserved15=(0x1UL<<36),
1870                 Reserved16=(0x1UL<<37),
1871                 Reserved17=(0x1UL<<38),
1872                 Reserved18=(0x1UL<<39),
1873                 SecondaryOrderId=(0x1UL<<40),
1874                 CCP=(0x1UL<<41),
1875                 last_field=(0x1UL<<41)
1876         };
1877 
1878         using bitfields_to_type_map=jmmcg::bitfield_map<
1879                 boost::mpl::map<
1880                         boost::mpl::pair<
1881                                 std::integral_constant<bitfields_t, bitfields_t::Side>::type,
1882                                 common::Side
1883                         >,
1884                         boost::mpl::pair<
1885                                 std::integral_constant<bitfields_t, bitfields_t::PegDifference>::type,
1886                                 common::SPrice_t
1887                         >,
1888                         boost::mpl::pair<
1889                                 std::integral_constant<bitfields_t, bitfields_t::Price>::type,
1890                                 common::Price_t
1891                         >,
1892                         boost::mpl::pair<
1893                                 std::integral_constant<bitfields_t, bitfields_t::ExecInst>::type,
1894                                 common::ExecInst
1895                         >,
1896                         boost::mpl::pair<
1897                                 std::integral_constant<bitfields_t, bitfields_t::OrdType>::type,
1898                                 common::OrdType
1899                         >,
1900                         boost::mpl::pair<
1901                                 std::integral_constant<bitfields_t, bitfields_t::TimeInForce>::type,
1902                                 common::TIF
1903                         >,
1904                         boost::mpl::pair<
1905                                 std::integral_constant<bitfields_t, bitfields_t::MinQty>::type,
1906                                 uint32_t
1907                         >,
1908                         boost::mpl::pair<
1909                                 std::integral_constant<bitfields_t, bitfields_t::MaxRemovePct>::type,
1910                                 uint8_t
1911                         >,
1912                         boost::mpl::pair<
1913                                 std::integral_constant<bitfields_t, bitfields_t::Symbol>::type,
1914                                 common::Symbol_t
1915                         >,
1916                         boost::mpl::pair<
1917                                 std::integral_constant<bitfields_t, bitfields_t::SymbolSfx>::type,
1918                                 common::SymbolSfx_t
1919                         >,
1920                         boost::mpl::pair<
1921                                 std::integral_constant<bitfields_t, bitfields_t::Currency>::type,
1922                                 common::Currency_t
1923                         >,
1924                         boost::mpl::pair<
1925                                 std::integral_constant<bitfields_t, bitfields_t::IDSource>::type,
1926                                 common::IDSource
1927                         >,
1928                         boost::mpl::pair<
1929                                 std::integral_constant<bitfields_t, bitfields_t::SecurityID>::type,
1930                                 common::SecurityID_t
1931                         >,
1932                         boost::mpl::pair<
1933                                 std::integral_constant<bitfields_t, bitfields_t::SecurityExchange>::type,
1934                                 common::SecurityExchange_t
1935                         >,
1936                         boost::mpl::pair<
1937                                 std::integral_constant<bitfields_t, bitfields_t::Capacity>::type,
1938                                 common::Capacity
1939                         >,
1940                         boost::mpl::pair<
1941                                 std::integral_constant<bitfields_t, bitfields_t::CrossFlag>::type,
1942                                 jmmcg::a_zero_sized_class
1943                         >,
1944                         boost::mpl::pair<
1945                                 std::integral_constant<bitfields_t, bitfields_t::Account>::type,
1946                                 common::Account_t
1947                         >,
1948                         boost::mpl::pair<
1949                                 std::integral_constant<bitfields_t, bitfields_t::ClearingFirm>::type,
1950                                 common::ClearingFirm_t
1951                         >,
1952                         boost::mpl::pair<
1953                                 std::integral_constant<bitfields_t, bitfields_t::ClearingAccount>::type,
1954                                 common::ClearingAccount_t
1955                         >,
1956                         boost::mpl::pair<
1957                                 std::integral_constant<bitfields_t, bitfields_t::DisplayIndicator>::type,
1958                                 common::DisplayIndicator
1959                         >,
1960                         boost::mpl::pair<
1961                                 std::integral_constant<bitfields_t, bitfields_t::MaxFloor>::type,
1962                                 uint32_t
1963                         >,
1964                         boost::mpl::pair<
1965                                 std::integral_constant<bitfields_t, bitfields_t::DiscretionAmount>::type,
1966                                 uint16_t
1967                         >,
1968                         boost::mpl::pair<
1969                                 std::integral_constant<bitfields_t, bitfields_t::OrderQuantity>::type,
1970                                 uint32_t
1971                         >,
1972                         boost::mpl::pair<
1973                                 std::integral_constant<bitfields_t, bitfields_t::PreventParticipantMatch>::type,
1974                                 common::PreventParticipantMatch_t
1975                         >,
1976                         boost::mpl::pair<
1977                                 std::integral_constant<bitfields_t, bitfields_t::Reserved3>::type,
1978                                 jmmcg::a_zero_sized_class
1979                         >,
1980                         boost::mpl::pair<
1981                                 std::integral_constant<bitfields_t, bitfields_t::Reserved4>::type,
1982                                 jmmcg::a_zero_sized_class
1983                         >,
1984                         boost::mpl::pair<
1985                                 std::integral_constant<bitfields_t, bitfields_t::Reserved5>::type,
1986                                 jmmcg::a_zero_sized_class
1987                         >,
1988                         boost::mpl::pair<
1989                                 std::integral_constant<bitfields_t, bitfields_t::Reserved6>::type,
1990                                 jmmcg::a_zero_sized_class
1991                         >,
1992                         boost::mpl::pair<
1993                                 std::integral_constant<bitfields_t, bitfields_t::Reserved7>::type,
1994                                 jmmcg::a_zero_sized_class
1995                         >,
1996                         boost::mpl::pair<
1997                                 std::integral_constant<bitfields_t, bitfields_t::Reserved8>::type,
1998                                 jmmcg::a_zero_sized_class
1999                         >,
2000                         boost::mpl::pair<
2001                                 std::integral_constant<bitfields_t, bitfields_t::Reserved9>::type,
2002                                 jmmcg::a_zero_sized_class
2003                         >,
2004                         boost::mpl::pair<
2005                                 std::integral_constant<bitfields_t, bitfields_t::Reserved10>::type,
2006                                 jmmcg::a_zero_sized_class
2007                         >,
2008                         boost::mpl::pair<
2009                                 std::integral_constant<bitfields_t, bitfields_t::Reserved11>::type,
2010                                 jmmcg::a_zero_sized_class
2011                         >,
2012                         boost::mpl::pair<
2013                                 std::integral_constant<bitfields_t, bitfields_t::Reserved12>::type,
2014                                 jmmcg::a_zero_sized_class
2015                         >,
2016                         boost::mpl::pair<
2017                                 std::integral_constant<bitfields_t, bitfields_t::Reserved13>::type,
2018                                 jmmcg::a_zero_sized_class
2019                         >,
2020                         boost::mpl::pair<
2021                                 std::integral_constant<bitfields_t, bitfields_t::Reserved14>::type,
2022                                 jmmcg::a_zero_sized_class
2023                         >,
2024                         boost::mpl::pair<
2025                                 std::integral_constant<bitfields_t, bitfields_t::Reserved15>::type,
2026                                 jmmcg::a_zero_sized_class
2027                         >,
2028                         boost::mpl::pair<
2029                                 std::integral_constant<bitfields_t, bitfields_t::Reserved16>::type,
2030                                 jmmcg::a_zero_sized_class
2031                         >,
2032                         boost::mpl::pair<
2033                                 std::integral_constant<bitfields_t, bitfields_t::Reserved17>::type,
2034                                 jmmcg::a_zero_sized_class
2035                         >,
2036                         boost::mpl::pair<
2037                                 std::integral_constant<bitfields_t, bitfields_t::Reserved18>::type,
2038                                 jmmcg::a_zero_sized_class
2039                         >,
2040                         boost::mpl::pair<
2041                                 std::integral_constant<bitfields_t, bitfields_t::SecondaryOrderId>::type,
2042                                 uint64_t
2043                         >,
2044                         boost::mpl::pair<
2045                                 std::integral_constant<bitfields_t, bitfields_t::CCP>::type,
2046                                 common::CCP
2047                         >
2048                 >
2049         >;
2050 
2051         BOOST_MPL_ASSERT_RELATION(static_cast<std::size_t>(jmmcg::mpl::bit_position<static_cast<std::underlying_type<bitfields_t>::type>(bitfields_t::last_field)>::value), ==, static_cast<std::size_t>(bitfields_to_type_map::mapped_types_size));
2052 
2053 }
2054 
2055 namespace TradeCancelOrCorrect {
2056 
2057         enum class bitfields_t : uint64_t {
2058                 Reserved1=(0x1UL<<0),
2059                 Reserved2=(0x1UL<<1),
2060                 Reserved3=(0x1UL<<2),
2061                 Reserved4=(0x1UL<<3),
2062                 Reserved5=(0x1UL<<4),
2063                 Reserved6=(0x1UL<<5),
2064                 Reserved7=(0x1UL<<6),
2065                 Reserved8=(0x1UL<<7),
2066                 Symbol=(0x1UL<<8),
2067                 SymbolSfx=(0x1UL<<9),
2068                 Currency=(0x1UL<<10),
2069                 IDSource=(0x1UL<<11),
2070                 SecurityID=(0x1UL<<12),
2071                 SecurityExchange=(0x1UL<<13),
2072                 Capacity=(0x1UL<<14),
2073                 CrossFlag=(0x1UL<<15),
2074                 Reserved10=(0x1UL<<16),
2075                 Reserved11=(0x1UL<<17),
2076                 Reserved12=(0x1UL<<18),
2077                 Reserved13=(0x1UL<<19),
2078                 Reserved14=(0x1UL<<20),
2079                 Reserved15=(0x1UL<<21),
2080                 Reserved16=(0x1UL<<22),
2081                 Reserved17=(0x1UL<<23),
2082                 Reserved18=(0x1UL<<24),
2083                 Reserved19=(0x1UL<<25),
2084                 Reserved20=(0x1UL<<26),
2085                 Reserved21=(0x1UL<<27),
2086                 Reserved22=(0x1UL<<28),
2087                 CorrectedSize=(0x1UL<<29),
2088                 PartyID=(0x1UL<<30),
2089                 AccessFee=(0x1UL<<31),
2090                 last_field=(0x1UL<<31)
2091         };
2092 
2093         using bitfields_to_type_map=jmmcg::bitfield_map<
2094                 boost::mpl::map<
2095                         boost::mpl::pair<
2096                                 std::integral_constant<bitfields_t, bitfields_t::Reserved1>::type,
2097                                 jmmcg::a_zero_sized_class
2098                         >,
2099                         boost::mpl::pair<
2100                                 std::integral_constant<bitfields_t, bitfields_t::Reserved2>::type,
2101                                 jmmcg::a_zero_sized_class
2102                         >,
2103                         boost::mpl::pair<
2104                                 std::integral_constant<bitfields_t, bitfields_t::Reserved3>::type,
2105                                 jmmcg::a_zero_sized_class
2106                         >,
2107                         boost::mpl::pair<
2108                                 std::integral_constant<bitfields_t, bitfields_t::Reserved4>::type,
2109                                 jmmcg::a_zero_sized_class
2110                         >,
2111                         boost::mpl::pair<
2112                                 std::integral_constant<bitfields_t, bitfields_t::Reserved5>::type,
2113                                 jmmcg::a_zero_sized_class
2114                         >,
2115                         boost::mpl::pair<
2116                                 std::integral_constant<bitfields_t, bitfields_t::Reserved6>::type,
2117                                 jmmcg::a_zero_sized_class
2118                         >,
2119                         boost::mpl::pair<
2120                                 std::integral_constant<bitfields_t, bitfields_t::Reserved7>::type,
2121                                 jmmcg::a_zero_sized_class
2122                         >,
2123                         boost::mpl::pair<
2124                                 std::integral_constant<bitfields_t, bitfields_t::Reserved8>::type,
2125                                 jmmcg::a_zero_sized_class
2126                         >,
2127                         boost::mpl::pair<
2128                                 std::integral_constant<bitfields_t, bitfields_t::Symbol>::type,
2129                                 common::Symbol_t
2130                         >,
2131                         boost::mpl::pair<
2132                                 std::integral_constant<bitfields_t, bitfields_t::SymbolSfx>::type,
2133                                 common::SymbolSfx_t
2134                         >,
2135                         boost::mpl::pair<
2136                                 std::integral_constant<bitfields_t, bitfields_t::Currency>::type,
2137                                 common::Currency_t
2138                         >,
2139                         boost::mpl::pair<
2140                                 std::integral_constant<bitfields_t, bitfields_t::IDSource>::type,
2141                                 common::IDSource
2142                         >,
2143                         boost::mpl::pair<
2144                                 std::integral_constant<bitfields_t, bitfields_t::SecurityID>::type,
2145                                 common::SecurityID_t
2146                         >,
2147                         boost::mpl::pair<
2148                                 std::integral_constant<bitfields_t, bitfields_t::SecurityExchange>::type,
2149                                 common::SecurityExchange_t
2150                         >,
2151                         boost::mpl::pair<
2152                                 std::integral_constant<bitfields_t, bitfields_t::Capacity>::type,
2153                                 common::Capacity
2154                         >,
2155                         boost::mpl::pair<
2156                                 std::integral_constant<bitfields_t, bitfields_t::CrossFlag>::type,
2157                                 jmmcg::a_zero_sized_class
2158                         >,
2159                         boost::mpl::pair<
2160                                 std::integral_constant<bitfields_t, bitfields_t::Reserved10>::type,
2161                                 jmmcg::a_zero_sized_class
2162                         >,
2163                         boost::mpl::pair<
2164                                 std::integral_constant<bitfields_t, bitfields_t::Reserved11>::type,
2165                                 jmmcg::a_zero_sized_class
2166                         >,
2167                         boost::mpl::pair<
2168                                 std::integral_constant<bitfields_t, bitfields_t::Reserved12>::type,
2169                                 jmmcg::a_zero_sized_class
2170                         >,
2171                         boost::mpl::pair<
2172                                 std::integral_constant<bitfields_t, bitfields_t::Reserved13>::type,
2173                                 jmmcg::a_zero_sized_class
2174                         >,
2175                         boost::mpl::pair<
2176                                 std::integral_constant<bitfields_t, bitfields_t::Reserved14>::type,
2177                                 jmmcg::a_zero_sized_class
2178                         >,
2179                         boost::mpl::pair<
2180                                 std::integral_constant<bitfields_t, bitfields_t::Reserved15>::type,
2181                                 jmmcg::a_zero_sized_class
2182                         >,
2183                         boost::mpl::pair<
2184                                 std::integral_constant<bitfields_t, bitfields_t::Reserved16>::type,
2185                                 jmmcg::a_zero_sized_class
2186                         >,
2187                         boost::mpl::pair<
2188                                 std::integral_constant<bitfields_t, bitfields_t::Reserved17>::type,
2189                                 jmmcg::a_zero_sized_class
2190                         >,
2191                         boost::mpl::pair<
2192                                 std::integral_constant<bitfields_t, bitfields_t::Reserved18>::type,
2193                                 jmmcg::a_zero_sized_class
2194                         >,
2195                         boost::mpl::pair<
2196                                 std::integral_constant<bitfields_t, bitfields_t::Reserved19>::type,
2197                                 jmmcg::a_zero_sized_class
2198                         >,
2199                         boost::mpl::pair<
2200                                 std::integral_constant<bitfields_t, bitfields_t::Reserved20>::type,
2201                                 jmmcg::a_zero_sized_class
2202                         >,
2203                         boost::mpl::pair<
2204                                 std::integral_constant<bitfields_t, bitfields_t::Reserved21>::type,
2205                                 jmmcg::a_zero_sized_class
2206                         >,
2207                         boost::mpl::pair<
2208                                 std::integral_constant<bitfields_t, bitfields_t::Reserved22>::type,
2209                                 jmmcg::a_zero_sized_class
2210                         >,
2211                         boost::mpl::pair<
2212                                 std::integral_constant<bitfields_t, bitfields_t::CorrectedSize>::type,
2213                                 uint32_t
2214                         >,
2215                         boost::mpl::pair<
2216                                 std::integral_constant<bitfields_t, bitfields_t::PartyID>::type,
2217                                 jmmcg::a_zero_sized_class
2218                         >,
2219                         boost::mpl::pair<
2220                                 std::integral_constant<bitfields_t, bitfields_t::AccessFee>::type,
2221                                 jmmcg::a_zero_sized_class
2222                         >
2223                 >
2224         >;
2225 
2226         BOOST_MPL_ASSERT_RELATION(static_cast<std::size_t>(jmmcg::mpl::bit_position<static_cast<std::underlying_type<bitfields_t>::type>(bitfields_t::last_field)>::value), ==, static_cast<std::size_t>(bitfields_to_type_map::mapped_types_size));
2227 
2228 }
2229 
2230 } } } } }
2231 
2232 #endif

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