EPAM B2BITS MarketData C++ library  1.0.0
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Classes | Typedefs | Enumerations | Functions | Variables
Lse::Gtp Namespace Reference

Classes

struct  AddOrderIncremental
 
struct  AddOrderMBO
 
struct  AddOrderMBP
 
struct  AddOrderShortMBO
 
struct  AddOrderShortMBP
 
struct  Announcements
 
union  AnyMessage
 
union  AnySingleMessageUnit
 
class  Application
 
class  ApplicationListener
 
struct  ApplicationOptions
 
class  ConnectionManager
 
class  ConnectionManagerListener
 
struct  decimal
 
struct  DeleteOrder
 
struct  FixedString
 
struct  FTSEIndicesUpdate
 
struct  IndicativeQuoteInformation
 
struct  InstrumentDirectory
 
struct  InstrumentDirectoryDerivatives
 
struct  InstrumentDirectoryEquities
 
struct  InstrumentDirectoryFixedIncome
 
struct  InstrumentDirectoryStrategies
 
struct  InstrumentStatus
 
struct  LoginRequest
 
struct  LoginResponse
 
struct  MessageHeader
 
struct  MiFIDTrade
 
struct  MiFIDTradeCross
 
struct  MiFIDTradeReport
 
struct  ModifyOrder
 
struct  OrderBookClear
 
struct  PerformanceIndicator
 
struct  RecoveryRequest
 
struct  RecoveryResponse
 
struct  ReplayRecoveryComplete
 
struct  ReplayRequest
 
struct  ReplayResponse
 
class  Service
 
struct  ServiceConnectionStatistics
 
struct  ServiceDateStatistics
 
class  ServiceListener
 
struct  ServiceOptions
 
struct  SingleMessageUnit
 
struct  SIQuote
 
struct  Statistics
 
struct  StatisticsSnapshot
 
struct  StatisticsUpdate
 
struct  SystemEvent
 
class  TcpConnection
 
struct  TOB
 
struct  Trade
 
struct  TradeCross
 
struct  TradeSummary
 
class  UdpConnection
 
class  UdpConnectionListener
 
struct  UnitHeader
 

Typedefs

typedef Byte MessageType
 
using Price = decimal< std::int64_t, 8 >
 
using Size = decimal< std::uint64_t, 8 >
 
using Price4 = decimal< std::int64_t, 4 >
 
using Size4 = decimal< std::uint64_t, 4 >
 
using UInt8 = std::uint8_t
 
using UInt16 = std::uint16_t
 
using UInt32 = std::uint32_t
 
using UInt64 = std::uint64_t
 
using Byte = unsigned char
 
using DateTime = FixedString< 27 >
 
using MiFIDDecimal = FixedString< 20 >
 
using UDT = std::uint64_t
 
using BitField = std::uint8_t
 
using Time = FixedString< 6 >
 
using Date = FixedString< 8 >
 
using GroupIDType = FixedString< 6 >
 
using InstrumentIDType = UInt64
 
typedef SingleMessageUnit< LoginRequestLoginRequestUnit
 
typedef SingleMessageUnit< LoginResponseLoginResponseUnit
 
typedef SingleMessageUnit< ReplayRequestReplayRequestUnit
 
typedef SingleMessageUnit< ReplayResponseReplayResponseUnit
 
typedef SingleMessageUnit< RecoveryRequestRecoveryRequestUnit
 
typedef SingleMessageUnit< RecoveryResponseRecoveryResponseUnit
 
typedef SingleMessageUnit< ReplayRecoveryCompleteReplayRecoveryCompleteUnit
 

Enumerations

enum  ConnectionManagerType { cmtAsio, cmtMyricomDBL }
 
enum  ChannelStatus { csReady, csDisabled, csActive, csInactive }
 
enum  ResetReason { rrConnect, rrDate, rrSequenceNumber }
 
enum  RequestType { rtRecovery, rtReplay }
 
enum  SourceVenue : UInt16 {
  SourceVenue::LondonStock = 1, SourceVenue::BICashFixed = 2, SourceVenue::BIDerivatives = 3, SourceVenue::TurquoiseLit = 5,
  SourceVenue::TurquoisePlato = 6, SourceVenue::BITAH = 8, SourceVenue::EuroTLX = 10, SourceVenue::TRADEcho = 11,
  SourceVenue::TurquoiseAuctions = 12, SourceVenue::Reserved = 13
}
 
enum  LoginRequestStatus : Byte {
  LoginRequestStatus::LoginAccepted = 'A', LoginRequestStatus::CompIDInactive = 'a', LoginRequestStatus::LoginLimitReached = 'b', LoginRequestStatus::ServiceUnavailable = 'c',
  LoginRequestStatus::MaximumConnectionsLimitReached = 'd', LoginRequestStatus::Failed = 'e', LoginRequestStatus::InvalidCompIDOrIP = 'f'
}
 
enum  ReplayRequestStatus : Byte {
  ReplayRequestStatus::RequestAccepted = 'A', ReplayRequestStatus::RequestLimitReached = 'D', ReplayRequestStatus::OutOfRange = 'O', ReplayRequestStatus::ReplayUnavailable = 'U',
  ReplayRequestStatus::ConcurrentLimitReached = 'c', ReplayRequestStatus::Failed = 'e'
}
 
enum  RequestLevel : UInt8 { RequestLevel::Instrument = 0, RequestLevel::Group = 1, RequestLevel::MulticastChannel = 2 }
 
enum  RecoveryType : UInt8 {
  RecoveryType::InstrumentDirectory = 0, RecoveryType::Orderbook = 1, RecoveryType::AllTrades = 2, RecoveryType::Statistics = 3,
  RecoveryType::InstrumentStatus = 4, RecoveryType::Announcements = 5, RecoveryType::SystemEvent = 6, RecoveryType::RecoveryTypesQuantity
}
 
enum  RecoveryRequestStatus : Byte {
  RecoveryRequestStatus::RequestAccepted = 'A', RecoveryRequestStatus::OutOfRange = 'O', RecoveryRequestStatus::InvalidGroupOrInstrument = 'a', RecoveryRequestStatus::RequestLimitReached = 'b',
  RecoveryRequestStatus::ConcurrentLimitReached = 'c', RecoveryRequestStatus::InvalidRecoveryTypeOrRequestLevel = 'd', RecoveryRequestStatus::Failed = 'e'
}
 
enum  AuctionType : Byte {
  AuctionType::ClosingAuction = 'C', AuctionType::OpeningAuction = 'O', AuctionType::AESP = 'A', AuctionType::EDSP = 'B',
  AuctionType::OPA = 'P', AuctionType::ResumeAuction = 'E', AuctionType::PeriodicAuction = 'F', AuctionType::IntradayLevel1Auction = 'G',
  AuctionType::FrequentLitAuctions = 'L'
}
 
enum  AuctionInfo : Byte {
  AuctionInfo::BuyImbalance = 'B', AuctionInfo::NoImbalance = 'N', AuctionInfo::InsufficientOrders = 'O', AuctionInfo::SellImbalance = 'S',
  AuctionInfo::CallMarket = 'M'
}
 
enum  ImbalanceDirection : Byte { ImbalanceDirection::BuyImbalance = 'B', ImbalanceDirection::NoImbalance = 'N', ImbalanceDirection::InsufficientOrders = 'O', ImbalanceDirection::SellImbalance = 'S' }
 
enum  StatisticType : UInt16 {
  StatisticType::IndicativeAuctionUncrossingData = 1, StatisticType::OfficialOpeningPrice = 2, StatisticType::OfficialClosingPrice = 3, StatisticType::TradeHighOnBook = 4,
  StatisticType::TradeLowOnBook = 5, StatisticType::TradeHighAllTrades = 6, StatisticType::TradeLowAllTrades = 7, StatisticType::TradeHighAllTrades52 = 8,
  StatisticType::TradeLowAllTrades52 = 9, StatisticType::BestClosingBid = 10, StatisticType::BestClosingAsk = 11, StatisticType::TradeHighOffBook = 12,
  StatisticType::TradeLowOffBook = 13, StatisticType::OpenInterest = 14, StatisticType::Volatility = 15, StatisticType::StaticReferencePrice = 16,
  StatisticType::DynamicReferencePrice = 17, StatisticType::PBBOMPWFMCsPassed = 18, StatisticType::PBBOMOWFMCsFailed = 19
}
 
enum  OrderType : UInt8 {
  OrderType::LimitOrder = 0, OrderType::MarketOrder = 1, OrderType::ImpliedOrder = 2, OrderType::NamedLimit = 3,
  OrderType::NamedMarket = 4, OrderType::ExecutableQuotes = 5
}
 
enum  TradeType : UInt8 {
  TradeType::RegularTrade = 0, TradeType::AuctionTradeBulk = 1, TradeType::AuctionTradeIndividual = 2, TradeType::LateTrade = 5,
  TradeType::TradeCancellation = 9, TradeType::StrategyVsStrategy = 10, TradeType::TradeCorrection = 11, TradeType::RFQTrade = 22,
  TradeType::RFQTradeCancellation = 23, TradeType::RFQTradeCorrection = 24
}
 
enum  CrossType : UInt8 {
  CrossType::InternalCross = 5, CrossType::InternalBTF = 6, CrossType::CommittedCross = 7, CrossType::CommittedBTF = 8,
  CrossType::EG1 = 9, CrossType::EG2 = 10, CrossType::ExchangeForPhysical = 11, CrossType::BasisTrade = 12
}
 
enum  IndexStatus : Byte {
  IndexStatus::Empty = ' ', IndexStatus::Normal = 'N', IndexStatus::Indicative = 'I', IndexStatus::Held = 'H',
  IndexStatus::Closed = 'C', IndexStatus::PartCalculatedValue = 'K', IndexStatus::PreMarket = 'P'
}
 
enum  SettlementSystem : UInt8 {
  SettlementSystem::RRG = 1, SettlementSystem::ExpressI = 2, SettlementSystem::ExpressII = 3, SettlementSystem::ClearStream = 4,
  SettlementSystem::UndefinedValue = 5, SettlementSystem::T2S = 6
}
 
enum  UnderlyingDeliveryType : Byte { UnderlyingDeliveryType::Cash = 'C', UnderlyingDeliveryType::Physical = 'P' }
 
enum  CorporateActionLevel : UInt8 {
  CorporateActionLevel::Empty = 0, CorporateActionLevel::X = 1, CorporateActionLevel::Y = 2, CorporateActionLevel::Z = 3,
  CorporateActionLevel::R = 5, CorporateActionLevel::S = 6, CorporateActionLevel::G = 7, CorporateActionLevel::U = 8,
  CorporateActionLevel::V = 9
}
 
enum  AnnouncementType : Byte {
  AnnouncementType::Regular = '0', AnnouncementType::HighPriority = '1', AnnouncementType::LowPriority = '2', AnnouncementType::StressedMarketConditionStart = '3',
  AnnouncementType::StressedMarketConditionEnd = '4', AnnouncementType::StressedMarketObligationsStart = '5', AnnouncementType::StressedMarketObligationsEnd = '6'
}
 
enum  DirtyCleanPrice : UInt8 { DirtyCleanPrice::Unspecified = 0, DirtyCleanPrice::SECCO = 1, DirtyCleanPrice::TELQUEL = 2 }
 
enum  StrategyPricing : Byte { StrategyPricing::SameAsLegs = 'L', StrategyPricing::Notional = 'N' }
 
enum  SessionChangeReason : UInt8 {
  SessionChangeReason::ScheduledTransition = 0, SessionChangeReason::ExtendedByMarketOps = 1, SessionChangeReason::ShortenedByMarketOps = 2, SessionChangeReason::MarketOrderImbalance = 3,
  SessionChangeReason::PriceOutsideRange = 4, SessionChangeReason::CircuitBreakerTripped = 5, SessionChangeReason::SpecialistNotPresent = 6, SessionChangeReason::Unavailable = 9
}
 
enum  OrderBookType : UInt8 {
  OrderBookType::AllBooks = 0, OrderBookType::FirmQuote = 1, OrderBookType::OffBook = 2, OrderBookType::Electronic = 3,
  OrderBookType::PrivateRFQ = 4
}
 
enum  UnderlyingType : UInt8 {
  UnderlyingType::NotCodified = 0, UnderlyingType::Share = 1, UnderlyingType::ForeignCurrency = 2, UnderlyingType::Indices = 3,
  UnderlyingType::Commodity = 4, UnderlyingType::ForeignIndices = 5, UnderlyingType::Future = 6, UnderlyingType::ForeignShare = 7,
  UnderlyingType::Basket = 8, UnderlyingType::ExchangeRate = 9
}
 
enum  OptionStyle : Byte { OptionStyle::European = 'E', OptionStyle::American = 'A', OptionStyle::Periodic = 'P' }
 
enum  EventCode : Byte { EventCode::EndOfDay = 'C', EventCode::StartOfDay = 'O', EventCode::StartOfOpen = 'T', EventCode::StartOfPreClose = 'P' }
 
enum  VenueType : UInt8 { VenueType::Unspecified = 0, VenueType::MTF = 1, VenueType::OTF = 2, VenueType::RegulatedMarket = 3 }
 
enum  GenericBitfield : Byte {
  GenericBitfield::Bit0 = Byte(1) << 0, GenericBitfield::Bit1 = Byte(1) << 1, GenericBitfield::Bit2 = Byte(1) << 2, GenericBitfield::Bit3 = Byte(1) << 3,
  GenericBitfield::Bit4 = Byte(1) << 4, GenericBitfield::Bit5 = Byte(1) << 5, GenericBitfield::Bit6 = Byte(1) << 6, GenericBitfield::Bit7 = Byte(1) << 7
}
 
enum  AllowedBookTypes : Byte {
  AllowedBookTypes::All = Byte(1) << 0, AllowedBookTypes::FirmQuoteBook = Byte(1) << 1, AllowedBookTypes::OffBook = Byte(1) << 2, AllowedBookTypes::Electronic = Byte(1) << 3,
  AllowedBookTypes::PrivateRFQ = Byte(1) << 4
}
 
enum  TradeFlags : Byte { TradeFlags::TradeCancellation = Byte(1) << 0, TradeFlags::TradeCorrection = Byte(1) << 1, TradeFlags::PendingPrice = Byte(1) << 2 }
 
enum  AnnouncementsFlags : Byte { AnnouncementsFlags::ContinueMarker = Byte(1) << 0 }
 
enum  LseTradingStatus : Byte {
  LseTradingStatus::Halt = 'H', LseTradingStatus::HaltMatchingPartitionSuspended = 'J', LseTradingStatus::HaltSystemSuspended = 'K', LseTradingStatus::RegularTradingStartTradeReporting = 'T',
  LseTradingStatus::HaltRegulatory = 'P', LseTradingStatus::EndTradeReporting = 't', LseTradingStatus::OpeningAuctionCall = 'a', LseTradingStatus::PostClose = 'b',
  LseTradingStatus::Closed = 'c', LseTradingStatus::ClosingAuctionCall = 'd', LseTradingStatus::AESPAuctionCall = 'e', LseTradingStatus::ResumeAuction = 'f',
  LseTradingStatus::PreMandatory = 'm', LseTradingStatus::Mandatory = 'n', LseTradingStatus::PostMandatory = 'o', LseTradingStatus::EDSPAuctionCall = 'q',
  LseTradingStatus::PeriodicAuctionCall = 'r', LseTradingStatus::IntradayLevel1AuctionCall = 'G', LseTradingStatus::Inactive = '1', LseTradingStatus::Suspended = '2',
  LseTradingStatus::NoActiveSession = 'w', LseTradingStatus::EndOfPostClose = 'x', LseTradingStatus::ClosingPriceCrossingsession = 'u', LseTradingStatus::EmptyTradingStatus = 0
}
 

Functions

char v_ (char v)
 
template<typename T >
std::enable_if<(sizeof(T) > 1), T >::type v_ (T v)
 
template<typename T >
std::enable_if< sizeof(T)==1, int >::type v_ (T v)
 
template<typename T >
std::enable_if<!std::is_enum< T >::value, std::ostream & >::type ts_ (std::ostream &os, T v)
 
template<typename T >
std::enable_if< std::is_enum< T >::value, std::ostream & >::type ts_ (std::ostream &os, T v)
 
template<typename M , int E>
std::ostream & ts_ (std::ostream &os, decimal< M, E > v)
 
template<std::size_t S>
std::ostream & ts_ (std::ostream &os, FixedString< S > v)
 
template<typename T >
void ts_ (std::ostream &os, const char *name, T v, const char *delim)
 
void ts_ (std::ostream &os, const char *name, const MessageHeader &hdr, const char *delim)
 
template<typename MESSAGE >
const MESSAGE * castMessage (const MessageHeader *messageHeader)
 
std::ostream & operator<< (std::ostream &stream, const MessageHeader &messageHeader)
 
template<std::size_t COUNT>
void setAlpha (FixedString< COUNT >(&alpha), const char *str, size_t length)
 
template<std::size_t COUNT>
void setAlpha (FixedString< COUNT >(&alpha), const char *str)
 
template<std::size_t COUNT>
size_t getAlphaSize (const FixedString< COUNT >(&alpha))
 
template<typename MESSAGE >
void constructMessage (MESSAGE &message)
 
template<typename MESSAGE >
std::string getMessageString (const MESSAGE &message)
 
template<std::size_t COUNT>
size_t getAlphaLength (const FixedString< COUNT > &alpha)
 
void constructUnit (UnitHeader &unitHeader)
 
template<typename MESSAGE >
void constructUnit (SingleMessageUnit< MESSAGE > &unit)
 
const MessageHeadergetFirstMessage (const UnitHeader *unitHeader)
 
const MessageHeadergetNextMessage (const UnitHeader *unitHeader, const MessageHeader *messageHeader)
 
const MessageHeadergetSingleMessage (const UnitHeader *unitHeader)
 
std::ostream & operator<< (std::ostream &stream, const UnitHeader &unitHeader)
 
template<typename MESSAGE >
std::ostream & operator<< (std::ostream &stream, const SingleMessageUnit< MESSAGE > &unit)
 
template<typename UNIT >
std::string getUnitString (const UNIT &unit)
 

Variables

const UInt64 defaultInstrument = 0
 
const GroupIDType defaultGroupID = { ' ', ' ', ' ', ' ', ' ', ' ' }
 
const std::string strDefaultGroupID = ""
 
const MessageType mtIncorrectMessageType = 0x0
 
const MessageType mtLoginRequest = 0x01
 
const MessageType mtLoginResponse = 0x02
 
const MessageType mtReplayRequest = 0x03
 
const MessageType mtReplayResponse = 0x04
 
const MessageType mtAddOrderMBO = 'A'
 
const MessageType mtDeleteOrder = 'D'
 
const MessageType mtAddOrderIncremental = 'F'
 
const MessageType mtSIQuote = 'G'
 
const MessageType mtInstrumentStatus = 'H'
 
const MessageType mtTrade = 'P'
 
const MessageType mtMiFIDTrade = 'Q'
 
const MessageType mtInstrumentDirectoryEquities = 'R'
 
const MessageType mtSystemEvent = 'S'
 
const MessageType mtMiFIDTradeReport = 'T'
 
const MessageType mtModifyOrder = 'U'
 
const MessageType mtMiFIDTradeCross = 'V'
 
const MessageType mtTradeSummary = 'W'
 
const MessageType mtAddOrderShortMBO = 0x65
 
const MessageType mtAddOrderMBP = 0x66
 
const MessageType mtAddOrderShortMBP = 0x67
 
const MessageType mtTOB = 0x69
 
const MessageType mtStatisticsUpdate = 0x6A
 
const MessageType mtStatisticsSnapshot = 0x6B
 
const MessageType mtFTSEIndicesUpdate = 0x6C
 
const MessageType mtInstrumentDirectoryFixedIncome = 0x6E
 
const MessageType mtInstrumentDirectoryStrategies = 0x6F
 
const MessageType mtInstrumentDirectory = 0x70
 
const MessageType mtTradeCross = 0x71
 
const MessageType mtAnnouncements = 0x75
 
const MessageType mtInstrumentDirectoryDerivatives = 0x76
 
const MessageType mtStatistics = 0x77
 
const MessageType mtOrderBookClear = 0x79
 
const MessageType mtIndicativeQuoteInformation = 0x80
 
const MessageType mtRecoveryRequest = 0x81
 
const MessageType mtRecoveryResponse = 0x82
 
const MessageType mtReplayRecoveryComplete = 0x83
 

Typedef Documentation

◆ BitField

using Lse::Gtp::BitField = typedef std::uint8_t

◆ Byte

using Lse::Gtp::Byte = typedef unsigned char

◆ Date

using Lse::Gtp::Date = typedef FixedString<8>

◆ DateTime

using Lse::Gtp::DateTime = typedef FixedString<27>

◆ GroupIDType

using Lse::Gtp::GroupIDType = typedef FixedString<6>

◆ InstrumentIDType

◆ LoginRequestUnit

◆ LoginResponseUnit

◆ MessageType

◆ MiFIDDecimal

using Lse::Gtp::MiFIDDecimal = typedef FixedString<20>

◆ Price

using Lse::Gtp::Price = typedef decimal<std::int64_t, 8>

◆ Price4

using Lse::Gtp::Price4 = typedef decimal<std::int64_t, 4>

◆ RecoveryRequestUnit

◆ RecoveryResponseUnit

◆ ReplayRecoveryCompleteUnit

◆ ReplayRequestUnit

◆ ReplayResponseUnit

◆ Size

using Lse::Gtp::Size = typedef decimal<std::uint64_t, 8>

◆ Size4

using Lse::Gtp::Size4 = typedef decimal<std::uint64_t, 4>

◆ Time

using Lse::Gtp::Time = typedef FixedString<6>

◆ UDT

using Lse::Gtp::UDT = typedef std::uint64_t

◆ UInt16

using Lse::Gtp::UInt16 = typedef std::uint16_t

◆ UInt32

using Lse::Gtp::UInt32 = typedef std::uint32_t

◆ UInt64

using Lse::Gtp::UInt64 = typedef std::uint64_t

◆ UInt8

using Lse::Gtp::UInt8 = typedef std::uint8_t

Enumeration Type Documentation

◆ AllowedBookTypes

Enumerator
All 
FirmQuoteBook 
OffBook 
Electronic 
PrivateRFQ 

◆ AnnouncementsFlags

Enumerator
ContinueMarker 

◆ AnnouncementType

Enumerator
Regular 
HighPriority 
LowPriority 
StressedMarketConditionStart 
StressedMarketConditionEnd 
StressedMarketObligationsStart 
StressedMarketObligationsEnd 

◆ AuctionInfo

enum Lse::Gtp::AuctionInfo : Byte
strong
Enumerator
BuyImbalance 
NoImbalance 
InsufficientOrders 
SellImbalance 
CallMarket 

◆ AuctionType

enum Lse::Gtp::AuctionType : Byte
strong
Enumerator
ClosingAuction 
OpeningAuction 
AESP 
EDSP 
OPA 
ResumeAuction 
PeriodicAuction 
IntradayLevel1Auction 
FrequentLitAuctions 

◆ ChannelStatus

Enumerator
csReady 
csDisabled 
csActive 
csInactive 

◆ ConnectionManagerType

Enumerator
cmtAsio 
cmtMyricomDBL 

◆ CorporateActionLevel

Enumerator
Empty 

◆ CrossType

enum Lse::Gtp::CrossType : UInt8
strong
Enumerator
InternalCross 
InternalBTF 
CommittedCross 
CommittedBTF 
EG1 
EG2 
ExchangeForPhysical 
BasisTrade 

◆ DirtyCleanPrice

Enumerator
Unspecified 
SECCO 
TELQUEL 

◆ EventCode

enum Lse::Gtp::EventCode : Byte
strong
Enumerator
EndOfDay 
StartOfDay 
StartOfOpen 
StartOfPreClose 

◆ GenericBitfield

Enumerator
Bit0 
Bit1 
Bit2 
Bit3 
Bit4 
Bit5 
Bit6 
Bit7 

◆ ImbalanceDirection

Enumerator
BuyImbalance 
NoImbalance 
InsufficientOrders 
SellImbalance 

◆ IndexStatus

enum Lse::Gtp::IndexStatus : Byte
strong
Enumerator
Empty 
Normal 
Indicative 
Held 
Closed 
PartCalculatedValue 
PreMarket 

◆ LoginRequestStatus

Enumerator
LoginAccepted 
CompIDInactive 
LoginLimitReached 
ServiceUnavailable 
MaximumConnectionsLimitReached 
Failed 
InvalidCompIDOrIP 

◆ LseTradingStatus

Enumerator
Halt 
HaltMatchingPartitionSuspended 
HaltSystemSuspended 
RegularTradingStartTradeReporting 
HaltRegulatory 
EndTradeReporting 
OpeningAuctionCall 
PostClose 
Closed 
ClosingAuctionCall 
AESPAuctionCall 
ResumeAuction 
PreMandatory 
Mandatory 
PostMandatory 
EDSPAuctionCall 
PeriodicAuctionCall 
IntradayLevel1AuctionCall 
Inactive 
Suspended 
NoActiveSession 
EndOfPostClose 
ClosingPriceCrossingsession 
EmptyTradingStatus 

◆ OptionStyle

enum Lse::Gtp::OptionStyle : Byte
strong
Enumerator
European 
American 
Periodic 

◆ OrderBookType

Enumerator
AllBooks 
FirmQuote 
OffBook 
Electronic 
PrivateRFQ 

◆ OrderType

enum Lse::Gtp::OrderType : UInt8
strong
Enumerator
LimitOrder 
MarketOrder 
ImpliedOrder 
NamedLimit 
NamedMarket 
ExecutableQuotes 

◆ RecoveryRequestStatus

Enumerator
RequestAccepted 
OutOfRange 
InvalidGroupOrInstrument 
RequestLimitReached 
ConcurrentLimitReached 
InvalidRecoveryTypeOrRequestLevel 
Failed 

◆ RecoveryType

Enumerator
InstrumentDirectory 
Orderbook 
AllTrades 
Statistics 
InstrumentStatus 
Announcements 
SystemEvent 
RecoveryTypesQuantity 

◆ ReplayRequestStatus

Enumerator
RequestAccepted 
RequestLimitReached 
OutOfRange 
ReplayUnavailable 
ConcurrentLimitReached 
Failed 

◆ RequestLevel

Enumerator
Instrument 
Group 
MulticastChannel 

◆ RequestType

Enumerator
rtRecovery 
rtReplay 

◆ ResetReason

Enumerator
rrConnect 
rrDate 
rrSequenceNumber 

◆ SessionChangeReason

Enumerator
ScheduledTransition 
ExtendedByMarketOps 
ShortenedByMarketOps 
MarketOrderImbalance 
PriceOutsideRange 
CircuitBreakerTripped 
SpecialistNotPresent 
Unavailable 

◆ SettlementSystem

Enumerator
RRG 
ExpressI 
ExpressII 
ClearStream 
UndefinedValue 
T2S 

◆ SourceVenue

Enumerator
LondonStock 
BICashFixed 
BIDerivatives 
TurquoiseLit 
TurquoisePlato 
BITAH 
EuroTLX 
TRADEcho 
TurquoiseAuctions 
Reserved 

◆ StatisticType

Enumerator
IndicativeAuctionUncrossingData 
OfficialOpeningPrice 
OfficialClosingPrice 
TradeHighOnBook 
TradeLowOnBook 
TradeHighAllTrades 
TradeLowAllTrades 
TradeHighAllTrades52 
TradeLowAllTrades52 
BestClosingBid 
BestClosingAsk 
TradeHighOffBook 
TradeLowOffBook 
OpenInterest 
Volatility 
StaticReferencePrice 
DynamicReferencePrice 
PBBOMPWFMCsPassed 
PBBOMOWFMCsFailed 

◆ StrategyPricing

Enumerator
SameAsLegs 
Notional 

◆ TradeFlags

enum Lse::Gtp::TradeFlags : Byte
strong
Enumerator
TradeCancellation 
TradeCorrection 
PendingPrice 

◆ TradeType

enum Lse::Gtp::TradeType : UInt8
strong
Enumerator
RegularTrade 
AuctionTradeBulk 
AuctionTradeIndividual 
LateTrade 
TradeCancellation 
StrategyVsStrategy 
TradeCorrection 
RFQTrade 
RFQTradeCancellation 
RFQTradeCorrection 

◆ UnderlyingDeliveryType

Enumerator
Cash 
Physical 

◆ UnderlyingType

Enumerator
NotCodified 
Share 
ForeignCurrency 
Indices 
Commodity 
ForeignIndices 
Future 
ForeignShare 
Basket 
ExchangeRate 

◆ VenueType

enum Lse::Gtp::VenueType : UInt8
strong
Enumerator
Unspecified 
MTF 
OTF 
RegulatedMarket 

Function Documentation

◆ castMessage()

template<typename MESSAGE >
const MESSAGE* Lse::Gtp::castMessage ( const MessageHeader messageHeader)
inline

◆ constructMessage()

template<typename MESSAGE >
void Lse::Gtp::constructMessage ( MESSAGE &  message)
inline

◆ constructUnit() [1/2]

template<typename MESSAGE >
void Lse::Gtp::constructUnit ( SingleMessageUnit< MESSAGE > &  unit)
inline

◆ constructUnit() [2/2]

void Lse::Gtp::constructUnit ( UnitHeader unitHeader)
inline

◆ getAlphaLength()

template<std::size_t COUNT>
size_t Lse::Gtp::getAlphaLength ( const FixedString< COUNT > &  alpha)
inline

◆ getAlphaSize()

template<std::size_t COUNT>
size_t Lse::Gtp::getAlphaSize ( const FixedString< COUNT > &  alpha)
inline

◆ getFirstMessage()

const MessageHeader* Lse::Gtp::getFirstMessage ( const UnitHeader unitHeader)
inline

◆ getMessageString()

template<typename MESSAGE >
std::string Lse::Gtp::getMessageString ( const MESSAGE &  message)
inline

◆ getNextMessage()

const MessageHeader* Lse::Gtp::getNextMessage ( const UnitHeader unitHeader,
const MessageHeader messageHeader 
)
inline

◆ getSingleMessage()

const MessageHeader* Lse::Gtp::getSingleMessage ( const UnitHeader unitHeader)
inline

◆ getUnitString()

template<typename UNIT >
std::string Lse::Gtp::getUnitString ( const UNIT &  unit)
inline

◆ operator<<() [1/3]

std::ostream & Lse::Gtp::operator<< ( std::ostream &  stream,
const MessageHeader messageHeader 
)
inline

◆ operator<<() [2/3]

template<typename MESSAGE >
std::ostream& Lse::Gtp::operator<< ( std::ostream &  stream,
const SingleMessageUnit< MESSAGE > &  unit 
)
inline

◆ operator<<() [3/3]

std::ostream& Lse::Gtp::operator<< ( std::ostream &  stream,
const UnitHeader unitHeader 
)
inline

◆ setAlpha() [1/2]

template<std::size_t COUNT>
void Lse::Gtp::setAlpha ( FixedString< COUNT > &  alpha,
const char *  str 
)
inline

◆ setAlpha() [2/2]

template<std::size_t COUNT>
void Lse::Gtp::setAlpha ( FixedString< COUNT > &  alpha,
const char *  str,
size_t  length 
)
inline

◆ ts_() [1/6]

void Lse::Gtp::ts_ ( std::ostream &  os,
const char *  name,
const MessageHeader hdr,
const char *  delim 
)
inline

◆ ts_() [2/6]

template<typename T >
void Lse::Gtp::ts_ ( std::ostream &  os,
const char *  name,
v,
const char *  delim 
)
inline

◆ ts_() [3/6]

template<typename M , int E>
std::ostream& Lse::Gtp::ts_ ( std::ostream &  os,
decimal< M, E >  v 
)
inline

◆ ts_() [4/6]

template<std::size_t S>
std::ostream& Lse::Gtp::ts_ ( std::ostream &  os,
FixedString< S >  v 
)
inline

◆ ts_() [5/6]

template<typename T >
std::enable_if<!std::is_enum<T>::value, std::ostream&>::type Lse::Gtp::ts_ ( std::ostream &  os,
v 
)
inline

◆ ts_() [6/6]

template<typename T >
std::enable_if<std::is_enum<T>::value, std::ostream&>::type Lse::Gtp::ts_ ( std::ostream &  os,
v 
)
inline

◆ v_() [1/3]

char Lse::Gtp::v_ ( char  v)
inline

◆ v_() [2/3]

template<typename T >
std::enable_if<(sizeof(T) > 1), T>::type Lse::Gtp::v_ ( v)
inline

◆ v_() [3/3]

template<typename T >
std::enable_if<sizeof(T) == 1, int>::type Lse::Gtp::v_ ( v)
inline

Variable Documentation

◆ defaultGroupID

const GroupIDType Lse::Gtp::defaultGroupID = { ' ', ' ', ' ', ' ', ' ', ' ' }

◆ defaultInstrument

const UInt64 Lse::Gtp::defaultInstrument = 0

◆ mtAddOrderIncremental

const MessageType Lse::Gtp::mtAddOrderIncremental = 'F'

◆ mtAddOrderMBO

const MessageType Lse::Gtp::mtAddOrderMBO = 'A'

◆ mtAddOrderMBP

const MessageType Lse::Gtp::mtAddOrderMBP = 0x66

◆ mtAddOrderShortMBO

const MessageType Lse::Gtp::mtAddOrderShortMBO = 0x65

◆ mtAddOrderShortMBP

const MessageType Lse::Gtp::mtAddOrderShortMBP = 0x67

◆ mtAnnouncements

const MessageType Lse::Gtp::mtAnnouncements = 0x75

◆ mtDeleteOrder

const MessageType Lse::Gtp::mtDeleteOrder = 'D'

◆ mtFTSEIndicesUpdate

const MessageType Lse::Gtp::mtFTSEIndicesUpdate = 0x6C

◆ mtIncorrectMessageType

const MessageType Lse::Gtp::mtIncorrectMessageType = 0x0

◆ mtIndicativeQuoteInformation

const MessageType Lse::Gtp::mtIndicativeQuoteInformation = 0x80

◆ mtInstrumentDirectory

const MessageType Lse::Gtp::mtInstrumentDirectory = 0x70

◆ mtInstrumentDirectoryDerivatives

const MessageType Lse::Gtp::mtInstrumentDirectoryDerivatives = 0x76

◆ mtInstrumentDirectoryEquities

const MessageType Lse::Gtp::mtInstrumentDirectoryEquities = 'R'

◆ mtInstrumentDirectoryFixedIncome

const MessageType Lse::Gtp::mtInstrumentDirectoryFixedIncome = 0x6E

◆ mtInstrumentDirectoryStrategies

const MessageType Lse::Gtp::mtInstrumentDirectoryStrategies = 0x6F

◆ mtInstrumentStatus

const MessageType Lse::Gtp::mtInstrumentStatus = 'H'

◆ mtLoginRequest

const MessageType Lse::Gtp::mtLoginRequest = 0x01

◆ mtLoginResponse

const MessageType Lse::Gtp::mtLoginResponse = 0x02

◆ mtMiFIDTrade

const MessageType Lse::Gtp::mtMiFIDTrade = 'Q'

◆ mtMiFIDTradeCross

const MessageType Lse::Gtp::mtMiFIDTradeCross = 'V'

◆ mtMiFIDTradeReport

const MessageType Lse::Gtp::mtMiFIDTradeReport = 'T'

◆ mtModifyOrder

const MessageType Lse::Gtp::mtModifyOrder = 'U'

◆ mtOrderBookClear

const MessageType Lse::Gtp::mtOrderBookClear = 0x79

◆ mtRecoveryRequest

const MessageType Lse::Gtp::mtRecoveryRequest = 0x81

◆ mtRecoveryResponse

const MessageType Lse::Gtp::mtRecoveryResponse = 0x82

◆ mtReplayRecoveryComplete

const MessageType Lse::Gtp::mtReplayRecoveryComplete = 0x83

◆ mtReplayRequest

const MessageType Lse::Gtp::mtReplayRequest = 0x03

◆ mtReplayResponse

const MessageType Lse::Gtp::mtReplayResponse = 0x04

◆ mtSIQuote

const MessageType Lse::Gtp::mtSIQuote = 'G'

◆ mtStatistics

const MessageType Lse::Gtp::mtStatistics = 0x77

◆ mtStatisticsSnapshot

const MessageType Lse::Gtp::mtStatisticsSnapshot = 0x6B

◆ mtStatisticsUpdate

const MessageType Lse::Gtp::mtStatisticsUpdate = 0x6A

◆ mtSystemEvent

const MessageType Lse::Gtp::mtSystemEvent = 'S'

◆ mtTOB

const MessageType Lse::Gtp::mtTOB = 0x69

◆ mtTrade

const MessageType Lse::Gtp::mtTrade = 'P'

◆ mtTradeCross

const MessageType Lse::Gtp::mtTradeCross = 0x71

◆ mtTradeSummary

const MessageType Lse::Gtp::mtTradeSummary = 'W'

◆ strDefaultGroupID

const std::string Lse::Gtp::strDefaultGroupID = ""