OnixS C++ Tradeweb Approved Publication Arrangement (APA) Handler  1.2.2.18
API documentation
ExecutionReportForPortfolioCompression.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 
29 
30 
31 namespace OnixS {
32 namespace Tradeweb {
33 namespace MarketData {
34 namespace Apa {
35 
36  /// An execution report for portfolio compression is sent when an execution is made public and the execution represents a portfolio compression.
38  {
39  /// Code assigned by trading venues.
41  {
42  return fixedStr<52>(24);
43  }
44 
45  /// Date and time when the transaction was published by a trading venue or APA.
47  {
48  return ordinary<Integer8>(76);
49  }
50 
51  /// Date and time when the transaction was executed.
53  {
54  return ordinary<Integer8>(84);
55  }
56 
57  /// Currency in which the notional is denominated.
59  {
60  return fixedStr<3>(92);
61  }
62 
63  /// Second Currency in which the notional is denominated, used for Cross Currency Swaps and FX Swaps.
65  {
66  return fixedStr<3>(95);
67  }
68 
69  /// Number of transactions submitted for inclusion in the portfolio compression.
71  {
72  return ordinary<Integer8>(98);
73  }
74 
75  /// Notional amount of submitted transactions.
76  bool submittedNotional1(Decimal& value) const
77  {
78  return Decimal::tryParse(&ordinary<Char>(106), 20, value);
79  }
80 
81  /// Notional amount of submitted transactions used for Cross Currency Swaps and FX Swaps.
82  bool submittedNotional2(Decimal& value) const
83  {
84  return Decimal::tryParse(&ordinary<Char>(126), 20, value);
85  }
86 
87  ///
89  {
90  return ordinary<Integer2>(146);
91  }
92 
93  ///
95  {
96  return ordinary<Integer2>(148);
97  }
98 
99  ///
101  {
102  return ordinary<Integer2>(150);
103  }
104 
105  ///
107  {
108  return ordinary<Integer2>(152);
109  }
110 
111  ///
113  {
114  return ordinary<Integer2>(154);
115  }
116 
117  /// Number of transactions changed or terminated as a result of the portfolio compression.
119  {
120  return ordinary<Integer8>(156);
121  }
122 
123  /// Notional amount of reduced transactions.
124  bool reducedNotional1(Decimal& value) const
125  {
126  return Decimal::tryParse(&ordinary<Char>(164), 20, value);
127  }
128 
129  /// Notional amount of reduced transactions used for Cross Currency Swaps and FX Swaps.
130  bool reducedNotional2(Decimal& value) const
131  {
132  return Decimal::tryParse(&ordinary<Char>(184), 20, value);
133  }
134 
135  /// Number of transactions replacing the terminated transactions.
137  {
138  return ordinary<Integer8>(204);
139  }
140 
141  /// Notional amount of replacement transactions.
142  bool replacementNotional1(Decimal& value) const
143  {
144  return Decimal::tryParse(&ordinary<Char>(212), 20, value);
145  }
146 
147  /// Notional amount of replacement transactions used for Cross Currency Swaps and FX Swaps.
148  bool replacementNotional2(Decimal& value) const
149  {
150  return Decimal::tryParse(&ordinary<Char>(232), 20, value);
151  }
152 
153  ///
155  {
156  return ordinary<Integer2>(252);
157  }
158 
159  ///
161  {
162  return ordinary<Integer2>(254);
163  }
164 
165  ///
167  {
168  return ordinary<Integer2>(256);
169  }
170 
171  ///
173  {
174  return ordinary<Integer2>(258);
175  }
176 
177  ///
179  {
180  return ordinary<Integer2>(260);
181  }
182 
183  /// Currency code.
185  {
186  return fixedStr<4>(262);
187  }
188 
189  /// Currency code.
191  {
192  return fixedStr<4>(266);
193  }
194 
195  /// Currency code.
197  {
198  return fixedStr<4>(270);
199  }
200 
201  /// Currency code.
203  {
204  return fixedStr<4>(274);
205  }
206 
207  /// Currency code.
209  {
210  return fixedStr<4>(278);
211  }
212 
213  /// Currency code.
215  {
216  return fixedStr<4>(282);
217  }
218 
219  ///
220  Integer4 flags() const
221  {
222  return ordinary<Integer4>(286);
223  }
224 
225  /// Code assigned by trading venues.
227  {
228  return fixedStr<52>(290);
229  }
230 
231  /// Initializes instance over given memory block.
233  : BinaryMessage(data, size)
234  {
235  }
236  };
237 
238  /// Serializes object into string.
239  ONIXS_TRADEWEB_APA_API void toStr(std::string&, const ExecutionReportForPortfolioCompressionMsg&);
240 
241  /// Serializes object into string.
242  inline std::string toStr(const ExecutionReportForPortfolioCompressionMsg& msg)
243  {
244  std::string str;
245  toStr(str, msg);
246  return str;
247  }
248 
249 }
250 }
251 }
252 }
Integer8 submittedTransactions() const
Number of transactions submitted for inclusion in the portfolio compression.
ExecutionReportForPortfolioCompressionMsg(const void *data, MessageSize size)
Initializes instance over given memory block.
bool submittedNotional2(Decimal &value) const
Notional amount of submitted transactions used for Cross Currency Swaps and FX Swaps.
bool replacementNotional1(Decimal &value) const
Notional amount of replacement transactions.
Integer8 executionTime() const
Date and time when the transaction was executed.
Integer8 reducedTransactions() const
Number of transactions changed or terminated as a result of the portfolio compression.
bool replacementNotional2(Decimal &value) const
Notional amount of replacement transactions used for Cross Currency Swaps and FX Swaps.
Integer8 replacementTransactions() const
Number of transactions replacing the terminated transactions.
static bool tryParse(const char *buffer, size_t bufferSize, Decimal &)
Encapsulates services for manipulating little endian encoded messages.
StrRef notionalCurrency1() const
Currency in which the notional is denominated.
Integer2 MessageSize
Aliases message length type.
Integer8 publicationTimestamp() const
Date and time when the transaction was published by a trading venue or APA.
Provides efficient way of accessing text-based FIX field values.
Definition: String.h:43
An execution report for portfolio compression is sent when an execution is made public and the execut...
StrRef notionalCurrency2() const
Second Currency in which the notional is denominated, used for Cross Currency Swaps and FX Swaps...
bool reducedNotional2(Decimal &value) const
Notional amount of reduced transactions used for Cross Currency Swaps and FX Swaps.
void toStr(std::string &str, const Decimal &value)
Definition: Decimal.h:251
bool reducedNotional1(Decimal &value) const
Notional amount of reduced transactions.
bool submittedNotional1(Decimal &value) const
Notional amount of submitted transactions.