OnixS C++ CBOE CFE Binary Order Entry (BOE) Handler 1.12.0
API documentation
Loading...
Searching...
No Matches
NewComplexInstrumentAccepted.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 CboeCFE {
32namespace Trading {
33namespace BOE {
34
36 struct ONIXS_CBOE_CFE_BOE_API NewComplexInstrumentAccepted : public BinaryMessage
37 {
40 {
41 return ordinary<DateTime>(0);
42 }
43
46 {
47 return fixedStr<20>(8);
48 }
49
51 StrRef symbol() const
52 {
53 return fixedStr<8>(28);
54 }
55
58 {
59 return ordinary<Binary4>(36);
60 }
61
64 {
65 return ordinary<Binary1>(40);
66 }
67
68 struct Leg : public BinaryMessage
69 {
72 {
73 return fixedStr<8>(0);
74 }
75
78 {
79 return ordinary<Binary4>(24);
80 }
81
84 {
85 return fixedStr<1>(28);
86 }
87
89 Leg(const void* data, MessageSize size)
90 : BinaryMessage(data, size)
91 {
92 }
93 };
94
96 Leg legs(MessageSize index) const
97 {
98 if (index >= legCnt())
99 throw std::out_of_range("index");
100 return submessage<Leg>(40 + 1 + 13 * index, 13);
101 }
102
105 : BinaryMessage(data, size)
106 {
107 }
108 };
109
111 ONIXS_CBOE_CFE_BOE_API void toStr(std::string&, const NewComplexInstrumentAccepted&);
112
114 inline std::string toStr(const NewComplexInstrumentAccepted& msg)
115 {
116 std::string str;
117 toStr(str, msg);
118 return str;
119 }
120
121}
122}
123}
124}
const SubMessage submessage(MessageSize offset, MessageSize size) const
BinaryMessage()
Initializes blank instance referencing to nothing.
Provides efficient way of accessing text-based field values.
Definition String.h:46
Binary2 MessageSize
Aliases message length type.
void toStr(std::string &str, const FixedPointDecimal< Mantissa, Exponent > &number)
Serializes fixed-point decimal into a string.
Definition Decimal.h:156
Leg(const void *data, MessageSize size)
Initializes instance over given memory block.
NewComplexInstrumentAccepted(const void *data, MessageSize size)
Initializes instance over given memory block.
Binary4 noOfComplexInstruments() const
The number of complex instruments.