OnixS ICE iMpact Multicast Price Feed Handler C++ library  8.18.0
API documentation
DeletePriceLevel.h
Go to the documentation of this file.
1 /**
2  * \file
3  * \brief Declare `OnixS::ICE::iMpact::MarketData::DeletePriceLevel` 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 "../Enumerations.h"
27 #include "../Export.h"
28 #include "../Types.h"
29 
30 #include <iosfwd>
31 #include <string>
32 
33 namespace OnixS { namespace ICE { namespace iMpact { namespace MarketData {
34 
35 /// This class represents the Delete Price Level Message.
36 struct ONIXS_ICEMDH_EXPORT DeletePriceLevel
37 {
38  /// Message type constant
39  enum
40  {
41  messageType = 'r'
42  };
43 
44  /// Unique identifier of the market.
46 
47  /// Indicate whether it's bid or offer.
49 
50  /// Position of the price level.
52 
53  /// Timestamp of last update used to derive the price level message. The
54  /// format is nanoseconds since Jan 1st, 1970, 00:00:00 GMT. The
55  /// nanosecond part is currently 000 and might be supported later.
57 
58  /// Default constructor.
60 
61  /// Initialize from raw message data.
62  DeletePriceLevel(const char* data, std::size_t dataSize);
63 
64  /// Deserialize from raw data.
65  void deserialize(const char* data, std::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 DeletePriceLevel&);
76 
77 }}}} // namespace OnixS::ICE::iMpact::MarketData
MarketId marketId
Unique identifier of the market.
char priceLevelPosition
Position of the price level.
This class represents the Delete Price Level Message.
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.
long long DateTime
Represents the number of nanoseconds since Jan 1st, 1970, 00:00:00 GMT.
Definition: Types.h:57
Enum
Trading side constants.
Definition: Enumerations.h:38
Side::Enum side
Indicate whether it&#39;s bid or offer.