OnixS C++ CBOE CFE Binary Order Entry (BOE) Handler  1.11.0
API documentation
OrderExecutionOptionUSFutures.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  /// Is sent for each fill on an order.
36  struct ONIXS_CBOE_CFE_BOE_API OrderExecutionOptionUSFutures : public BinaryMessage
37  {
38  /// The time the event occurred in the CFE Matching Engine.
40  {
41  return ordinary<DateTime>(0);
42  }
43 
44  /// The order which was executed.
45  StrRef clOrdId() const
46  {
47  return fixedStr<20>(8);
48  }
49 
50  /// Sent to the OCC in the Trade Id field.
51  Binary8 execId() const
52  {
53  return ordinary<Binary8>(28);
54  }
55 
56  /// Executed contracts quantity.
58  {
59  return ordinary<Binary4>(36);
60  }
61 
62  /// Price of this fill.
64  {
65  return ordinary<BinaryPrice>(40);
66  }
67 
68  /// Quantity still open for further execution.
70  {
71  return ordinary<Binary4>(48);
72  }
73 
74  /// Indicates whether the trade added or removed liquidity.
76  {
77  return enumeration<BaseLiquidityIndicator>(52);
78  }
79 
80  /// Additional information about the liquidity of an order.
82  {
83  return enumeration<SubLiquidityIndicator>(53);
84  }
85 
86  /// Echoed back from the TPH message.
87  Side::Enum side() const
88  {
89  return enumeration<Side>(54);
90  }
91 
92  /// Echoed back from the TPH message.
93  StrRef symbol() const
94  {
95  return fixedStr<8>(55);
96  }
97 
98  /// Echoed back from the TPH message.
100  {
101  return fixedStr<4>(63);
102  }
103 
104  /// Echoed back from the TPH message.
106  {
107  return fixedStr<16>(67);
108  }
109 
110  /// Indicates fee associated with an execution.
111  StrRef feeCode() const
112  {
113  return fixedStr<2>(83);
114  }
115 
116  /// Business date of the execution.
117  Date tradeDate() const
118  {
119  return ordinary<Date>(85);
120  }
121 
122  /// Size to clear with OCC.
124  {
125  return ordinary<Binary4>(89);
126  }
127 
128  /// Field is provided as a convenience to determine whether an Order Execution message is a preliminary notification representing a pending trade.
130  {
131  return enumeration<PendingStatus>(93);
132  }
133 
134  /// Present on Order Execution, TAS Restatement and Variance Restatement messages representing either Spread orders or Simple orders that are part Spread execution.
136  {
137  return enumeration<MultilegReportingType>(94);
138  }
139 
140  /// Field indicates whether an execution is a spread or a simple instrument execution that is part of a spread trade.
142  {
143  return ordinary<Binary8>(95);
144  }
145 
146  /// Initializes instance over given memory block.
148  : BinaryMessage(data, size)
149  {
150  }
151  };
152 
153  /// Serializes object into string.
154  ONIXS_CBOE_CFE_BOE_API void toStr(std::string&, const OrderExecutionOptionUSFutures&);
155 
156  /// Serializes object into string.
157  inline std::string toStr(const OrderExecutionOptionUSFutures& msg)
158  {
159  std::string str;
160  toStr(str, msg);
161  return str;
162  }
163 
164 }
165 }
166 }
167 }
Side::Enum side() const
Echoed back from the TPH message.
Binary8 secondaryExecId() const
Field indicates whether an execution is a spread or a simple instrument execution that is part of a s...
StrRef clearingFirm() const
Echoed back from the TPH message.
Provides efficient way of accessing text-based field values.
Definition: String.h:45
SubLiquidityIndicator::Enum subLiquidityIndicator() const
Additional information about the liquidity of an order.
Encapsulates services for manipulating little endian encoded messages.
MultilegReportingType::Enum multilegReportingType() const
Present on Order Execution, TAS Restatement and Variance Restatement messages representing either Spr...
void toStr(std::string &str, const FixedPointDecimal< Mantissa, Exponent > &number)
Serializes fixed-point decimal into a string.
Definition: Decimal.h:156
Binary2 MessageSize
Aliases message length type.
StrRef securityDesc() const
Echoed back from the TPH message.
StrRef symbol() const
Echoed back from the TPH message.
PendingStatus::Enum pendingStatus() const
Field is provided as a convenience to determine whether an Order Execution message is a preliminary n...
StrRef feeCode() const
Indicates fee associated with an execution.
OrderExecutionOptionUSFutures(const void *data, MessageSize size)
Initializes instance over given memory block.
Binary4 leavesQty() const
Quantity still open for further execution.
BaseLiquidityIndicator::Enum baseLiquidityIndicator() const
Indicates whether the trade added or removed liquidity.
DateTime transactionTime() const
The time the event occurred in the CFE Matching Engine.
Binary8 execId() const
Sent to the OCC in the Trade Id field.