libjmmcg  build_2783
A C++ library containing an eclectic mix of useful, advanced components.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
isimud::exchanges::BATSBOE::common Namespace Reference

Namespaces

 optional
 

Classes

struct  CancelOrder
 
struct  CancelRejected
 
class  client_to_exchange_transformations
 A client-to-BATSBOE-protocol message handler. More...
 
struct  ClientHeartbeat
 
class  connectivity_policy
 An implementation of the connectivity policy for the BATSBOE protocol. More...
 
class  exchange_to_client_transformations
 A BATSBOE-protocol-to-client message handler. More...
 
class  Header
 
struct  logoff_args_t
 
struct  logon_args_t
 
struct  LogonReply
 
struct  LogonRequest
 
struct  Logout
 
struct  LogoutRequest
 
struct  ModifyOrder
 
struct  NewOrder
 
struct  OrderAcknowledgement
 
struct  OrderCancelled
 
struct  OrderExecution
 
struct  OrderModified
 
struct  OrderRejected
 
struct  OrderRestated
 
struct  ReplayComplete
 
class  server_hb_t
 Section 2.4 "Heartbeats" of [1]. Generate heartbeats from the containing simulator. More...
 
struct  ServerHeartbeat
 
class  simulator_responses
 A simple, BATSBOE-protocol exchange simulator. More...
 
struct  TradeCancelOrCorrect
 
struct  UserModifyRejected
 

Typedefs

using DateTime_t = std::uint64_t
 
using MsgType_t = std::uint8_t
 
using Price_t = std::uint64_t
 
using SPrice_t = std::int64_t
 
using Account_t = std::array< char, 16 >
 
using ClearingAccount_t = std::array< char, 4 >
 
using ClearingFirm_t = std::array< char, 4 >
 
using ClientOrderID_t = std::array< char, 20 >
 
using ContraBroker_t = std::array< char, 4 >
 
using Currency_t = isimud::exchanges::common::ccy_codes::currency_t
 
using LogoutReasonText_t = std::array< char, 60 >
 
using Password_t = std::array< char, 10 >
 
using PreventParticipantMatch_t = std::array< char, 3 >
 
using RoutingInst_t = std::array< char, 4 >
 
using SecurityExchange_t = std::array< char, 4 >
 
using SecurityID_t = std::array< char, 16 >
 
using SessionSubID_t = std::array< char, 4 >
 
using Symbol_t = std::array< char, 8 >
 
using SymbolSfx_t = std::array< char, 8 >
 
using Text_t = std::array< char, 60 >
 
using TradeReportID_t = std::array< char, 20 >
 
using TradeReportRefID_t = std::array< char, 20 >
 
using UserName_t = std::array< char, 4 >
 

Enumerations

enum  MsgType : MsgType_t {
  MsgType::LogoutRequest =0x02, MsgType::ClientHeartbeat =0x03, MsgType::Logout =0x08, MsgType::ServerHeartbeat =0x09,
  MsgType::ReplayComplete =0x13, MsgType::NewOrder =0x04, MsgType::CancelOrder =0x05, MsgType::ModifyOrder =0x06,
  MsgType::OrderAcknowledgement =0x0A, MsgType::OrderRejected =0x0B, MsgType::OrderModified =0x0C, MsgType::OrderRestated =0x0D,
  MsgType::UserModifyRejected =0x0E, MsgType::OrderCancelled =0x0F, MsgType::CancelRejected =0x10, MsgType::OrderExecution =0x11,
  MsgType::TradeCancelOrCorrect =0x12, MsgType::MatchAll =std::numeric_limits<MsgType_t>::max()-1, MsgType::Exit =std::numeric_limits<MsgType_t>::max()
}
 
enum  LoginResponseStatus : char {
  LoginResponseStatus::LoginAccepted ='A', LoginResponseStatus::NotAuthorized ='N', LoginResponseStatus::SessionDisabled ='D', LoginResponseStatus::SessionInUse ='B',
  LoginResponseStatus::InvalidSession ='S', LoginResponseStatus::SequenceAheadInLoginMessage ='Q', LoginResponseStatus::InvalidUnitGivenInLoginMessage ='I', LoginResponseStatus::InvalidReturnBitfieldInLoginMessage ='F',
  LoginResponseStatus::InvalidLoginRequestMessageStructure ='M'
}
 
enum  LogoutReason : char { LogoutReason::UserRequested ='U', LogoutReason::EndofDay ='E', LogoutReason::Administrative ='A', LogoutReason::ProtocolViolation ='!' }
 
enum  Side : char { Side::Buy ='1', Side::Sell ='2', Side::Sell_short ='5', Side::Sell_short_exempt ='6' }
 
enum  ExecInst : char {
  ExecInst::NoSpecialHandling ='\0', ExecInst::MarketPeg ='P', ExecInst::PrimaryPeg ='R', ExecInst::Midpoint ='M',
  ExecInst::AlternateMidpoint ='L', ExecInst::ExternalDarkOnly ='u', ExecInst::ExternalDarkLit ='v', ExecInst::ExternalLitOnly ='w'
}
 
enum  OrdType : char { OrdType::Market ='1', OrdType::Limit ='2', OrdType::Pegged ='P' }
 
enum  TIF : char {
  TIF::Day ='0', TIF::GTC ='1', TIF::ATO ='2', TIF::IOC ='3',
  TIF::GTD ='6', TIF::ATC ='7'
}
 
enum  IDSource : char { IDSource::ISIN ='4', IDSource::RIC ='5' }
 
enum  Capacity : char { Capacity::Agency ='A', Capacity::Principal ='P', Capacity::Riskless ='R' }
 
enum  DisplayIndicator : char { DisplayIndicator::DisplayedOrder ='X', DisplayIndicator::Invisible ='I' }
 
enum  BookingType : char { BookingType::RegularBooking ='0', BookingType::CFD ='1' }
 
enum  CancelOrigOnReject : char { CancelOrigOnReject::LeaveOriginal ='N', CancelOrigOnReject::CancelOriginal ='Y' }
 
enum  PreviouslyReported : char { PreviouslyReported::TradeWillPrint ='N', PreviouslyReported::TradeWillNotPrint ='Y' }
 
enum  TransactionCategory : char {
  TransactionCategory::RegularTrade ='P', TransactionCategory::SpecialPrice ='F', TransactionCategory::DarkTrade ='D', TransactionCategory::TechnicalTrade ='T',
  TransactionCategory::GiveUpGiveinTtrade ='G'
}
 
enum  TradeReportTransType : std::uint8_t { TradeReportTransType::New =0, TradeReportTransType::Cancel =1, TradeReportTransType::Replace =2, TradeReportTransType::Release =3 }
 
enum  VenueType : char { VenueType::OffBook ='X' }
 
enum  TradingSessionSubId : std::uint8_t {
  TradingSessionSubId::ScheduledOpeningAuction =2, TradingSessionSubId::ScheduledClosingAuction =4, TradingSessionSubId::ScheduledIntradayAuction =6, TradingSessionSubId::UnscheduledAuction =9,
  TradingSessionSubId::ContinuousTrading =3, TradingSessionSubId::PostTrading =5, TradingSessionSubId::OutOfMainSessionTrading =10
}
 
enum  MatchType : std::uint8_t { MatchType::OffExchange =1, MatchType::OnExchange =3, MatchType::SystematicInternalizer =9 }
 
enum  SecondaryTrdType : std::uint8_t { SecondaryTrdType::BenchmarkTrade =58 }
 
enum  TradePriceCondition : std::uint8_t { TradePriceCondition::CumDividend =0, TradePriceCondition::ExDividend =2 }
 
enum  TradePublishIndicator : std::uint8_t { TradePublishIndicator::PublishTrade =1, TradePublishIndicator::DeferredPublication =2 }
 
enum  ExecutionMethod : char { ExecutionMethod::Automated ='A', ExecutionMethod::Manual ='M', ExecutionMethod::Unspecified ='U' }
 
enum  BaseLiquidityIndicator : char { BaseLiquidityIndicator::AddedLiquidity ='A', BaseLiquidityIndicator::RemovedLiquidity ='R', BaseLiquidityIndicator::RoutedAnotherMarket ='X', BaseLiquidityIndicator::AuctionTrade ='C' }
 
enum  SubLiquidityIndicator : char {
  SubLiquidityIndicator::DarkPoolExecution ='D', SubLiquidityIndicator::AddedRPILiquidity ='E', SubLiquidityIndicator::RemovedLiquidity ='T', SubLiquidityIndicator::AddedHiddenLiquidityPriceImproved ='I',
  SubLiquidityIndicator::AddedHiddenLiquidity ='H', SubLiquidityIndicator::ExecutionFromOrderJoinedNBBO ='J', SubLiquidityIndicator::AddedLiquidityHiddenPortionIceberg ='K', SubLiquidityIndicator::ExecutionFromOrderSetNBBO ='S',
  SubLiquidityIndicator::AddedVisibleLiquidityPriceImproved ='V'
}
 
enum  CCP : char {
  CCP::EuropeanMultilateralClearingFacility ='E', CCP::LCHClearnet ='L', CCP::SIXXXClear ='X', CCP::EuroCCP ='C',
  CCP::NoneClearingSuppressed ='N'
}
 
enum  OrderRejectReason : char {
  OrderRejectReason::Admin ='A', OrderRejectReason::CapacityUndefined ='C', OrderRejectReason::DuplicateClOrdID ='D', OrderRejectReason::Halted ='H',
  OrderRejectReason::IncorrectDataCenter ='I', OrderRejectReason::TooLateToCancel ='J', OrderRejectReason::OrderRateThresholdExceeded ='K', OrderRejectReason::PriceExceedsCrossRange ='L',
  OrderRejectReason::MaxSizeExceeded ='M', OrderRejectReason::NoLiquidityToExecuteAgainst ='N', OrderRejectReason::ClOrdIDNotMatchKnownOrder ='O', OrderRejectReason::CantModifyOrderInPendingFill ='P',
  OrderRejectReason::AwaitingFirstTrade ='Q', OrderRejectReason::RoutingUnavailable ='R', OrderRejectReason::RoutingOrderWouldTradeOnAwayDestination ='T', OrderRejectReason::UserRequested ='U',
  OrderRejectReason::WouldWash ='V', OrderRejectReason::AddLiquidityOnlyOrderWouldRemove ='W', OrderRejectReason::OrderExpired ='X', OrderRejectReason::SymbolNotSupported ='Y',
  OrderRejectReason::UnforeseenReason ='Z', OrderRejectReason::BrokerOption ='b', OrderRejectReason::LargeinScale ='l', OrderRejectReason::ReserveReload ='r',
  OrderRejectReason::MarketAccessRiskLimitExceeded ='m', OrderRejectReason::MaxOpenOrdersCountExceeded ='o', OrderRejectReason::CrossedMarket ='x', OrderRejectReason::OrderReceivedByBATSDuringReplay ='y'
}
 
enum  RestatementReason : char {
  RestatementReason::RepricingofPegOrder ='P', RestatementReason::Reroute ='R', RestatementReason::LockedInCross ='X', RestatementReason::Wash ='W',
  RestatementReason::Reload ='L', RestatementReason::LiquidityUpdated ='Q'
}
 
enum  Reason : char {
  Reason::Admin ='A', Reason::DuplicateTradeReportID ='D', Reason::MarketAccessRiskLimitExceeded ='m', Reason::SymbolNotSupported ='Y',
  Reason::UnforseenReason ='Z'
}
 
enum  AttributedQuote : char { AttributedQuote::DoNotAttributeFirmMPID ='N', AttributedQuote::AttributeFirmMPID ='Y' }
 

Functions

template<class MsgT , MsgT Msg>
class isimud::exchanges::BATSBOE::common::Header __attribute__ ((packed))
 
template<class MsgT , MsgT Msg>
isimud::exchanges::BATSBOE::common::LogonRequest Header __attribute__ ((packed))
 
template<class MsgT , MsgT Msg>
isimud::exchanges::BATSBOE::common::LogonReply Header __attribute__ ((packed))
 
template<class SrcMsgDetails , class DestMsgDetails , class SktT >
std::ostream & operator<< (std::ostream &os, client_to_exchange_transformations< SrcMsgDetails, DestMsgDetails, SktT > const &ec) noexcept(false)
 
template<class SrcMsgDetails , class DestMsgDetails , class SktT >
std::ostream & operator<< (std::ostream &os, exchange_to_client_transformations< SrcMsgDetails, DestMsgDetails, SktT > const &ec) noexcept(false)
 
template<class SrcMsgDetails , class SktT >
std::ostream & operator<< (std::ostream &os, simulator_responses< SrcMsgDetails, SktT > const &ec) noexcept(false)
 
std::ostream & operator<< (std::ostream &os, MsgType m)
 
std::ostream & operator<< (std::ostream &os, LoginResponseStatus m)
 
std::ostream & operator<< (std::ostream &os, LogoutReason m)
 
std::ostream & operator<< (std::ostream &os, Side v)
 
std::istream & operator>> (std::istream &os, Side &v)
 
std::ostream & operator<< (std::ostream &os, OrdType v)
 
std::istream & operator>> (std::istream &os, OrdType &v)
 
std::ostream & operator<< (std::ostream &os, TIF v)
 
std::istream & operator>> (std::istream &os, TIF &v)
 
std::ostream & operator<< (std::ostream &os, OrderRejectReason m)
 
template<class Ret >
Ret convert (FIX::common::field_str_range_t const &)=delete
 
template<>
constexpr OrdType convert< OrdType > (FIX::common::field_str_range_t const &a)
 
template<>
constexpr TIF convert< TIF > (FIX::common::field_str_range_t const &a)
 
template<>
constexpr Side convert< Side > (FIX::common::field_str_range_t const &a)
 
template<>
SecurityID_t convert< SecurityID_t > (FIX::common::field_str_range_t const &a)
 
template<>
Price_t convert< Price_t > (FIX::common::field_str_range_t const &a)
 
template<>
std::uint32_t convert< std::uint32_t > (FIX::common::field_str_range_t const &a)
 

Variables

const uint16_t msg_start_code =0xBABA
 
constexpr Price_t implied_decimal_places =10000
 The number of implied decimal-places for MIT use. More...
 

Detailed Description

From <a href="http://cdn.batstrading.com/resources/participant_resources/BATS_Europe_Binary_Order_Entry_Specification.pdf>"BATS Chi-X Europe Binary Order Entry Specification", Version 1.44, 27 November, 2014

Typedef Documentation

◆ Account_t

using isimud::exchanges::BATSBOE::common::Account_t = typedef std::array<char, 16>

Definition at line 104 of file types.hpp.

◆ ClearingAccount_t

using isimud::exchanges::BATSBOE::common::ClearingAccount_t = typedef std::array<char, 4>

Definition at line 105 of file types.hpp.

◆ ClearingFirm_t

using isimud::exchanges::BATSBOE::common::ClearingFirm_t = typedef std::array<char, 4>

Definition at line 106 of file types.hpp.

◆ ClientOrderID_t

using isimud::exchanges::BATSBOE::common::ClientOrderID_t = typedef std::array<char, 20>

Definition at line 107 of file types.hpp.

◆ ContraBroker_t

using isimud::exchanges::BATSBOE::common::ContraBroker_t = typedef std::array<char, 4>

Definition at line 108 of file types.hpp.

◆ Currency_t

using isimud::exchanges::BATSBOE::common::Currency_t = typedef isimud::exchanges::common::ccy_codes::currency_t

Definition at line 109 of file types.hpp.

◆ DateTime_t

using isimud::exchanges::BATSBOE::common::DateTime_t = typedef std::uint64_t

Definition at line 99 of file types.hpp.

◆ LogoutReasonText_t

using isimud::exchanges::BATSBOE::common::LogoutReasonText_t = typedef std::array<char, 60>

Definition at line 110 of file types.hpp.

◆ MsgType_t

using isimud::exchanges::BATSBOE::common::MsgType_t = typedef std::uint8_t

Definition at line 100 of file types.hpp.

◆ Password_t

using isimud::exchanges::BATSBOE::common::Password_t = typedef std::array<char, 10>

Definition at line 111 of file types.hpp.

◆ PreventParticipantMatch_t

Definition at line 112 of file types.hpp.

◆ Price_t

using isimud::exchanges::BATSBOE::common::Price_t = typedef std::uint64_t

Definition at line 101 of file types.hpp.

◆ RoutingInst_t

using isimud::exchanges::BATSBOE::common::RoutingInst_t = typedef std::array<char, 4>

Definition at line 113 of file types.hpp.

◆ SecurityExchange_t

using isimud::exchanges::BATSBOE::common::SecurityExchange_t = typedef std::array<char, 4>

Definition at line 114 of file types.hpp.

◆ SecurityID_t

using isimud::exchanges::BATSBOE::common::SecurityID_t = typedef std::array<char, 16>

Definition at line 115 of file types.hpp.

◆ SessionSubID_t

using isimud::exchanges::BATSBOE::common::SessionSubID_t = typedef std::array<char, 4>

Definition at line 116 of file types.hpp.

◆ SPrice_t

using isimud::exchanges::BATSBOE::common::SPrice_t = typedef std::int64_t

Definition at line 102 of file types.hpp.

◆ Symbol_t

using isimud::exchanges::BATSBOE::common::Symbol_t = typedef std::array<char, 8>

Definition at line 117 of file types.hpp.

◆ SymbolSfx_t

using isimud::exchanges::BATSBOE::common::SymbolSfx_t = typedef std::array<char, 8>

Definition at line 118 of file types.hpp.

◆ Text_t

using isimud::exchanges::BATSBOE::common::Text_t = typedef std::array<char, 60>

Definition at line 119 of file types.hpp.

◆ TradeReportID_t

using isimud::exchanges::BATSBOE::common::TradeReportID_t = typedef std::array<char, 20>

Definition at line 120 of file types.hpp.

◆ TradeReportRefID_t

using isimud::exchanges::BATSBOE::common::TradeReportRefID_t = typedef std::array<char, 20>

Definition at line 121 of file types.hpp.

◆ UserName_t

using isimud::exchanges::BATSBOE::common::UserName_t = typedef std::array<char, 4>

Definition at line 122 of file types.hpp.

Enumeration Type Documentation

◆ AttributedQuote

Enumerator
DoNotAttributeFirmMPID 
AttributeFirmMPID 

Definition at line 431 of file types.hpp.

◆ BaseLiquidityIndicator

Enumerator
AddedLiquidity 
RemovedLiquidity 
RoutedAnotherMarket 
AuctionTrade 

Definition at line 350 of file types.hpp.

◆ BookingType

Enumerator
RegularBooking 
CFD 

Contract for difference.

Definition at line 280 of file types.hpp.

◆ CancelOrigOnReject

Enumerator
LeaveOriginal 
CancelOriginal 

Definition at line 285 of file types.hpp.

◆ Capacity

Enumerator
Agency 
Principal 
Riskless 

Definition at line 269 of file types.hpp.

◆ CCP

Enumerator
EuropeanMultilateralClearingFacility 
LCHClearnet 
SIXXXClear 
EuroCCP 
NoneClearingSuppressed 

Definition at line 369 of file types.hpp.

◆ DisplayIndicator

Enumerator
DisplayedOrder 
Invisible 

Definition at line 275 of file types.hpp.

◆ ExecInst

Enumerator
NoSpecialHandling 
MarketPeg 
PrimaryPeg 
Midpoint 
AlternateMidpoint 
ExternalDarkOnly 
ExternalDarkLit 
ExternalLitOnly 

Definition at line 210 of file types.hpp.

◆ ExecutionMethod

Enumerator
Automated 
Manual 
Unspecified 

Definition at line 344 of file types.hpp.

◆ IDSource

Enumerator
ISIN 
RIC 

Definition at line 264 of file types.hpp.

◆ LoginResponseStatus

Enumerator
LoginAccepted 
NotAuthorized 
SessionDisabled 
SessionInUse 
InvalidSession 
SequenceAheadInLoginMessage 
InvalidUnitGivenInLoginMessage 
InvalidReturnBitfieldInLoginMessage 
InvalidLoginRequestMessageStructure 

Definition at line 158 of file types.hpp.

◆ LogoutReason

Enumerator
UserRequested 
EndofDay 
Administrative 
ProtocolViolation 

Definition at line 176 of file types.hpp.

◆ MatchType

Enumerator
OffExchange 
OnExchange 
SystematicInternalizer 

Definition at line 324 of file types.hpp.

◆ MsgType

Enumerator
LogoutRequest 
ClientHeartbeat 
Logout 
ServerHeartbeat 
ReplayComplete 
NewOrder 
CancelOrder 
ModifyOrder 
OrderAcknowledgement 
OrderRejected 
OrderModified 
OrderRestated 
UserModifyRejected 
OrderCancelled 
CancelRejected 
OrderExecution 
TradeCancelOrCorrect 
MatchAll 

For the meta-state machine to allow a catch-all rule to reject anything unhandled.

Exit 

For the meta-state machine: the exit state to exit the msm.

Definition at line 130 of file types.hpp.

◆ OrderRejectReason

Enumerator
Admin 
CapacityUndefined 
DuplicateClOrdID 
Halted 
IncorrectDataCenter 
TooLateToCancel 
OrderRateThresholdExceeded 
PriceExceedsCrossRange 
MaxSizeExceeded 

OrderQty would cause LeavesQty to exceed allowable size.

NoLiquidityToExecuteAgainst 
ClOrdIDNotMatchKnownOrder 
CantModifyOrderInPendingFill 
AwaitingFirstTrade 
RoutingUnavailable 
RoutingOrderWouldTradeOnAwayDestination 
UserRequested 
WouldWash 
AddLiquidityOnlyOrderWouldRemove 
OrderExpired 
SymbolNotSupported 
UnforeseenReason 
BrokerOption 
LargeinScale 
ReserveReload 
MarketAccessRiskLimitExceeded 
MaxOpenOrdersCountExceeded 
CrossedMarket 
OrderReceivedByBATSDuringReplay 

Definition at line 377 of file types.hpp.

◆ OrdType

Enumerator
Market 
Limit 
Pegged 

Definition at line 221 of file types.hpp.

◆ PreviouslyReported

Enumerator
TradeWillPrint 
TradeWillNotPrint 

Definition at line 290 of file types.hpp.

◆ Reason

Enumerator
Admin 
DuplicateTradeReportID 
MarketAccessRiskLimitExceeded 
SymbolNotSupported 
UnforseenReason 

Definition at line 423 of file types.hpp.

◆ RestatementReason

Enumerator
RepricingofPegOrder 
Reroute 
LockedInCross 
Wash 
Reload 
LiquidityUpdated 

Definition at line 414 of file types.hpp.

◆ SecondaryTrdType

Enumerator
BenchmarkTrade 

Definition at line 330 of file types.hpp.

◆ Side

Enumerator
Buy 
Sell 
Sell_short 
Sell_short_exempt 

Definition at line 189 of file types.hpp.

◆ SubLiquidityIndicator

Enumerator
DarkPoolExecution 
AddedRPILiquidity 
RemovedLiquidity 

From the BATS Dark Pool by IOC order.

AddedHiddenLiquidityPriceImproved 
AddedHiddenLiquidity 
ExecutionFromOrderJoinedNBBO 
AddedLiquidityHiddenPortionIceberg 

Trade added Liquidity from the hidden (reserve) portion of an iceberg order.

ExecutionFromOrderSetNBBO 
AddedVisibleLiquidityPriceImproved 

Definition at line 357 of file types.hpp.

◆ TIF

Enumerator
Day 
GTC 

GTC (allowed, but treated as Day).

ATO 

At The Open (reserved for future use).

IOC 

IOC (Portion not filled immediately is cancelled. Market orders are implicitly IOC.).

GTD 

GTD (expires at earlier of specified ExpireTime or end of day).

ATC 

At The Close (reserved for future use).

Definition at line 241 of file types.hpp.

◆ TradePriceCondition

Enumerator
CumDividend 
ExDividend 

Definition at line 334 of file types.hpp.

◆ TradePublishIndicator

Enumerator
PublishTrade 
DeferredPublication 

Definition at line 339 of file types.hpp.

◆ TradeReportTransType

Enumerator
New 
Cancel 
Replace 
Release 

Definition at line 303 of file types.hpp.

◆ TradingSessionSubId

Enumerator
ScheduledOpeningAuction 
ScheduledClosingAuction 
ScheduledIntradayAuction 
UnscheduledAuction 
ContinuousTrading 
PostTrading 
OutOfMainSessionTrading 

Definition at line 314 of file types.hpp.

◆ TransactionCategory

Enumerator
RegularTrade 

Aka Plain-Vanilla Trade.

SpecialPrice 

Aka Trade with Conditions.

DarkTrade 
TechnicalTrade 
GiveUpGiveinTtrade 

Definition at line 295 of file types.hpp.

◆ VenueType

Enumerator
OffBook 

Definition at line 310 of file types.hpp.

Function Documentation

◆ __attribute__() [1/3]

template<class MsgT , MsgT Msg>
isimud::exchanges::BATSBOE::common::TradeCancelOrCorrect Header isimud::exchanges::BATSBOE::common::__attribute__ ( (packed)  )

◆ __attribute__() [2/3]

template<class MsgT , MsgT Msg>
isimud::exchanges::BATSBOE::common::LogonRequest Header isimud::exchanges::BATSBOE::common::__attribute__ ( (packed)  )

◆ __attribute__() [3/3]

template<class MsgT , MsgT Msg>
isimud::exchanges::BATSBOE::common::LogonReply Header isimud::exchanges::BATSBOE::common::__attribute__ ( (packed)  )

◆ convert()

template<class Ret >
Ret isimud::exchanges::BATSBOE::common::convert ( FIX::common::field_str_range_t const &  )
delete

◆ convert< OrdType >()

template<>
constexpr OrdType isimud::exchanges::BATSBOE::common::convert< OrdType > ( FIX::common::field_str_range_t const &  a)
inlineconstexpr
Todo:
What should be done with OrdType's that cannot be mapped?.

Definition at line 105 of file fix_to_batsboe_common_conversions.hpp.

◆ convert< Price_t >()

◆ convert< SecurityID_t >()

Todo:
We need to consider the symbology used, for example a conversion from ISIN to MIT native symbology.

Definition at line 167 of file fix_to_batsboe_common_conversions.hpp.

◆ convert< Side >()

template<>
constexpr Side isimud::exchanges::BATSBOE::common::convert< Side > ( FIX::common::field_str_range_t const &  a)
inlineconstexpr
Todo:
What should be done with Side's that cannot be mapped?.

Definition at line 147 of file fix_to_batsboe_common_conversions.hpp.

References convert< Side >().

Referenced by isimud::exchanges::BATSBOE::common::CancelOrder::CancelOrder(), isimud::exchanges::BATSBOE::common::ClientHeartbeat::ClientHeartbeat(), convert< Side >(), convert< TIF >(), isimud::exchanges::BATSBOE::common::Header< MsgType, MsgType::Logout >::Header(), isimud::exchanges::BATSBOE::common::NewOrder::instrumentID(), isimud::exchanges::BATSBOE::common::Header< MsgType, MsgType::Logout >::length(), isimud::exchanges::BATSBOE::common::NewOrder::limitPrice(), isimud::exchanges::BATSBOE::common::OrderModified::limitPrice(), isimud::exchanges::BATSBOE::common::LogonReply< MsgT, Msg >::LogonReply(), isimud::exchanges::BATSBOE::common::LogonRequest< MsgT, Msg >::LogonRequest(), isimud::exchanges::BATSBOE::common::simulator_responses< SrcMsgDetails, SktT >::state_machine_t::LogonRequestResponse::LogonRequestResponse(), isimud::exchanges::BATSBOE::common::Logout::Logout(), isimud::exchanges::BATSBOE::common::LogoutRequest::LogoutRequest(), isimud::exchanges::BATSBOE::common::simulator_responses< SrcMsgDetails, SktT >::state_machine_t::LogoutRequestResponse::LogoutRequestResponse(), isimud::exchanges::BATSBOE::common::ModifyOrder::ModifyOrder(), isimud::exchanges::BATSBOE::common::NewOrder::NewOrder(), isimud::exchanges::BATSBOE::common::simulator_responses< SrcMsgDetails, SktT >::state_machine_t::NewOrderResponse::NewOrderResponse(), isimud::exchanges::BATSBOE::common::LogonReply< MsgT, Msg >::respond::operator()(), operator<<(), isimud::exchanges::BATSBOE::common::OrderAcknowledgement::OrderAcknowledgement(), isimud::exchanges::BATSBOE::common::OrderCancelled::OrderCancelled(), isimud::exchanges::BATSBOE::common::OrderModified::OrderModified(), isimud::exchanges::BATSBOE::common::OrderModified::orderQty(), isimud::exchanges::BATSBOE::common::OrderCancelled::orderQty(), isimud::exchanges::BATSBOE::common::OrderRejected::OrderRejected(), isimud::exchanges::BATSBOE::common::OrderRestated::OrderRestated(), isimud::exchanges::BATSBOE::common::NewOrder::orderType(), isimud::exchanges::BATSBOE::common::exchange_to_client_transformations< SrcMsgDetails, DestMsgDetails, SktT >::process_msg(), isimud::exchanges::BATSBOE::common::ServerHeartbeat::ServerHeartbeat(), isimud::exchanges::BATSBOE::common::OrderModified::side(), isimud::exchanges::BATSBOE::common::OrderCancelled::side(), isimud::exchanges::BATSBOE::common::NewOrder::tif(), isimud::exchanges::BATSBOE::common::exchange_to_client_transformations< SrcMsgDetails, DestMsgDetails, SktT >::to_string(), and isimud::exchanges::BATSBOE::common::UserModifyRejected::UserModifyRejected().

◆ convert< std::uint32_t >()

template<>
std::uint32_t isimud::exchanges::BATSBOE::common::convert< std::uint32_t > ( FIX::common::field_str_range_t const &  a)
inline

Definition at line 183 of file fix_to_batsboe_common_conversions.hpp.

◆ convert< TIF >()

template<>
constexpr TIF isimud::exchanges::BATSBOE::common::convert< TIF > ( FIX::common::field_str_range_t const &  a)
inlineconstexpr
Todo:
What should be done with TIF's that cannot be mapped?.

Definition at line 123 of file fix_to_batsboe_common_conversions.hpp.

References convert< Side >().

◆ operator<<() [1/10]

template<class SrcMsgDetails , class DestMsgDetails , class SktT >
std::ostream & isimud::exchanges::BATSBOE::common::operator<< ( std::ostream &  os,
client_to_exchange_transformations< SrcMsgDetails, DestMsgDetails, SktT > const &  ec 
)
inlinenoexcept

Definition at line 143 of file processing_rules_impl.hpp.

References convert< Side >().

◆ operator<<() [2/10]

template<class SrcMsgDetails , class DestMsgDetails , class SktT >
std::ostream & isimud::exchanges::BATSBOE::common::operator<< ( std::ostream &  os,
exchange_to_client_transformations< SrcMsgDetails, DestMsgDetails, SktT > const &  ec 
)
inlinenoexcept

Definition at line 231 of file processing_rules_impl.hpp.

References convert< Side >().

◆ operator<<() [3/10]

std::ostream& isimud::exchanges::BATSBOE::common::operator<< ( std::ostream &  os,
LoginResponseStatus  m 
)
inline

Definition at line 171 of file types.hpp.

◆ operator<<() [4/10]

std::ostream& isimud::exchanges::BATSBOE::common::operator<< ( std::ostream &  os,
LogoutReason  m 
)
inline

Definition at line 184 of file types.hpp.

◆ operator<<() [5/10]

std::ostream& isimud::exchanges::BATSBOE::common::operator<< ( std::ostream &  os,
MsgType  m 
)
inline

Definition at line 153 of file types.hpp.

◆ operator<<() [6/10]

std::ostream& isimud::exchanges::BATSBOE::common::operator<< ( std::ostream &  os,
OrderRejectReason  m 
)
inline

Definition at line 409 of file types.hpp.

◆ operator<<() [7/10]

std::ostream& isimud::exchanges::BATSBOE::common::operator<< ( std::ostream &  os,
OrdType  v 
)
inline

Definition at line 228 of file types.hpp.

◆ operator<<() [8/10]

std::ostream& isimud::exchanges::BATSBOE::common::operator<< ( std::ostream &  os,
Side  v 
)
inline

Definition at line 197 of file types.hpp.

◆ operator<<() [9/10]

template<class SrcMsgDetails , class SktT >
std::ostream & isimud::exchanges::BATSBOE::common::operator<< ( std::ostream &  os,
simulator_responses< SrcMsgDetails, SktT > const &  ec 
)
inlinenoexcept

Definition at line 524 of file processing_rules_impl.hpp.

◆ operator<<() [10/10]

std::ostream& isimud::exchanges::BATSBOE::common::operator<< ( std::ostream &  os,
TIF  v 
)
inline

Definition at line 251 of file types.hpp.

◆ operator>>() [1/3]

std::istream& isimud::exchanges::BATSBOE::common::operator>> ( std::istream &  os,
OrdType v 
)
inline

Definition at line 234 of file types.hpp.

◆ operator>>() [2/3]

std::istream& isimud::exchanges::BATSBOE::common::operator>> ( std::istream &  os,
Side v 
)
inline

Definition at line 203 of file types.hpp.

◆ operator>>() [3/3]

std::istream& isimud::exchanges::BATSBOE::common::operator>> ( std::istream &  os,
TIF v 
)
inline

Definition at line 257 of file types.hpp.

Variable Documentation

◆ implied_decimal_places

constexpr Price_t isimud::exchanges::BATSBOE::common::implied_decimal_places =10000
constexpr

The number of implied decimal-places for MIT use.

From Section 10 "List of Optional Fields".

Definition at line 128 of file types.hpp.

◆ msg_start_code

const uint16_t isimud::exchanges::BATSBOE::common::msg_start_code =0xBABA

Definition at line 107 of file messages.hpp.