OnixS C++ FMX UST BIMP Market Data Handler 1.2.0
API documentation
Loading...
Searching...
No Matches
InstrumentDirectory.h
Go to the documentation of this file.
1/*
2* Copyright Onix Solutions Limited [OnixS]. All rights reserved.
3*
4* This software owned by Onix Solutions Limited [OnixS] and is protected by copyright law
5* and international copyright treaties.
6*
7* Access to and use of the software is governed by the terms of the applicable ONIXS Software
8* Services Agreement (the Agreement) and Customer end user license agreements granting
9* a non-assignable, non-transferable and non-exclusive license to use the software
10* for it's own data processing purposes under the terms defined in the Agreement.
11*
12* Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part
13* of this source code or associated reference material to any other location for further reproduction
14* or redistribution, and any amendments to this copyright notice, are expressly prohibited.
15*
16* Any reproduction or redistribution for sale or hiring of the Software not in accordance with
17* the terms of the Agreement is a violation of copyright law.
18*/
19
20#pragma once
21
22#include <vector>
23
28
29
30namespace OnixS {
31namespace FmxUST {
32namespace MarketData {
33namespace Bimp {
34
37 {
44
52
60
64 {
65 return fixedStr<20>(21);
66 }
67
71 {
72 return fixedStr<10>(41);
73 }
74
78 {
79 return fixedStr<30>(51);
80 }
81
88
95
102
106 {
107 return fixedStr<2>(95);
108 }
109
113 {
114 return fixedStr<3>(97);
115 }
116
124
131
135 {
136 return ordinary<Integer8>(116);
137 }
138
145
152
159
166
173
177 {
178 return enumeration<Side>(147);
179 }
180
187
191 {
192 return enumeration<Side>(152);
193 }
194
201
205 {
206 return enumeration<Side>(157);
207 }
208
215
219 {
220 return fixedStr<30>(159);
221 }
222
226 {
227 return fixedStr<8>(189);
228 }
229
233 {
234 return fixedStr<8>(197);
235 }
236
240 {
241 return fixedStr<8>(205);
242 }
243
247 {
248 return fixedStr<8>(213);
249 }
250
257
261 {
262 return ordinary<Integer8>(222);
263 }
264
266 StrRef mIC() const
268 {
269 return fixedStr<4>(230);
270 }
271
275 {
276 return fixedStr<6>(234);
277 }
278
285
289 {
290 return ordinary<Integer8>(241);
291 }
292
299
306
310 {
311 return ordinary<Integer8>(265);
312 }
313
317 {
318 return ordinary<Integer8>(273);
319 }
320
327
331 {
332 if (binarySize() < 289 + sizeof(Integer8))
333 return false;
334
335 value = ordinary<Integer8>(289);
336 return true;
337 }
338
340 bool tradeDate(Integer4& value) const
342 {
343 if (binarySize() < 297 + sizeof(Integer4))
344 return false;
345
346 value = ordinary<Integer4>(297);
347 return true;
348 }
349
352
355
357 static void validateSize(MessageSize size)
358 {
359 if (ONIXS_FMXUST_BIMP_CHECK_EXPECT((size < minMessageSize_), false))
360 throwIncorrectSize("InstrumentDirectory", size, minMessageSize_);
361 }
362
364 InstrumentDirectoryMsg(const void* data, MessageSize size)
366 : BinaryMessage(data, size)
367 {
368 }
369 };
370
372 ONIXS_FMXUST_BIMP_API void toStr(std::string&, const InstrumentDirectoryMsg&);
373
375 inline std::string toStr(const InstrumentDirectoryMsg& msg)
376 {
377 std::string str;
378 toStr(str, msg);
379 return str;
380 }
381
382}
383}
384}
385}
#define ONIXS_FMXUST_BIMP_NOTHROW
Definition Compiler.h:108
#define ONIXS_FMXUST_BIMP_CONST_OR_CONSTEXPR
Definition Compiler.h:111
StrRef fixedStr(MessageSize offset) const ONIXS_FMXUST_BIMP_NOTHROW
Enumeration::Enum enumeration(MessageSize offset) const ONIXS_FMXUST_BIMP_NOTHROW
FieldValue ordinary(MessageSize offset) const ONIXS_FMXUST_BIMP_NOTHROW
MessageSize binarySize() const ONIXS_FMXUST_BIMP_NOTHROW
Size of message.
BinaryMessage() ONIXS_FMXUST_BIMP_NOTHROW
Initializes blank instance referencing to nothing.
Provides efficient way of accessing text-based FIX field values.
Definition String.h:46
ONIXS_FMXUST_BIMP_API ONIXS_FMXUST_BIMP_COLDPATH ONIXS_FMXUST_BIMP_NORETURN void throwIncorrectSize(const std::string &messageName, MessageSize receivedSize, MessageSize expectedSize)
Integer2 MessageSize
Aliases message length type.
Definition Defines.h:100
ONIXS_FMXUST_BIMP_API void toStr(std::string &, EventCode::Enum)
Appends string presentation of object.
PriceType::Enum priceType() const ONIXS_FMXUST_BIMP_NOTHROW
Price Type.
Integer8 timestamp() const ONIXS_FMXUST_BIMP_NOTHROW
bool tradeDate(Integer4 &value) const ONIXS_FMXUST_BIMP_NOTHROW
Trade Date (YYYYMMDD)
Integer8 legTwoRatioQty() const ONIXS_FMXUST_BIMP_NOTHROW
The ratio of quantity for the leg two instrument relative to the entire multileg security.
Integer8 maximumDirectedStreamingMultiplier() const ONIXS_FMXUST_BIMP_NOTHROW
Clients who are permitted to submit directed orders are limited in the quantity they can direct.
Side::Enum legThreeSide() const ONIXS_FMXUST_BIMP_NOTHROW
Leg Three Side.
Integer4 legTwoInstrumentLocate() const ONIXS_FMXUST_BIMP_NOTHROW
The instrument locate code for the first leg of a multi-leg instrument.
Authenticity::Enum authenticity() const ONIXS_FMXUST_BIMP_NOTHROW
Authenticity.
Integer8 instrumentId() const ONIXS_FMXUST_BIMP_NOTHROW
StrRef industryIdentifier() const ONIXS_FMXUST_BIMP_NOTHROW
Instrument CUSIP / ISIN if applicable.
StrRef cFIcode() const ONIXS_FMXUST_BIMP_NOTHROW
CFI code.
StrRef enhancedSymbol() const ONIXS_FMXUST_BIMP_NOTHROW
Instrument Symbol (supersedes the Legacy Symbol above)
Integer8 maximumOrderSize() const ONIXS_FMXUST_BIMP_NOTHROW
The maximum quantity that can be used on an order. Applicable to Block Book instruments only.
StrRef description() const ONIXS_FMXUST_BIMP_NOTHROW
Instrument description.
StrRef maturityDate() const ONIXS_FMXUST_BIMP_NOTHROW
Maturity Date (YYYYMMDD)
StrRef interestAccrualDate() const ONIXS_FMXUST_BIMP_NOTHROW
Accrual Date (YYYYMMDD)
Integer8 decimalPriceTick() const ONIXS_FMXUST_BIMP_NOTHROW
The minimum decimal price increment scaled as per a price field.
Integer4 legThreeInstrumentLocate() const ONIXS_FMXUST_BIMP_NOTHROW
The instrument locate code for the third leg of a multi-leg instrument.
Side::Enum legTwoSide() const ONIXS_FMXUST_BIMP_NOTHROW
Leg Two Side.
StrRef settlementDate() const ONIXS_FMXUST_BIMP_NOTHROW
Settlement Date (YYYYMMDD)
Integer8 priceMultiplier() const ONIXS_FMXUST_BIMP_NOTHROW
The amount that price related fields are scaled to allow them to be expressed as integers.
MatchAlgorithm::Enum matchAlgorithm() const ONIXS_FMXUST_BIMP_NOTHROW
Match Algorithm.
InstrumentType::Enum instrumentType() const ONIXS_FMXUST_BIMP_NOTHROW
Instrument Type.
bool minimumIcebergOrderSize(Integer8 &value) const ONIXS_FMXUST_BIMP_NOTHROW
The minimum quantity that can be used on an Iceberg order.
StrRef mIC() const ONIXS_FMXUST_BIMP_NOTHROW
Market Identifier Code (MIC) (ISO 10383).
Integer8 thresholdLIS() const ONIXS_FMXUST_BIMP_NOTHROW
MIFID II Large-in-Scale (LIS) threshold for pre-trade transparency.
Integer8 sizeThresholdSSTI() const ONIXS_FMXUST_BIMP_NOTHROW
Future use.
Integer8 couponRate() const ONIXS_FMXUST_BIMP_NOTHROW
The coupon rate scaled as per a price field.
static void validateSize(MessageSize size)
Check the given size.
static ONIXS_FMXUST_BIMP_CONST_OR_CONSTEXPR MessageSize messageSize_
Total message size.
Integer8 minimumOrderSize() const ONIXS_FMXUST_BIMP_NOTHROW
StrRef symbolSuffix() const ONIXS_FMXUST_BIMP_NOTHROW
Instrument Symbol Suffix.
StrRef legacySymbol() const ONIXS_FMXUST_BIMP_NOTHROW
Legacy Instrument Symbol. Deprecated but provided for backward compatibility.
StrRef instrumentSubType() const ONIXS_FMXUST_BIMP_NOTHROW
Instrument Sub Type.
YesOrNo::Enum illiquidInstrument() const ONIXS_FMXUST_BIMP_NOTHROW
Illiquid Instrument.
Side::Enum legOneSide() const ONIXS_FMXUST_BIMP_NOTHROW
Leg One Side.
StrRef currency() const ONIXS_FMXUST_BIMP_NOTHROW
ISO currency code.
Integer8 fractionalPriceTick() const ONIXS_FMXUST_BIMP_NOTHROW
The minimum fractional price increment, expressed as a decimal and scaled as per a price field.
Integer4 instrumentLocate() const ONIXS_FMXUST_BIMP_NOTHROW
Instrument locate code assigned to the security for the day.
Integer8 roundLotSize() const ONIXS_FMXUST_BIMP_NOTHROW
Incremental order size.
Integer4 legOneInstrumentLocate() const ONIXS_FMXUST_BIMP_NOTHROW
The instrument locate code for the first leg of a multi-leg instrument.
Integer8 legOneRatioQty() const ONIXS_FMXUST_BIMP_NOTHROW
The ratio of quantity for the leg one instrument relative to the entire multileg security.
BlockTierId::Enum blockTierId() const ONIXS_FMXUST_BIMP_NOTHROW
Block tier identifier in increasing order sizes.
StrRef issueDate() const ONIXS_FMXUST_BIMP_NOTHROW
Issue Date (YYYYMMDD)
IndustryIdentifierType::Enum industryIdentifierType() const ONIXS_FMXUST_BIMP_NOTHROW
Type of the content of the Industry Identifier.
static ONIXS_FMXUST_BIMP_CONST_OR_CONSTEXPR MessageSize minMessageSize_
Min message size.
InstrumentDirectoryMsg(const void *data, MessageSize size) ONIXS_FMXUST_BIMP_NOTHROW
Initializes instance over given memory block.