OnixS C++ FMX UST BIMP Market Data Handler  1.2.0
API documentation
OrderReplaced.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 FmxUST {
32 namespace MarketData {
33 namespace Bimp {
34 
35  /// This message is sent when the quantity of an order is increased or if the price of an order is adjusted.
37  {
38  /// Instrument locate code identifying the instrument.
41  {
42  return ordinary<Integer4>(1);
43  }
44 
45  /// Fenics USTreasuries internal tracking/sequence number.
48  {
49  return ordinary<Integer8>(5);
50  }
51 
52  /// Timestamp for this message. Expressed as the number of nanoseconds since Unix Epoch (00:00:00 UTC on
53  /// 1 January 1970).
56  {
57  return ordinary<Integer8>(13);
58  }
59 
60  /// The Fenics USTreasuries generated identifier for this order.
63  {
64  return ordinary<Integer8>(21);
65  }
66 
67  /// The new total current nominal quantity of the order.
70  {
71  return ordinary<Integer8>(29);
72  }
73 
74  /// Current price of the order.
77  {
78  return ordinary<SignedInteger8>(37);
79  }
80 
81  /// A bitmap with each bit carrying a specific meaning.
84  {
85  return ordinary<Integer1>(45);
86  }
87 
88  /// A number identifying a position in the order book stack
89  bool position(Integer2& value) const
91  {
92  if (binarySize() < 46 + sizeof(Integer2))
93  return false;
94 
95  value = ordinary<Integer2>(46);
96  return true;
97  }
98 
99  /// Total message size.
101 
102  /// Min message size.
104 
105  /// Check the given size.
106  static void validateSize(MessageSize size)
107  {
108  if (ONIXS_FMXUST_BIMP_CHECK_EXPECT((size < minMessageSize_), false))
109  throwIncorrectSize("OrderReplaced", size, minMessageSize_);
110  }
111 
112  /// Initializes instance over given memory block.
113  OrderReplacedMsg(const void* data, MessageSize size)
115  : BinaryMessage(data, size)
116  {
117  }
118  };
119 
120  /// Serializes object into string.
121  ONIXS_FMXUST_BIMP_API void toStr(std::string&, const OrderReplacedMsg&);
122 
123  /// Serializes object into string.
124  inline std::string toStr(const OrderReplacedMsg& msg)
125  {
126  std::string str;
127  toStr(str, msg);
128  return str;
129  }
130 
131 }
132 }
133 }
134 }
static void validateSize(MessageSize size)
Check the given size.
Integer8 timestamp() const ONIXS_FMXUST_BIMP_NOTHROW
Definition: OrderReplaced.h:54
Integer2 MessageSize
Aliases message length type.
Definition: Defines.h:100
MessageSize binarySize() const ONIXS_FMXUST_BIMP_NOTHROW
Size of message.
static ONIXS_FMXUST_BIMP_CONST_OR_CONSTEXPR MessageSize minMessageSize_
Min message size.
bool position(Integer2 &value) const ONIXS_FMXUST_BIMP_NOTHROW
A number identifying a position in the order book stack.
Definition: OrderReplaced.h:89
Integer8 trackingNumber() const ONIXS_FMXUST_BIMP_NOTHROW
Fenics USTreasuries internal tracking/sequence number.
Definition: OrderReplaced.h:46
BinaryMessage() ONIXS_FMXUST_BIMP_NOTHROW
Initializes blank instance referencing to nothing.
ONIXS_FMXUST_BIMP_API void toStr(std::string &, EventCode::Enum)
Appends string presentation of object.
Integer1 orderFlags() const ONIXS_FMXUST_BIMP_NOTHROW
A bitmap with each bit carrying a specific meaning.
Definition: OrderReplaced.h:82
ONIXS_FMXUST_BIMP_API ONIXS_FMXUST_BIMP_COLDPATH ONIXS_FMXUST_BIMP_NORETURN void throwIncorrectSize(const std::string &messageName, MessageSize receivedSize, MessageSize expectedSize)
Integer8 orderQuantity() const ONIXS_FMXUST_BIMP_NOTHROW
The new total current nominal quantity of the order.
Definition: OrderReplaced.h:68
static ONIXS_FMXUST_BIMP_CONST_OR_CONSTEXPR MessageSize messageSize_
Total message size.
SignedInteger8 price() const ONIXS_FMXUST_BIMP_NOTHROW
Current price of the order.
Definition: OrderReplaced.h:75
OrderReplacedMsg(const void *data, MessageSize size) ONIXS_FMXUST_BIMP_NOTHROW
Initializes instance over given memory block.
Encapsulates services for manipulating little endian encoded messages.
This message is sent when the quantity of an order is increased or if the price of an order is adjust...
Definition: OrderReplaced.h:36
#define ONIXS_FMXUST_BIMP_CONST_OR_CONSTEXPR
Definition: Compiler.h:111
#define ONIXS_FMXUST_BIMP_NOTHROW
Definition: Compiler.h:108
Integer4 instrumentLocate() const ONIXS_FMXUST_BIMP_NOTHROW
Instrument locate code identifying the instrument.
Definition: OrderReplaced.h:39
Integer8 orderReferenceNumber() const ONIXS_FMXUST_BIMP_NOTHROW
The Fenics USTreasuries generated identifier for this order.
Definition: OrderReplaced.h:61