OnixS BME SENAF Handler C++ library  2.2.0
API documentation
OperationConfirmationNotInvolved.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 <OnixS/Senaf/MarketData/Export.h>
26 
27 #include <iosfwd>
28 #include <string>
29 #include <vector>
30 
31 namespace OnixS { namespace Senaf { namespace MarketData {
32 
33 /// Operation Confirmation. Not Involved.
34 struct ONIXS_BME_SENAF_EXPORT OperationConfirmationNotInvolved
35 {
36  /// Message code.
37  enum { code = 5 };
38 
39  /// Default constructor.
41 
42  /// Message Number.
43  unsigned int messageNumber;
44 
45  /// Market.
46  unsigned char market;
47 
48  /// Instrument Type.
50 
51  /// Reference.
52  unsigned short reference;
53 
54  /// Trade Number.
55  unsigned short tradeNumber;
56 
57  /// Captured Trade ID.
58  unsigned short capturedTradeId;
59 
60  /// Confirmation Type.
62 
63  /// Trade Status.
65 
66  /// Trade Date.
68 
69  /// Operation Time.
71 
72  /// Buy (Sell). Hit direction.
74 
75  /// Cash / Term.
77 
78  /// \name Bonds, Strips, Bills, GGB, Corporate New Issues, Cedulas and FROB Bonds (001, 002, 003, 009, 010, 011 and 012).
79  //@{
80 
81  /// Bank of Spain Operation Code.
83 
84  /// Unitary Volume.
86 
87  /// Hit Volume.
89 
90  /// Price.
92 
93  /// Yield / Rate.
95 
96  /// Value Date.
98 
99  /// Reference name.
101 
102  /// Issuer.
104 
105  /// ISIN Code or Issuer Code.
107 
108  /// Currency.
110 
111  /// Country.
113 
114  /// CCP.
116 
117  /// Yield calculation.
119 
120  //@}
121 
122  /// \name Treasury Repo MEFE (BME Clearing-Iberclear), Treasury Repo CNET (Clearnet-Iberclear),
123  /// Bilateral Treasury Repo (No CCP-IberClear) and any other Repo instrument
124  /// (Instrument Types 016 until 031 are reserved for other possible Repo instruments).
125  //@{
126 
127  /// Delivered volume.
129 
130  /// Repo Rate.
132 
133  /// Purchase Leg Price.
135 
136  /// Term.
138 
139  /// Purchase Leg Value Date.
141 
142  /// Re-purchase Leg Date.
144 
145  /// Delivered reference.
147 
148  //@}
149 
150  /// \name Switches (007)
151  //@{
152 
153  /// Switch Long Name.
155 
156  /// Rate (Switch).
158 
159  /// Leg.
161 
162  //@}
163 
164  /// Returns string representation.
165  std::string toString () const;
166 
167 private:
168  friend class MessageDeserializer;
169  OperationConfirmationNotInvolved(const char* data, size_t dataSize);
170  void deserialize(const char* data, size_t dataSize);
171  void reset();
172 };
173 
174 ONIXS_BME_SENAF_EXPORT std::ostream& operator<<(std::ostream&, const OperationConfirmationNotInvolved&);
175 
176 }}}
Represents date without time component.
Definition: Time.h:310
Optional< unsigned short > bankOfSpainOperationCode
Bank of Spain Operation Code.
Optional< YieldCalculation::Enum > yieldCalculation
Yield calculation.
std::ostream & operator<<(std::ostream &, const Error &)
Make it printable to formatted C++ I/O streams.
Optional< unsigned short > deliveredReference
Delivered reference.