OnixS C++ CBOE CFE Binary Order Entry (BOE) Handler  1.11.0
API documentation
TASRestatement.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 
30 namespace OnixS {
31 namespace CboeCFE {
32 namespace Trading {
33 namespace BOE {
34 
35  /// A TAS Restatement is sent post-settlement time for each TAS execution during the associated business day to communicate the updated Price and Symbol associated with the cleared execution.
36  struct ONIXS_CBOE_CFE_BOE_API TASRestatement : public BinaryMessage
37  {
38  /// The time the event occurred in the CFE Matching Engine (not the time the message was sent).
40  {
41  return ordinary<DateTime>(0);
42  }
43 
44  /// The order being restated
45  StrRef clOrdId() const
46  {
47  return fixedStr<20>(8);
48  }
49 
50  /// EFID that will clear the trade.
52  {
53  return fixedStr<4>(28);
54  }
55 
56  /// Sent to the OCC in the Trade Id field.
57  Binary8 execId() const
58  {
59  return ordinary<Binary8>(28);
60  }
61 
62  /// Side
63  Side::Enum side() const
64  {
65  return enumeration<Side>(40);
66  }
67 
68  /// Limit price of the order.
70  {
71  return ordinary<BinaryPrice>(41);
72  }
73 
74  /// CFE native identifier of the instrument
75  StrRef symbol() const
76  {
77  return fixedStr<8>(49);
78  }
79 
80  /// Maturity date of the instrument
82  {
83  return ordinary<Date>(57);
84  }
85 
86  /// Executed contracts quantity.
88  {
89  return ordinary<Binary4>(61);
90  }
91 
92  /// Price of this fill.
94  {
95  return ordinary<BinaryPrice>(65);
96  }
97 
98  /// Indicates fee associated with an execution.
99  StrRef feeCode() const
100  {
101  return fixedStr<2>(73);
102  }
103 
104  /// Business date of the execution.
105  Date tradeDate() const
106  {
107  return ordinary<Date>(75);
108  }
109 
110  /// Price as sent to clearing after applying post-close conversions to the original LastPx value.
112  {
113  return ordinary<BinaryPrice>(79);
114  }
115 
116  /// Symbol as sent to clearing
118  {
119  return fixedStr<8>(87);
120  }
121 
122  /// Type
124  {
125  return enumeration<MultilegReportingType>(95);
126  }
127 
128  /// Field indicates whether an execution is a spread or a simple instrument execution that is part of a spread trade.
130  {
131  return ordinary<Binary8>(96);
132  }
133 
134  /// Initializes instance over given memory block.
135  TASRestatement(const void* data, MessageSize size)
136  : BinaryMessage(data, size)
137  {
138  }
139  };
140 
141  /// Serializes object into string.
142  ONIXS_CBOE_CFE_BOE_API void toStr(std::string&, const TASRestatement&);
143 
144  /// Serializes object into string.
145  inline std::string toStr(const TASRestatement& msg)
146  {
147  std::string str;
148  toStr(str, msg);
149  return str;
150  }
151 
152 }
153 }
154 }
155 }
Binary8 secondaryExecId() const
Field indicates whether an execution is a spread or a simple instrument execution that is part of a s...
StrRef feeCode() const
Indicates fee associated with an execution.
BinaryPrice clearingPrice() const
Price as sent to clearing after applying post-close conversions to the original LastPx value...
Provides efficient way of accessing text-based field values.
Definition: String.h:45
BinaryPrice lastPx() const
Price of this fill.
Encapsulates services for manipulating little endian encoded messages.
void toStr(std::string &str, const FixedPointDecimal< Mantissa, Exponent > &number)
Serializes fixed-point decimal into a string.
Definition: Decimal.h:156
Date tradeDate() const
Business date of the execution.
Binary2 MessageSize
Aliases message length type.
StrRef clearingFirm() const
EFID that will clear the trade.
StrRef clearingSymbol() const
Symbol as sent to clearing.
BinaryPrice price() const
Limit price of the order.
Binary4 lastShares() const
Executed contracts quantity.
StrRef clOrdId() const
The order being restated.
StrRef symbol() const
CFE native identifier of the instrument.
DateTime transactionTime() const
The time the event occurred in the CFE Matching Engine (not the time the message was sent)...
Date maturityDate() const
Maturity date of the instrument.
Binary8 execId() const
Sent to the OCC in the Trade Id field.
A TAS Restatement is sent post-settlement time for each TAS execution during the associated business ...
TASRestatement(const void *data, MessageSize size)
Initializes instance over given memory block.
MultilegReportingType::Enum multilegReportingType() const
Type.