OnixS ICE iMpact Multicast Price Feed Handler C++ library  8.15.1
API documentation
FixingIndicativePrice.h
Go to the documentation of this file.
1 /**
2  * \file
3  * \brief Declare `OnixS::ICE::iMpact::MarketData::FixingIndicativePrice` message structure
4  */
5 /*
6  * Copyright (c) Onix Solutions Limited. All rights reserved.
7  *
8  * This software owned by Onix Solutions Limited and is protected by copyright law
9  * and international copyright treaties.
10  *
11  * Access to and use of the software is governed by the terms of the applicable ONIXS Software
12  * Services Agreement (the Agreement) and Customer end user license agreements granting
13  * a non-assignable, non-transferable and non-exclusive license to use the software
14  * for it's own data processing purposes under the terms defined in the Agreement.
15  *
16  * Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part
17  * of this source code or associated reference material to any other location for further reproduction
18  * or redistribution, and any amendments to this copyright notice, are expressly prohibited.
19  *
20  * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
21  * the terms of the Agreement is a violation of copyright law.
22  */
23 
24 #pragma once
25 
26 #include "../Export.h"
27 #include "../Types.h"
28 
29 #include <iosfwd>
30 #include <string>
31 
32 namespace OnixS { namespace ICE { namespace iMpact { namespace MarketData {
33 
34 /// This class represents the Fixing Indicative Price Message.
35 struct ONIXS_ICEMDH_EXPORT FixingIndicativePrice
36 {
37  /// Message type constant
38  enum { messageType = '0' };
39 
40  /// Unique identifier of the market.
42 
43  /// Currency Code.
44  std::string currency;
45 
46  /// Auctioneers price for the round in specified currency.
48 
49  /// Auctioneers price in gram for the round in specified currency.
50  long long priceInGram;
51 
52  /// Number of decimals to use for `Price`.
54 
55  /// Number of decimals to use for `PriceInGram`.
57 
58  /// Default constructor.
60 
61  /// Initialize from raw message data.
62  FixingIndicativePrice(const char* data, size_t dataSize);
63 
64  /// Deserialize from raw data.
65  void deserialize(const char* data, size_t dataSize);
66 
67  /// Reset all fields to default values.
68  void reset();
69 
70  /// Returns string representation.
71  std::string toString() const;
72 };
73 
74 /// Make it printable using C++ I/O streams.
75 ONIXS_ICEMDH_EXPORT std::ostream& operator<<(std::ostream&, const FixingIndicativePrice&);
76 
77 }}}} // namespace MarketData, iMpact, ICE, OnixS
long long priceInGram
Auctioneers price in gram for the round in specified currency.
long long Price
Alias for order identifiers type.
Definition: Types.h:54
int MarketId
Alias for market identifiers type.
Definition: Types.h:39
std::ostream & operator<<(std::ostream &, const Error &)
Make it printable to formatted C++ I/O streams.
This class represents the Fixing Indicative Price Message.
char numDecimalsPriceInGram
Number of decimals to use for PriceInGram.
MarketId marketId
Unique identifier of the market.
char numDecimalsPrice
Number of decimals to use for Price.
Price price
Auctioneers price for the round in specified currency.