libjmmcg  release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
messages.hpp File Reference
#include "config.h"
#include "reject_codes.hpp"
#include "../common/messages.hpp"
#include "../common/ref_data.hpp"
#include "core/max_min.hpp"
#include <boost/lexical_cast.hpp>
#include <boost/mpl/assert.hpp>
#include <boost/mpl/deref.hpp>
#include <boost/mpl/max_element.hpp>
#include <boost/mpl/min_element.hpp>
#include <boost/mpl/placeholders.hpp>
#include <boost/mpl/sizeof.hpp>
#include <boost/mpl/transform_view.hpp>
#include <boost/mpl/vector.hpp>
#include <boost/variant/variant.hpp>
#include <iostream>
#include "messages_impl.hpp"
Include dependency graph for messages.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::NewOrderSpecific1
 
struct  isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::NewOrderSpecific2
 
struct  isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::NewOrderSpecific3
 
struct  isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::OrderCancelReplaceRequestSpecific
 
struct  isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::ExecutionReportSpecific1
 
struct  isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::ExecutionReportSpecific2
 
struct  isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::OrderMassCancelRequestSpecific1
 
struct  isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::LogonReply
 
struct  isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::NewOrder
 
struct  isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::OrderCancelReplaceRequest
 
struct  isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::OrderCancelRequest
 
struct  isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::MsgTypes
 

Namespaces

namespace  isimud
 
namespace  isimud::ISIMUD_VER_NAMESPACE
 
namespace  isimud::ISIMUD_VER_NAMESPACE::exchanges
 
namespace  isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT
 
namespace  isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ
 
namespace  isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::tests
 

Typedefs

using order_qty_t = std::int32_t
 
using RejectCode_t = mit_trq::reject_codes_enum
 
using RejectCodes_t = std::underlying_type< RejectCode_t >::type
 
using base_t = common::NewOrder< NewOrderSpecific1, NewOrderSpecific2, NewOrderSpecific3 >
 
using ref_data = common::ref_data
 

Functions

struct isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::NewOrderSpecific1 isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::__attribute__ ((packed))
 
 NewOrderSpecific1 (common::SecurityID_t instID) noexcept(true) FORCE_INLINE
 
 NewOrderSpecific1 (common::CommonSymbol_t const &instID) noexcept(true) FORCE_INLINE
 
common::SecurityID_t instrumentID () const noexcept(true)
 
void instrumentID (common::SecurityID_t instID) noexcept(true)
 
constexpr NewOrderSpecific2 (order_qty_t ordQty) noexcept(true) FORCE_INLINE
 
order_qty_t orderQty () const noexcept(true)
 
void orderQty (order_qty_t i) noexcept(true)
 
common::PassiveOnlyOrder FORCE_INLINE passiveOnlyOrder () const noexcept(true)
 
void FORCE_INLINE passiveOnlyOrder (common::PassiveOnlyOrder poo) noexcept(true)
 
 OrderMassCancelRequestSpecific1 (common::SecurityID_t instID) noexcept(true) FORCE_INLINE
 
 OrderMassCancelRequestSpecific1 (common::CommonSymbol_t const &instID) noexcept(true) FORCE_INLINE
 
template<class SrcMsg >
__stdcall NewOrder (SrcMsg const &msg, ref_data const &rd) noexcept(true) FORCE_INLINE
 Create a message from the source message. More...
 
template<class SrcMsg >
__stdcall OrderCancelReplaceRequest (SrcMsg const &msg, ref_data const &rd) noexcept(true)
 Create a message from the source message. More...
 
template<class SrcMsg >
__stdcall OrderCancelRequest (SrcMsg const &msg, ref_data const &rd) noexcept(true)
 Create a message from the source message. More...
 
 isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::tests::BOOST_MPL_ASSERT_RELATION (sizeof(MsgTypes::Header_t),<=, MsgTypes::max_size_client_to_exchange_msg)
 
 isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::tests::BOOST_MPL_ASSERT_RELATION (sizeof(MsgTypes::Header_t),<=, MsgTypes::max_size_exchange_to_client_msg)
 
 isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::tests::BOOST_MPL_ASSERT_RELATION (sizeof(MsgTypes::Header_t),<=, MsgTypes::max_msg_size)
 
 isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::tests::BOOST_MPL_ASSERT_RELATION (sizeof(MsgTypes::LogonRequest),==, 80)
 
 isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::tests::BOOST_MPL_ASSERT_RELATION (sizeof(MsgTypes::LogonReply),==, 38)
 
 isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::tests::BOOST_MPL_ASSERT_RELATION (sizeof(MsgTypes::Logout),==, 24)
 
 isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::tests::BOOST_MPL_ASSERT_RELATION (sizeof(MsgTypes::ClientHeartbeat),==, 4)
 
 isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::tests::BOOST_MPL_ASSERT_RELATION (sizeof(MsgTypes::MissedMessageRequest),==, 9)
 
 isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::tests::BOOST_MPL_ASSERT_RELATION (sizeof(MsgTypes::MissedMessageRequestAck),==, 5)
 
 isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::tests::BOOST_MPL_ASSERT_RELATION (sizeof(MsgTypes::MissedMessageReport),==, 5)
 
 isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::tests::BOOST_MPL_ASSERT_RELATION (sizeof(MsgTypes::Reject),==, 59)
 
 isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::tests::BOOST_MPL_ASSERT_RELATION (sizeof(MsgTypes::SystemStatus),==, 6)
 
 isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::tests::BOOST_MPL_ASSERT_RELATION (sizeof(MsgTypes::NewOrder_t),==, 111)
 
 isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::tests::BOOST_MPL_ASSERT_RELATION (sizeof(MsgTypes::OrderCancelReplaceRequest),==, 114)
 
 isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::tests::BOOST_MPL_ASSERT_RELATION (sizeof(MsgTypes::OrderCancelRequest),==, 75)
 
 isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::tests::BOOST_MPL_ASSERT_RELATION (sizeof(MsgTypes::OrderMassCancelRequest),==, 48)
 
 isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::tests::BOOST_MPL_ASSERT_RELATION (sizeof(MsgTypes::ExecutionReport),==, 156)
 
 isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::tests::BOOST_MPL_ASSERT_RELATION (sizeof(MsgTypes::OrderCancelReject),==, 73)
 
 isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::tests::BOOST_MPL_ASSERT_RELATION (sizeof(MsgTypes::OrderMassCancelReport),==, 56)
 
 isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::tests::BOOST_MPL_ASSERT_RELATION (sizeof(MsgTypes::BusinessReject),==, 63)
 

Variables

common::CommonSymbol_t commonSymbol
 
order_qty_t orderQty_
 
order_qty_t displayQty
 
const std::int8_t reservedField1 =0
 
const common::Price_t reservedField2 =0
 
common::TargetBook targetBook =common::TargetBook::LitOrderBook
 
common::ExecInstruction execInstruction =common::ExecInstruction::Default
 
int32_t minimumQuantity =0
 
const std::int8_t reservedField3 =0
 
const std::int8_t reservedField4 =0
 
const std::int8_t reservedField5 =0
 
common::PassiveOnlyOrder passiveOnlyOrder_ =common::PassiveOnlyOrder::NoConstraint
 
common::OrderID_t clOrdLinkID
 
common::ReservedField3_t reservedField
 
order_qty_t executedQty
 
order_qty_t leavesQty
 
common::Container container
 
common::TypeOfTrade typeOfTrade
 
common::Capacity capacity
 
common::PriceDifferential priceDifferential
 
common::OrderID_t publicOrderID
 
int8_t reputationalScore
 
common::Segment_t segment
 
isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::LogonReply isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::TRQ::__attribute__
 

Typedef Documentation

◆ base_t

Definition at line 0 of file messages.hpp.

◆ order_qty_t

using order_qty_t = NewOrderSpecific2::order_qty_t

Definition at line 0 of file messages.hpp.

◆ ref_data

using ref_data = common::ref_data

Definition at line 3 of file messages.hpp.

◆ RejectCode_t

using RejectCode_t = mit_trq::reject_codes_enum

Definition at line 0 of file messages.hpp.

◆ RejectCodes_t

using RejectCodes_t = std::underlying_type<RejectCode_t>::type

Definition at line 1 of file messages.hpp.

Function Documentation

◆ instrumentID() [1/2]

common::SecurityID_t __attribute__::instrumentID ( ) const
constexprnoexcept

Definition at line 8 of file messages.hpp.

◆ instrumentID() [2/2]

void __attribute__::instrumentID ( common::SecurityID_t  instID)
noexcept

Definition at line 11 of file messages.hpp.

◆ NewOrder()

template<class SrcMsg >
__stdcall __attribute__::NewOrder ( SrcMsg const &  msg,
ref_data const &  rd 
)
explicitnoexcept

Create a message from the source message.

If a linker error is generated, then this function will need to be specialised for the particular Msg-type.

Parameters
msgThe source message from which the target message should be created.

◆ NewOrderSpecific1() [1/2]

__attribute__::NewOrderSpecific1 ( common::CommonSymbol_t const &  instID)
explicitnoexcept

Definition at line 5 of file messages.hpp.

◆ NewOrderSpecific1() [2/2]

__attribute__::NewOrderSpecific1 ( common::SecurityID_t  instID)
explicitnoexcept

Definition at line 2 of file messages.hpp.

◆ NewOrderSpecific2()

constexpr __attribute__::NewOrderSpecific2 ( order_qty_t  ordQty)
explicitconstexprnoexcept

Definition at line 5 of file messages.hpp.

◆ OrderCancelReplaceRequest()

template<class SrcMsg >
__stdcall __attribute__::OrderCancelReplaceRequest ( SrcMsg const &  msg,
ref_data const &  rd 
)
explicitnoexcept

Create a message from the source message.

If a linker error is generated, then this function will need to be specialised for the particular Msg-type.

Parameters
msgThe source message from which the target message should be created.

◆ OrderCancelRequest()

template<class SrcMsg >
__stdcall __attribute__::OrderCancelRequest ( SrcMsg const &  msg,
ref_data const &  rd 
)
explicitnoexcept

Create a message from the source message.

If a linker error is generated, then this function will need to be specialised for the particular Msg-type.

Parameters
msgThe source message from which the target message should be created.

◆ OrderMassCancelRequestSpecific1() [1/2]

__attribute__::OrderMassCancelRequestSpecific1 ( common::CommonSymbol_t const &  instID)
explicitnoexcept

Definition at line 6 of file messages.hpp.

◆ OrderMassCancelRequestSpecific1() [2/2]

__attribute__::OrderMassCancelRequestSpecific1 ( common::SecurityID_t  instID)
explicitnoexcept

Definition at line 3 of file messages.hpp.

◆ orderQty() [1/2]

order_qty_t __attribute__::orderQty ( ) const
constexprnoexcept

Definition at line 8 of file messages.hpp.

◆ orderQty() [2/2]

void __attribute__::orderQty ( order_qty_t  i)
noexcept

Definition at line 11 of file messages.hpp.

◆ passiveOnlyOrder() [1/2]

common::PassiveOnlyOrder FORCE_INLINE __attribute__::passiveOnlyOrder ( ) const
noexcept

Definition at line 11 of file messages.hpp.

◆ passiveOnlyOrder() [2/2]

void FORCE_INLINE __attribute__::passiveOnlyOrder ( common::PassiveOnlyOrder  poo)
noexcept

Definition at line 14 of file messages.hpp.

Variable Documentation

◆ capacity

common::Capacity capacity

Definition at line 2 of file messages.hpp.

◆ clOrdLinkID

common::OrderID_t clOrdLinkID

Definition at line 9 of file messages.hpp.

◆ commonSymbol

common::CommonSymbol_t commonSymbol

Definition at line 0 of file messages.hpp.

◆ container

common::Container container

Definition at line 6 of file messages.hpp.

◆ displayQty

order_qty_t displayQty

Definition at line 3 of file messages.hpp.

◆ execInstruction

common::ExecInstruction execInstruction =common::ExecInstruction::Default

Definition at line 3 of file messages.hpp.

◆ executedQty

order_qty_t executedQty

Definition at line 4 of file messages.hpp.

◆ leavesQty

order_qty_t leavesQty

Definition at line 5 of file messages.hpp.

◆ minimumQuantity

int32_t minimumQuantity =0

Definition at line 4 of file messages.hpp.

◆ orderQty_

order_qty_t orderQty_

Definition at line 2 of file messages.hpp.

◆ passiveOnlyOrder_

common::PassiveOnlyOrder passiveOnlyOrder_ =common::PassiveOnlyOrder::NoConstraint

Definition at line 8 of file messages.hpp.

◆ priceDifferential

common::PriceDifferential priceDifferential

Definition at line 3 of file messages.hpp.

◆ publicOrderID

common::OrderID_t publicOrderID

Definition at line 4 of file messages.hpp.

◆ reputationalScore

int8_t reputationalScore

Definition at line 6 of file messages.hpp.

◆ reservedField

common::ReservedField3_t reservedField

Definition at line 4 of file messages.hpp.

◆ reservedField1

const std::int8_t reservedField1 =0

Definition at line 0 of file messages.hpp.

◆ reservedField2

const common::Price_t reservedField2 =0

Definition at line 1 of file messages.hpp.

◆ reservedField3

const std::int8_t reservedField3 =0

Definition at line 5 of file messages.hpp.

◆ reservedField4

const std::int8_t reservedField4 =0

Definition at line 6 of file messages.hpp.

◆ reservedField5

const std::int8_t reservedField5 =0

Definition at line 7 of file messages.hpp.

◆ segment

common::Segment_t segment

Definition at line 1 of file messages.hpp.

◆ targetBook

common::TargetBook targetBook =common::TargetBook::LitOrderBook

Definition at line 2 of file messages.hpp.

◆ typeOfTrade

common::TypeOfTrade typeOfTrade

Definition at line 1 of file messages.hpp.