OnixS C++ FMX UST BIMP Market Data Handler 1.4.1
API documentation
Loading...
Searching...
No Matches
InstrumentStats.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
59
66
73
80
84 {
85 if (binarySize() < 41 + 1)
86 return false;
87
89 return true;
90 }
91
95 {
96 if (binarySize() < 42 + sizeof(SignedInteger8))
97 return false;
98
99 value = ordinary<SignedInteger8>(42);
100 return true;
101 }
102
106 {
107 if (binarySize() < 50 + sizeof(SignedInteger8))
108 return false;
109
110 value = ordinary<SignedInteger8>(50);
111 return true;
112 }
113
115 bool settlePriceDate(Integer4& value) const
117 {
118 if (binarySize() < 58 + sizeof(Integer4))
119 return false;
120
121 value = ordinary<Integer4>(58);
122 return true;
123 }
124
128 {
129 if (binarySize() < 62 + sizeof(Integer4))
130 return false;
131
132 value = ordinary<Integer4>(62);
133 return true;
134 }
135
137 bool openInterest(Integer4& value) const
139 {
140 if (binarySize() < 66 + sizeof(Integer4))
141 return false;
142
143 value = ordinary<Integer4>(66);
144 return true;
145 }
146
148 bool openInterestDate(Integer4& value) const
150 {
151 if (binarySize() < 70 + sizeof(Integer4))
152 return false;
153
154 value = ordinary<Integer4>(70);
155 return true;
156 }
157
160
163
165 static void validateSize(MessageSize size)
166 {
167 if (ONIXS_FMXUST_BIMP_CHECK_EXPECT((size < minMessageSize_), false))
168 throwIncorrectSize("InstrumentStats", size, minMessageSize_);
169 }
170
172 InstrumentStatsMsg(const void* data, MessageSize size)
174 : BinaryMessage(data, size)
175 {
176 }
177 };
178
180 ONIXS_FMXUST_BIMP_API void toStr(std::string&, const InstrumentStatsMsg&);
181
183 inline std::string toStr(const InstrumentStatsMsg& msg)
184 {
185 std::string str;
186 toStr(str, msg);
187 return str;
188 }
189
190}
191}
192}
193}
#define ONIXS_FMXUST_BIMP_NOTHROW
Definition Compiler.h:108
#define ONIXS_FMXUST_BIMP_CONST_OR_CONSTEXPR
Definition Compiler.h:111
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.
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.
Integer8 timestamp() const ONIXS_FMXUST_BIMP_NOTHROW
bool settlePriceDate(Integer4 &value) const ONIXS_FMXUST_BIMP_NOTHROW
Date for settlement price (YYYYMMDD). Applicable to Futures.
bool openInterest(Integer4 &value) const ONIXS_FMXUST_BIMP_NOTHROW
Total number of contracts held by participants at the end of the trading day. Applicable to Futures.
bool priorSettlePriceDate(Integer4 &value) const ONIXS_FMXUST_BIMP_NOTHROW
Date for previous settlement price (YYYYMMDD). Applicable to Futures.
SignedInteger8 highPrice() const ONIXS_FMXUST_BIMP_NOTHROW
Highest traded price.
SignedInteger8 lowPrice() const ONIXS_FMXUST_BIMP_NOTHROW
Lowest traded price.
bool settlementPrice(SignedInteger8 &value) const ONIXS_FMXUST_BIMP_NOTHROW
Settlement price. Applicable to Futures.
Integer8 tradeVolume() const ONIXS_FMXUST_BIMP_NOTHROW
Total traded volume.
static void validateSize(MessageSize size)
Check the given size.
static ONIXS_FMXUST_BIMP_CONST_OR_CONSTEXPR MessageSize messageSize_
Total message size.
bool openInterestDate(Integer4 &value) const ONIXS_FMXUST_BIMP_NOTHROW
Date for open interest (YYYYMMDD). Applicable to Futures.
Integer4 instrumentLocate() const ONIXS_FMXUST_BIMP_NOTHROW
Instrument locate code identifying the instrument.
Integer4 openOrders() const ONIXS_FMXUST_BIMP_NOTHROW
Number of open orders.
bool priorSettlePrice(SignedInteger8 &value) const ONIXS_FMXUST_BIMP_NOTHROW
Settlement price in prior trading session. Applicable to Futures.
bool settlePriceType(SettlePriceType::Enum &value) const ONIXS_FMXUST_BIMP_NOTHROW
Settle Price Type. Applicable to Futures.
static ONIXS_FMXUST_BIMP_CONST_OR_CONSTEXPR MessageSize minMessageSize_
Min message size.
InstrumentStatsMsg(const void *data, MessageSize size) ONIXS_FMXUST_BIMP_NOTHROW
Initializes instance over given memory block.