OnixS ICE iMpact Multicast Price Feed Handler C++ library  8.18.0
API documentation
PreOpenPriceIndicator.h
Go to the documentation of this file.
1 /**
2  * \file
3  * \brief Declare `OnixS::ICE::iMpact::MarketData::PreOpenPriceIndicator` 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 Pre-Open Price Indicator Message.
35 struct ONIXS_ICEMDH_EXPORT PreOpenPriceIndicator
36 {
37  /// Message type constant
38  enum
39  {
40  messageType = 'g'
41  };
42 
43  /// Unique identifier of the market.
45 
46  /// Pre-open price. DealPriceDenominator for the market should be.
48 
49  /// Date time the message was sent. Milliseconds since Jan 1st, 1970,
50  /// 00:00:00 GMT.
52 
53  /// This field will always be set to `Y`. `PreOpenVolume` will be set to
54  /// `0` if there is no volume that will trade during pre-open.
56 
57  /// Indicative volume that would trade at the `PreOpenPrice`.
59 
60  /// Default constructor.
62 
63  /// Initialize from raw message data.
64  PreOpenPriceIndicator(const char* data, std::size_t dataSize);
65 
66  /// Deserialize from raw data.
67  void deserialize(const char* data, std::size_t dataSize);
68 
69  /// Reset all fields to default values.
70  void reset();
71 
72  /// Returns string representation.
73  std::string toString() const;
74 };
75 
76 /// Make it printable using C++ I/O streams.
77 ONIXS_ICEMDH_EXPORT std::ostream& operator<<(std::ostream&, const PreOpenPriceIndicator&);
78 
79 }}}} // namespace OnixS::ICE::iMpact::MarketData
long long Price
Alias for order identifiers type.
Definition: Types.h:54
Price preOpenPrice
Pre-open price. DealPriceDenominator for the market should be.
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 Pre-Open Price Indicator Message.
int preOpenVolume
Indicative volume that would trade at the PreOpenPrice.
MarketId marketId
Unique identifier of the market.
long long DateTime
Represents the number of nanoseconds since Jan 1st, 1970, 00:00:00 GMT.
Definition: Types.h:57