dxFeed Graal CXX API v4.2.0
Loading...
Searching...
No Matches
Underlying.hpp
1// Copyright (c) 2025 Devexperts LLC.
2// SPDX-License-Identifier: MPL-2.0
3
4#pragma once
5
6#include "../../internal/Conf.hpp"
7
9
10#include <cassert>
11#include <cstdint>
12#include <memory>
13#include <string>
14
15#include "../../internal/Common.hpp"
16#include "../EventTypeEnum.hpp"
17#include "../IndexedEventSource.hpp"
18#include "../LastingEvent.hpp"
19#include "../TimeSeriesEvent.hpp"
20#include "../market/MarketEvent.hpp"
21
23
24struct EventMapper;
25
26/**
27 * Underlying event is a snapshot of computed values that are available for an option underlying
28 * symbol based on the option prices on the market.
29 * It represents the most recent information that is available about the corresponding values on
30 * the market at any given moment of time.
31 *
32 * <h3><a name="eventFlagsSection">Event flags, transactions and snapshots</a></h3>
33 *
34 * Some Underlying sources provide a consistent view of the set of known Underlying events.
35 * The corresponding information is carried in @ref ::getEventFlags() "eventFlags" property.
36 * The logic behind this property is detailed in IndexedEvent class documentation.
37 * Multiple event sources for the same symbol are not supported for Underlying, thus
38 * @ref ::getSource() "source" property is always @ref IndexedEventSource::DEFAULT "DEFAULT".
39 *
40 * <p>TimeSeriesEventModel class handles all the snapshot and transaction logic and conveniently represents
41 * a list current of time-series events order by their @ref ::getTime() "time".
42 *
43 * <h3>Publishing Underlying</h3>
44 *
45 * Publishing of Underlying events follows the general rules explained in TimeSeriesEvent class
46 * documentation.
47 *
48 * <h3>Implementation details</h3>
49 *
50 * This event is implemented on top of QDS record `Underlying`.
51 */
52class DXFCPP_EXPORT Underlying final : public MarketEvent, public TimeSeriesEvent, public LastingEvent {
53 friend struct EventMapper;
54
55 static constexpr std::uint64_t SECONDS_SHIFT = 32ULL;
56 static constexpr std::uint64_t MILLISECONDS_SHIFT = 22ULL;
57 static constexpr std::uint64_t MILLISECONDS_MASK = 0x3ffULL;
58
59 /**
60 * EventFlags property has several significant bits that are packed into an integer in the following way:
61 * <br>
62 * <pre><tt>
63 * 31..7 6 5 4 3 2 1 0
64 * +--------+----+----+----+----+----+----+----+
65 * | | SM | | SS | SE | SB | RE | TX |
66 * +--------+----+----+----+----+----+----+----+
67 * </tt></pre>
68 */
69
70 struct Data {
71 std::int32_t eventFlags{};
72 std::int64_t index{};
73 double volatility = math::NaN;
74 double frontVolatility = math::NaN;
75 double backVolatility = math::NaN;
76 double callVolume = math::NaN;
77 double putVolume = math::NaN;
78 double putCallRatio = math::NaN;
79 };
80
81 Data data_{};
82
83 void fillData(void *graalNative) noexcept override;
84 void fillGraalData(void *graalNative) const noexcept override;
85
86 public:
87 /// The alias to a type of shared pointer to the Underlying object
88 using Ptr = std::shared_ptr<Underlying>;
89
90 /// The alias to a type of unique pointer to the Underlying object
91 using Unique = std::unique_ptr<Underlying>;
92
93 /// Type identifier and additional information about the current event class.
94 static const EventTypeEnum &TYPE;
95
96 /**
97 * Maximum allowed sequence value.
98 *
99 * @see ::setSequence()
100 */
101 static constexpr std::uint32_t MAX_SEQUENCE = (1U << 22U) - 1U;
102
103 /**
104 * Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
105 *
106 * @param graalNative The pointer to the dxFeed Graal SDK structure.
107 * @return The object of current type.
108 * @throws InvalidArgumentException
109 */
110 static Ptr fromGraal(void *graalNative);
111
112 /**
113 * Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
114 * Fills the dxFeed Graal SDK structure's fields by the data of the current entity (recursively if necessary).
115 * Returns the pointer to the filled structure.
116 *
117 * @return The pointer to the filled dxFeed Graal SDK structure
118 */
119 void *toGraal() const override;
120
121 /**
122 * Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
123 *
124 * @param graalNative The pointer to the dxFeed Graal SDK structure.
125 * @throws InvalidArgumentException
126 */
127 static void freeGraal(void *graalNative);
128
129 ///
130 void assign(std::shared_ptr<EventType> event) override;
131
132 /// Creates new underlying event with default values.
133 Underlying() noexcept = default;
134
135 /**
136 * Creates new underlying event with the specified event symbol.
137 *
138 * @param eventSymbol The event symbol.
139 */
140 explicit Underlying(std::string eventSymbol) noexcept : MarketEvent(std::move(eventSymbol)) {
141 }
142
143 ///
144 const IndexedEventSource &getSource() const & noexcept override {
146 }
147
148 ///
149 std::int32_t getEventFlags() const noexcept override {
150 return data_.eventFlags;
151 }
152
153 ///
154 EventFlagsMask getEventFlagsMask() const noexcept override {
155 return EventFlagsMask(data_.eventFlags);
156 }
157
158 ///
159 void setEventFlags(std::int32_t eventFlags) noexcept override {
160 data_.eventFlags = eventFlags;
161 }
162
163 ///
164 void setEventFlags(const EventFlagsMask &eventFlags) noexcept override {
165 data_.eventFlags = static_cast<std::int32_t>(eventFlags.getMask());
166 }
167
168 /**
169 * Returns unique per-symbol index of this event.
170 * The index is composed of @ref ::getTime() "time" and @ref ::getSequence() "sequence".
171 * Changing either time or sequence changes event index.
172 *
173 * @return unique index of this event.
174 */
175 std::int64_t getIndex() const noexcept override {
176 return data_.index;
177 }
178
179 /**
180 * Changes unique per-symbol index of this event.
181 * The index is composed of @ref ::getTime() "time" and @ref ::getSequence() "sequence" and
182 * invocation of this method changes time and sequence.
183 * <b>Do not use this method directly.</b>
184 * Change @ref ::setTime() "time" and/or @ref ::setSequence() "sequence".
185 *
186 * @param index the event index.
187 * @see ::getIndex()
188 */
189 void setIndex(std::int64_t index) override {
190 data_.index = index;
191 }
192
193 /**
194 * Returns timestamp of the event in milliseconds.
195 *
196 * @return timestamp of the event in milliseconds
197 */
198 std::int64_t getTime() const noexcept override {
199 return sar(data_.index, SECONDS_SHIFT) * 1000 + andOp(sar(data_.index, MILLISECONDS_SHIFT), MILLISECONDS_MASK);
200 }
201
202 /**
203 * Changes timestamp of the event in milliseconds.
204 *
205 * @param time timestamp of the event in milliseconds.
206 * @see ::getTime()
207 */
208 void setTime(std::int64_t time) noexcept {
209 data_.index = orOp(orOp(sal(static_cast<std::int64_t>(time_util::getSecondsFromTime(time)), SECONDS_SHIFT),
210 sal(static_cast<std::int64_t>(time_util::getMillisFromTime(time)), MILLISECONDS_SHIFT)),
212 }
213
214 /**
215 * Returns the sequence number of this event to distinguish events that have the same @ref ::getTime() "time".
216 * This sequence number does not have to be unique and does not need to be sequential.
217 * Sequence can range from 0 to ::MAX_SEQUENCE.
218 *
219 * @return The sequence number of this event
220 */
221 std::int32_t getSequence() const noexcept {
222 return static_cast<std::int32_t>(andOp(data_.index, MAX_SEQUENCE));
223 }
224
225 /**
226 * Changes @ref ::getSequence() "sequence number" of this event.
227 * @param sequence the sequence.
228 * @see ::getSequence()
229 * @throws InvalidArgumentException
230 */
231 void setSequence(std::int32_t sequence) {
232 assert(sequence >= 0 && static_cast<std::uint32_t>(sequence) <= MAX_SEQUENCE);
233
234 if (sequence < 0 || static_cast<std::uint32_t>(sequence) > MAX_SEQUENCE) {
235 throw InvalidArgumentException("Invalid value for argument `sequence`: " + std::to_string(sequence));
236 }
237
238 data_.index = orOp(andOp(data_.index, ~MAX_SEQUENCE), sequence);
239 }
240
241 /**
242 * Returns 30-day implied volatility for this underlying based on VIX methodology.
243 *
244 * @return 30-day implied volatility for this underlying based on VIX methodology.
245 */
246 double getVolatility() const noexcept {
247 return data_.volatility;
248 }
249
250 /**
251 * Changes 30-day implied volatility for this underlying based on VIX methodology.
252 *
253 * @param volatility 30-day implied volatility for this underlying based on VIX methodology.
254 */
255 void setVolatility(double volatility) noexcept {
256 data_.volatility = volatility;
257 }
258
259 /**
260 * Returns front month implied volatility for this underlying based on VIX methodology.
261 *
262 * @return front month implied volatility for this underlying based on VIX methodology.
263 */
264 double getFrontVolatility() const noexcept {
265 return data_.frontVolatility;
266 }
267
268 /**
269 * Changes front month implied volatility for this underlying based on VIX methodology.
270 *
271 * @param frontVolatility front month implied volatility for this underlying based on VIX methodology.
272 */
273 void setFrontVolatility(double frontVolatility) noexcept {
274 data_.frontVolatility = frontVolatility;
275 }
276
277 /**
278 * Returns back month implied volatility for this underlying based on VIX methodology.
279 *
280 * @return back month implied volatility for this underlying based on VIX methodology.
281 */
282 double getBackVolatility() const noexcept {
283 return data_.backVolatility;
284 }
285
286 /**
287 * Changes back month implied volatility for this underlying based on VIX methodology.
288 *
289 * @param backVolatility back month implied volatility for this underlying based on VIX methodology.
290 */
291 void setBackVolatility(double backVolatility) noexcept {
292 data_.backVolatility = backVolatility;
293 }
294
295 /**
296 * Returns call options traded volume for a day.
297 *
298 * @return call options traded volume for a day.
299 */
300 double getCallVolume() const noexcept {
301 return data_.callVolume;
302 }
303
304 /**
305 * Changes call options traded volume for a day.
306 *
307 * @param callVolume call options traded volume for a day.
308 */
309 void setCallVolume(double callVolume) noexcept {
310 data_.callVolume = callVolume;
311 }
312
313 /**
314 * Returns put options traded volume for a day.
315 *
316 * @return put options traded volume for a day.
317 */
318 double getPutVolume() const noexcept {
319 return data_.putVolume;
320 }
321
322 /**
323 * Changes put options traded volume for a day.
324 *
325 * @param putVolume put options traded volume for a day.
326 */
327 void setPutVolume(double putVolume) noexcept {
328 data_.putVolume = putVolume;
329 }
330
331 /**
332 * Returns options traded volume for a day.
333 *
334 * @return options traded volume for a day.
335 */
336 double getOptionVolume() const noexcept {
337 if (std::isnan(data_.putVolume)) {
338 return data_.callVolume;
339 }
340
341 if (std::isnan(data_.callVolume)) {
342 return data_.putVolume;
343 }
344
345 return data_.putVolume + data_.callVolume;
346 }
347
348 /**
349 * Returns ratio of put options traded volume to call options traded volume for a day.
350 *
351 * @return ratio of put options traded volume to call options traded volume for a day.
352 */
353 double getPutCallRatio() const noexcept {
354 return data_.putCallRatio;
355 }
356
357 /**
358 * Changes ratio of put options traded volume to call options traded volume for a day.
359 *
360 * @param putCallRatio ratio of put options traded volume to call options traded volume for a day.
361 */
362 void setPutCallRatio(double putCallRatio) noexcept {
363 data_.putCallRatio = putCallRatio;
364 }
365
366 /**
367 * Returns a string representation of the current object.
368 *
369 * @return a string representation
370 */
371 std::string toString() const override;
372};
373
375
#define DXFCXX_DISABLE_MSC_WARNINGS_POP()
Definition Conf.hpp:22
#define DXFCPP_CXX20_CONSTEXPR_STRING
Definition Conf.hpp:121
#define DXFCPP_END_NAMESPACE
Definition Conf.hpp:70
#define DXFCPP_BEGIN_NAMESPACE
Definition Conf.hpp:67
#define DXFCXX_DISABLE_GCC_WARNINGS_PUSH(warnings)
Definition Conf.hpp:38
#define DXFCXX_DISABLE_GCC_WARNINGS_POP()
Definition Conf.hpp:40
#define DXFCXX_DISABLE_MSC_WARNINGS_PUSH(warnings)
Definition Conf.hpp:21
#define DXFCPP_TRACE_ISOLATES
Definition Debug.hpp:19
#define DXFCPP_DEBUG
Definition Debug.hpp:15
#define DXFCPP_TRACE_LISTS
Definition Debug.hpp:22
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_builder_with_properties(dxfc_dxendpoint_builder_t builder, const dxfc_dxendpoint_property_t **properties, size_t size)
Sets all supported properties from the provided properties object.
Definition DXEndpoint.cpp:700
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_password(dxfc_dxendpoint_t endpoint, const char *password)
Changes password for this endpoint.
Definition DXEndpoint.cpp:943
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_get_publisher(dxfc_dxendpoint_t endpoint, DXFC_OUT dxfc_dxpublisher_t *publisher)
Definition DXEndpoint.cpp:1133
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_builder_supports_property(dxfc_dxendpoint_builder_t builder, const char *key, DXFC_OUT int *supports)
Checks if a property is supported.
Definition DXEndpoint.cpp:727
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_add_state_change_listener(dxfc_dxendpoint_t endpoint, dxfc_dxendpoint_state_change_listener listener)
Adds listener that is notified about changes in state property.
Definition DXEndpoint.cpp:1079
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_disconnect(dxfc_dxendpoint_t endpoint)
Terminates all remote network connections.
Definition DXEndpoint.cpp:994
#define DXFCPP_EXPORT
Definition api.h:35
void * dxfc_dxendpoint_builder_t
The dxFeed endpoint's builder handle.
Definition api.h:207
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_close_and_await_termination(dxfc_dxendpoint_t endpoint)
Closes this endpoint and wait until all pending data processing tasks are completed.
Definition DXEndpoint.cpp:892
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_await_not_connected(dxfc_dxendpoint_t endpoint)
Waits while this endpoint state becomes NOT_CONNECTED or CLOSED.
Definition DXEndpoint.cpp:1045
dxfc_dxendpoint_state_t
Represents the current state of endpoint.
Definition api.h:149
@ DXFC_DXENDPOINT_STATE_CLOSED
Endpoint was closed.
Definition api.h:169
@ DXFC_DXENDPOINT_STATE_NOT_CONNECTED
Endpoint was created by is not connected to remote endpoints.
Definition api.h:153
@ DXFC_DXENDPOINT_STATE_CONNECTING
The connect function was called to establish connection to remove endpoint, but connection is not act...
Definition api.h:159
@ DXFC_DXENDPOINT_STATE_CONNECTED
The connection to remote endpoint is established.
Definition api.h:164
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_get_instance(void *user_data, DXFC_OUT dxfc_dxendpoint_t *endpoint)
Returns a default application-wide singleton instance of dxFeed endpoint with a FEED role.
Definition DXEndpoint.cpp:785
#define DXFC_OUT
Definition api.h:17
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_get_state(dxfc_dxendpoint_t endpoint, DXFC_OUT dxfc_dxendpoint_state_t *state)
Returns the state of this endpoint.
Definition DXEndpoint.cpp:1062
void * dxfc_dxendpoint_t
The dxFeed endpoint handle.
Definition api.h:198
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_builder_with_property(dxfc_dxendpoint_builder_t builder, const char *key, const char *value)
Sets the specified property.
Definition DXEndpoint.cpp:683
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_builder_free(dxfc_dxendpoint_builder_t builder)
Removes a builder from the registry.
Definition DXEndpoint.cpp:773
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_connect(dxfc_dxendpoint_t endpoint, const char *address)
Connects to the specified remote address.
Definition DXEndpoint.cpp:960
dxfc_error_code_t
List of error codes.
Definition api.h:49
@ DXFC_EC_ERROR
The error returned if the current operation cannot be completed.
Definition api.h:60
@ DXFC_EC_SUCCESS
OK.
Definition api.h:53
@ DXFC_EC_G_ERR
dxFeed Graal Native API error.
Definition api.h:57
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_remove_state_change_listener(dxfc_dxendpoint_t endpoint, dxfc_dxendpoint_state_change_listener listener)
Removes listener that is notified about changes in state property.
Definition DXEndpoint.cpp:1105
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_builder_with_name(dxfc_dxendpoint_builder_t builder, const char *name)
Changes name that is used to distinguish multiple endpoints in the same process (GraalVM Isolate) in ...
Definition DXEndpoint.cpp:667
DXFCPP_EXPORT dxfc_error_code_t dxfc_system_set_property(const char *key, const char *value)
Sets the system property indicated by the specified key.
Definition System.cpp:68
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_builder_build(dxfc_dxendpoint_builder_t builder, void *user_data, DXFC_OUT dxfc_dxendpoint_t *endpoint)
Builds the new dxFeed endpoint instance.
Definition DXEndpoint.cpp:744
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_get_feed(dxfc_dxendpoint_t endpoint, DXFC_OUT dxfc_dxfeed_t *feed)
Definition DXEndpoint.cpp:1128
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_await_processed(dxfc_dxendpoint_t endpoint)
Waits until this endpoint stops processing data (becomes quiescent).
Definition DXEndpoint.cpp:1028
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_close(dxfc_dxendpoint_t endpoint)
Closes this endpoint.
Definition DXEndpoint.cpp:875
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_new_builder(DXFC_OUT dxfc_dxendpoint_builder_t *builder)
Creates new dxFeed endpoint's builder instance.
Definition DXEndpoint.cpp:634
void(* dxfc_dxendpoint_state_change_listener)(dxfc_dxendpoint_state_t old_state, dxfc_dxendpoint_state_t new_state, void *user_data)
The endpoint current state change listener.
Definition api.h:178
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_reconnect(dxfc_dxendpoint_t endpoint)
Terminates all established network connections and initiates connecting again with the same address.
Definition DXEndpoint.cpp:977
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_get_role(dxfc_dxendpoint_t endpoint, DXFC_OUT dxfc_dxendpoint_role_t *role)
Returns the role of this endpoint.
Definition DXEndpoint.cpp:909
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_user(dxfc_dxendpoint_t endpoint, const char *user)
Changes username for this endpoint.
Definition DXEndpoint.cpp:926
DXFCPP_EXPORT dxfc_error_code_t dxfc_system_get_property(const char *key, DXFC_OUT char *buffer, size_t buffer_size)
Gets the system property indicated by the specified key.
dxfc_dxendpoint_role_t
Represents the role of endpoint that was specified during its creation.
Definition api.h:89
@ DXFC_DXENDPOINT_ROLE_PUBLISHER
PUBLISHER endpoint connects to the remote publisher hub (also known as multiplexor) or creates a publ...
Definition api.h:127
@ DXFC_DXENDPOINT_ROLE_STREAM_FEED
STREAM_FEED endpoint is similar to DXFC_DXENDPOINT_ROLE_FEED and also connects to the remote data fee...
Definition api.h:116
@ DXFC_DXENDPOINT_ROLE_FEED
FEED endpoint connects to the remote data feed provider and is optimized for real-time or delayed dat...
Definition api.h:99
@ DXFC_DXENDPOINT_ROLE_STREAM_PUBLISHER
STREAM_PUBLISHER endpoint is similar to DXFC_DXENDPOINT_ROLE_PUBLISHER and also connects to the remot...
Definition api.h:136
@ DXFC_DXENDPOINT_ROLE_LOCAL_HUB
LOCAL_HUB endpoint is a local hub without ability to establish network connections.
Definition api.h:143
@ DXFC_DXENDPOINT_ROLE_ON_DEMAND_FEED
ON_DEMAND_FEED endpoint is similar to DXFC_DXENDPOINT_ROLE_FEED, but it is designed to be used with d...
Definition api.h:107
void * dxfc_dxpublisher_t
The dxFeed publisher handle.
Definition api.h:217
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_create(void *user_data, DXFC_OUT dxfc_dxendpoint_t *endpoint)
Creates an endpoint with FEED role.
Definition DXEndpoint.cpp:830
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_get_instance2(dxfc_dxendpoint_role_t role, void *user_data, DXFC_OUT dxfc_dxendpoint_t *endpoint)
Returns a default application-wide singleton instance of DXEndpoint for a specific role.
Definition DXEndpoint.cpp:807
void * dxfc_dxfeed_t
The dxFeed handle.
Definition api.h:212
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_builder_with_role(dxfc_dxendpoint_builder_t builder, dxfc_dxendpoint_role_t role)
Sets role for the created dxFeed endpoint.
Definition DXEndpoint.cpp:650
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_create2(dxfc_dxendpoint_role_t role, void *user_data, DXFC_OUT dxfc_dxendpoint_t *endpoint)
Creates an endpoint with a specified role.
Definition DXEndpoint.cpp:852
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_free(dxfc_dxendpoint_t endpoint)
Removes the dxFeed endpoint from the registry.
Definition DXEndpoint.cpp:1138
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_disconnect_and_clear(dxfc_dxendpoint_t endpoint)
Terminates all remote network connections and clears stored data.
Definition DXEndpoint.cpp:1011
AnalyticOrder & withTradePrice(double tradePrice) noexcept
Changes trade price.
Definition AnalyticOrder.hpp:346
AnalyticOrder & withIcebergHiddenSize(double icebergHiddenSize) noexcept
Changes iceberg hidden size and returns the current analytic order.
Definition AnalyticOrder.hpp:474
AnalyticOrder & withTime(std::int64_t time) noexcept
Changes time of this analytic order and returns it.
Definition AnalyticOrder.hpp:204
double getIcebergHiddenSize() const noexcept
Returns iceberg hidden size of this analytic order.
Definition AnalyticOrder.hpp:455
AnalyticOrder() noexcept=default
Creates new analytic order event with default values.
void * toGraal() const override
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition AnalyticOrder.cpp:77
AnalyticOrder & withOrderSide(const Side &side) noexcept
Changes side of this analytic order.
Definition AnalyticOrder.hpp:390
AnalyticOrder & withTradeId(std::int64_t tradeId) noexcept
Changes trade ID.
Definition AnalyticOrder.hpp:335
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition AnalyticOrder.cpp:89
static Ptr fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition AnalyticOrder.cpp:50
AnalyticOrder & withAction(const OrderAction &action) noexcept
Changes action of this analytic order and returns it.
Definition AnalyticOrder.hpp:248
AnalyticOrder & withTimeNanos(std::int64_t timeNanos) noexcept
Changes time of this analytic order and returns it.
Definition AnalyticOrder.hpp:238
AnalyticOrder & withMarketMaker(std::string marketMaker) noexcept
Changes market maker or other aggregate identifier of this analytic order.
Definition AnalyticOrder.hpp:414
const IcebergType & getIcebergType() const &noexcept
Returns iceberg type of this analytic order.
Definition AnalyticOrder.hpp:516
AnalyticOrder & withActionTime(std::int64_t actionTime) noexcept
Changes time of the last action and returns current analytic order.
Definition AnalyticOrder.hpp:258
AnalyticOrder & withTimeNanoPart(std::int32_t timeNanoPart) noexcept
Changes microseconds and nanoseconds time part of this analytic order.
Definition AnalyticOrder.hpp:215
AnalyticOrder & withExchangeCode(std::int16_t exchangeCode) noexcept
Changes exchange code of this analytic order.
Definition AnalyticOrder.hpp:379
AnalyticOrder & withScope(const Scope &scope) noexcept
Changes scope of this analytic order.
Definition AnalyticOrder.hpp:401
void setIcebergPeakSize(double icebergPeakSize) noexcept
Changes iceberg peak size of this analytic order.
Definition AnalyticOrder.hpp:434
void assign(std::shared_ptr< EventType > event) override
Replaces the contents of the event.
Definition AnalyticOrder.cpp:108
double getIcebergPeakSize() const noexcept
Returns iceberg peak size of this analytic order.
Definition AnalyticOrder.hpp:425
AnalyticOrder & withPrice(double price) noexcept
Changes price of this analytic order.
Definition AnalyticOrder.hpp:291
void setIcebergExecutedSize(double icebergExecutedSize) noexcept
Changes iceberg executed size of this analytic order.
Definition AnalyticOrder.hpp:495
std::string toString() const override
Returns a string representation of the current object.
Definition AnalyticOrder.cpp:69
void setIcebergHiddenSize(double icebergHiddenSize) noexcept
Changes iceberg hidden size of this analytic order.
Definition AnalyticOrder.hpp:464
static const EventTypeEnum & TYPE
Type identifier and additional information about the current event class.
Definition AnalyticOrder.hpp:85
AnalyticOrder & withCount(std::int64_t count) noexcept
Changes number of individual orders in this aggregate order.
Definition AnalyticOrder.hpp:324
AnalyticOrder(std::string eventSymbol) noexcept
Creates new analytic order event with the specified event symbol.
Definition AnalyticOrder.hpp:124
AnalyticOrder & withIndex(std::int64_t index) noexcept
Changes unique per-symbol index of this analytic order and returns it.
Definition AnalyticOrder.hpp:193
AnalyticOrder & withEventSymbol(const std::string &eventSymbol) noexcept override
Changes event's symbol and returns the current analytic order.
Definition AnalyticOrder.hpp:135
AnalyticOrder & withAuxOrderId(std::int64_t auxOrderId) noexcept
Changes auxiliary order ID.
Definition AnalyticOrder.hpp:280
AnalyticOrder & withIcebergPeakSize(double icebergPeakSize) noexcept
Changes iceberg peak size and returns the current analytic order.
Definition AnalyticOrder.hpp:444
AnalyticOrder & withSequence(std::int32_t sequence) noexcept
Changes sequence number of this analytic order.
Definition AnalyticOrder.hpp:227
AnalyticOrder & withTradeSize(double tradeSize) noexcept
Changes trade size.
Definition AnalyticOrder.hpp:357
double getIcebergExecutedSize() const noexcept
Returns iceberg executed size of this analytic order.
Definition AnalyticOrder.hpp:486
AnalyticOrder & withEventFlags(std::int32_t eventFlags) noexcept
Changes transactional event flags and returns the current analytic order.
Definition AnalyticOrder.hpp:170
AnalyticOrder & withOrderId(std::int64_t orderId) noexcept
Changes order ID.
Definition AnalyticOrder.hpp:269
AnalyticOrder & withEventTime(std::int64_t eventTime) noexcept
Changes event's creation time and returns the current analytic order.
Definition AnalyticOrder.hpp:146
AnalyticOrder & withEventFlags(const EventFlagsMask &eventFlags) noexcept
Changes transactional event flags and returns the current analytic order.
Definition AnalyticOrder.hpp:181
AnalyticOrder & withIcebergExecutedSize(double icebergExecutedSize) noexcept
Changes iceberg executed size and returns the current analytic order.
Definition AnalyticOrder.hpp:505
AnalyticOrder & withExchangeCode(char exchangeCode) noexcept
Changes exchange code of this analytic order.
Definition AnalyticOrder.hpp:368
void setIcebergType(const IcebergType &icebergType) noexcept
Changes iceberg type of this analytic order.
Definition AnalyticOrder.hpp:525
AnalyticOrder & withSize(double size) noexcept
Changes size of this analytic order.
Definition AnalyticOrder.hpp:302
AnalyticOrder & withIcebergType(const IcebergType &icebergType) noexcept
Changes iceberg type and returns the current analytic order.
Definition AnalyticOrder.hpp:536
AnalyticOrder & withExecutedSize(double executedSize) noexcept
Changes executed size of this analytic order.
Definition AnalyticOrder.hpp:313
AnalyticOrder & withSource(const OrderSource &source) noexcept
Changes event's source and returns the current analytic order.
Definition AnalyticOrder.hpp:159
void setSequence(std::int32_t sequence)
Changes sequence number of this event.
Definition Candle.cpp:250
Candle & withBidVolume(double bidVolume) noexcept
Changes bid volume in this candle.
Definition Candle.cpp:372
double getImpVolatility() const noexcept
Returns the implied volatility.
Definition Candle.cpp:392
void setClose(double close) noexcept
Changes the last (close) price of this candle.
Definition Candle.cpp:326
Candle & withSequence(std::int32_t sequence) noexcept
Changes sequence number of this event.
Definition Candle.cpp:260
void setTime(std::int64_t time) noexcept
Changes timestamp of the event in milliseconds.
Definition Candle.cpp:234
void setBidVolume(double bidVolume) noexcept
Changes bid volume in this candle.
Definition Candle.cpp:368
void setEventFlags(std::int32_t eventFlags) noexcept override
Changes transactional event flags.
Definition Candle.cpp:192
static Ptr fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition Candle.cpp:86
void assign(std::shared_ptr< EventType > event) override
Replaces the contents of the event.
Definition Candle.cpp:117
void setImpVolatility(double impVolatility)
Changes the implied volatility.
Definition Candle.cpp:396
Candle & withOpen(double open) noexcept
Changes the first (open) price of this candle.
Definition Candle.cpp:288
Candle & withHigh(double high) noexcept
Changes the maximal (high) price of this candle.
Definition Candle.cpp:302
Candle & withCount(std::int64_t count) noexcept
Changes total number of original trade (or quote) events in this candle.
Definition Candle.cpp:274
Candle & withAskVolume(double askVolume) noexcept
Changes ask volume in this candle.
Definition Candle.cpp:386
double getAskVolume() const noexcept
Returns ask volume in this candle.
Definition Candle.cpp:378
std::int64_t getTime() const noexcept override
Returns timestamp of the event in milliseconds.
Definition Candle.cpp:228
Candle(CandleSymbol eventSymbol) noexcept
Creates new candle with the specified candle event symbol.
Definition Candle.cpp:143
void setEventSymbol(const CandleSymbol &eventSymbol) noexcept override
Changes event symbol that identifies this event type in subscription.
Definition Candle.cpp:158
void setOpen(double open) noexcept
Changes the first (open) price of this candle.
Definition Candle.cpp:284
Candle() noexcept=default
Creates new candle with default values.
const std::optional< CandleSymbol > & getEventSymbolOpt() const &noexcept override
Returns symbol of this event.
Definition Candle.cpp:154
double getOpen() const noexcept
Returns the first (open) price of this candle.
Definition Candle.cpp:280
void setEventTime(std::int64_t eventTime) noexcept override
Changes event creation time.
Definition Candle.cpp:172
std::int64_t getCount() const noexcept
Returns total number of original trade (or quote) events in this candle.
Definition Candle.cpp:266
void setAskVolume(double askVolume) noexcept
Changes ask volume in this candle.
Definition Candle.cpp:382
double getBidVolume() const noexcept
Returns bid volume in this candle.
Definition Candle.cpp:364
Candle & withEventFlags(const EventFlagsMask &eventFlags) noexcept
Changes transactional event flags and returns the current candle.
Definition Candle.cpp:206
const CandleSymbol & getEventSymbol() const &noexcept override
Returns symbol of this event.
Definition Candle.cpp:146
double getHigh() const noexcept
Returns the maximal (high) price of this candle.
Definition Candle.cpp:294
Candle & withClose(double close) noexcept
Changes the last (close) price of this candle.
Definition Candle.cpp:330
void setHigh(double high) noexcept
Changes the maximal (high) price of this candle.
Definition Candle.cpp:298
double getVWAP() const noexcept
Returns volume-weighted average price (VWAP) in this candle.
Definition Candle.cpp:350
Candle & withVolume(double volume) noexcept
Changes total volume in this candle.
Definition Candle.cpp:344
Candle & withEventFlags(std::int32_t eventFlags) noexcept
Changes transactional event flags and returns the current candle.
Definition Candle.cpp:196
void * toGraal() const override
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition Candle.cpp:105
double getLow() const noexcept
Returns the minimal (low) price of this candle.
Definition Candle.cpp:308
Candle & withIndex(std::int64_t index) noexcept
Changes unique per-symbol index of this event.
Definition Candle.cpp:216
Candle & withLow(double low) noexcept
Changes the minimal (low) price of this candle.
Definition Candle.cpp:316
Candle & withEventSymbol(const CandleSymbol &eventSymbol) noexcept
Changes event's symbol and returns the current candle.
Definition Candle.cpp:162
EventFlagsMask getEventFlagsMask() const noexcept override
Returns transactional event flags.
Definition Candle.cpp:188
double getVolume() const noexcept
Returns total volume in this candle.
Definition Candle.cpp:336
std::int64_t getIndex() const noexcept override
Returns unique per-symbol index of this event.
Definition Candle.cpp:224
void setLow(double low) noexcept
Changes the minimal (low) price of this candle.
Definition Candle.cpp:312
void setEventFlags(const EventFlagsMask &eventFlags) noexcept override
Changes transactional event flags.
Definition Candle.cpp:202
void setIndex(std::int64_t index) override
Changes unique per-symbol index of this event.
Definition Candle.cpp:212
Candle & withImpVolatility(double impVolatility) noexcept
Changes implied volatility.
Definition Candle.cpp:400
void setOpenInterest(double openInterest) noexcept
Changes the open interest.
Definition Candle.cpp:410
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition Candle.cpp:124
Candle & withOpenInterest(double openInterest) noexcept
Changes the open interest.
Definition Candle.cpp:414
std::int64_t getEventTime() const noexcept override
Returns time when event was created or zero when time is not available.
Definition Candle.cpp:168
Candle & withTime(std::int64_t time) noexcept
Changes timestamp of the event in milliseconds.
Definition Candle.cpp:240
Candle & withVWAP(double vwap) noexcept
Changes volume-weighted average price (VWAP) in this candle.
Definition Candle.cpp:358
static constexpr std::uint32_t MAX_SEQUENCE
Maximum allowed sequence value.
Definition Candle.hpp:120
void setVWAP(double vwap) noexcept
Changes volume-weighted average price (VWAP) in this candle.
Definition Candle.cpp:354
static const EventTypeEnum & TYPE
Type identifier and additional information about the current event class.
Definition Candle.hpp:113
double getClose() const noexcept
Returns the last (close) price of this candle.
Definition Candle.cpp:322
Candle & withEventTime(std::int64_t eventTime) noexcept
Changes event's creation time and returns the current candle.
Definition Candle.cpp:176
std::int32_t getSequence() const noexcept
Returns the sequence number of this event to distinguish events that have the same time.
Definition Candle.cpp:246
std::int32_t getEventFlags() const noexcept override
Returns transactional event flags.
Definition Candle.cpp:184
void setCount(std::int64_t count) noexcept
Changes total number of original trade (or quote) events in this candle.
Definition Candle.cpp:270
double getOpenInterest() const noexcept
Returns the open interest.
Definition Candle.cpp:406
std::string toString() const override
Returns a string representation of the current object.
Definition Candle.cpp:422
void setVolume(double volume) noexcept
Changes total volume in this candle.
Definition Candle.cpp:340
Builder class for DXEndpoint that supports additional configuration properties.
Definition DXEndpoint.hpp:860
bool supportsProperty(const std::string &key)
Checks if a property is supported.
Definition DXEndpoint.cpp:323
std::shared_ptr< DXEndpoint > build()
Builds DXEndpoint instance.
Definition DXEndpoint.cpp:332
std::shared_ptr< Builder > withProperty(const std::string &key, const std::string &value)
Sets the specified property.
Definition DXEndpoint.cpp:308
std::shared_ptr< Builder > withName(const std::string &name)
Changes name that is used to distinguish multiple endpoints in the same process (GraalVM Isolate) in ...
Definition DXEndpoint.cpp:362
std::shared_ptr< Builder > withProperties(Properties &&properties)
Sets all supported properties from the provided properties object.
Definition DXEndpoint.hpp:949
~Builder() noexcept override
Releases the GraalVM handle.
Definition DXEndpoint.cpp:352
std::shared_ptr< Builder > withRole(Role role)
Sets role for the created DXEndpoint.
Definition DXEndpoint.cpp:296
Subscription for a set of symbols and event types.
Definition DXFeedSubscription.hpp:40
void removeEventListener(std::size_t listenerId)
Removes listener for events.
Definition DXFeedSubscription.cpp:254
bool containsEventType(const EventTypeEnum &eventType) override
Returns true if this subscription contains the corresponding event type.
Definition DXFeedSubscription.cpp:181
std::size_t addChangeListener(std::shared_ptr< ObservableSubscriptionChangeListener > listener) override
Adds subscription change listener.
Definition DXFeedSubscription.cpp:264
bool isClosed() override
Returns true if this subscription is closed.
Definition DXFeedSubscription.cpp:159
void addSymbols(SymbolIt begin, SymbolIt end) const
Adds the specified collection (using iterators) of symbols to the set of subscribed symbols.
Definition DXFeedSubscription.hpp:431
static std::shared_ptr< DXFeedSubscription > create(std::initializer_list< EventTypeEnum > eventTypes)
Creates detached subscription for the given collection of event types.
Definition DXFeedSubscription.cpp:134
void close() const
Closes this subscription and makes it permanently detached.
Definition DXFeedSubscription.cpp:168
void setEventsBatchLimit(std::int32_t eventsBatchLimit) const
Sets maximum number of events in the single notification of OnEventHandler.
Definition DXFeedSubscription.cpp:300
std::unordered_set< EventTypeEnum > getEventTypes() override
Returns a set of subscribed event types.
Definition DXFeedSubscription.cpp:177
void setSymbols(std::initializer_list< SymbolWrapper > collection) const
Changes the set of subscribed symbols so that it contains just the symbols from the specified collect...
Definition DXFeedSubscription.cpp:212
void removeSymbols(SymbolIt begin, SymbolIt end) const
Removes the specified collection (using iterators) of symbols from the set of subscribed symbols.
Definition DXFeedSubscription.hpp:503
void removeSymbols(SymbolsCollection &&collection) const
Removes the specified collection of symbols from the set of subscribed symbols.
Definition DXFeedSubscription.hpp:529
static const std::int32_t MAX_BATCH_LIMIT
The maximum events' batch limit for single notification in OnEventHandler.
Definition DXFeedSubscription.hpp:56
void removeSymbols(const SymbolWrapper &symbolWrapper) const
Removes the specified symbol from the set of subscribed symbols.
Definition DXFeedSubscription.cpp:231
static std::shared_ptr< DXFeedSubscription > create(EventTypeIt begin, EventTypeIt end)
Creates detached subscription for the given collection of event types.
Definition DXFeedSubscription.hpp:212
void attach(std::shared_ptr< DXFeed > feed)
Attaches subscription to the specified feed.
Definition DXFeedSubscription.cpp:143
TimePeriod getAggregationPeriod() const
Returns the aggregation period for data for this subscription instance.
Definition DXFeedSubscription.cpp:246
std::string toString() const override
Returns a string representation of the current object.
Definition DXFeedSubscription.cpp:101
static const std::int32_t OPTIMAL_BATCH_LIMIT
The optimal events' batch limit for single notification in OnEventHandler.
Definition DXFeedSubscription.hpp:51
std::size_t addEventListener(std::function< void(const std::vector< std::shared_ptr< EventT > > &)> &&listener)
Adds typed listener for events.
Definition DXFeedSubscription.hpp:676
void addSymbols(std::initializer_list< SymbolWrapper > collection) const
Adds the specified collection (initializer list) of symbols to the set of subscribed symbols.
Definition DXFeedSubscription.cpp:227
void setSymbols(SymbolsCollection &&collection) const
Changes the set of subscribed symbols so that it contains just the symbols from the specified collect...
Definition DXFeedSubscription.hpp:382
void setAggregationPeriod(const TimePeriod &aggregationPeriod) const
Sets the aggregation period for data.
Definition DXFeedSubscription.cpp:250
static std::shared_ptr< DXFeedSubscription > create(const EventTypeEnum &eventType)
Creates detached subscription for a single event type.
Definition DXFeedSubscription.cpp:120
std::int32_t getEventsBatchLimit() const
Definition DXFeedSubscription.cpp:296
std::size_t addEventListener(EventListener &&listener)
Adds listener for events.
Definition DXFeedSubscription.hpp:621
static std::shared_ptr< DXFeedSubscription > create(EventTypesCollection &&eventTypes)
Creates detached subscription for the given collection of event types.
Definition DXFeedSubscription.hpp:258
OnEventHandler & onEvent()
Returns a reference to an incoming events' handler (delegate), to which listeners can be added and re...
Definition DXFeedSubscription.cpp:258
void addSymbols(const SymbolsCollection &collection) const
Adds the specified collection of symbols to the set of subscribed symbols.
Definition DXFeedSubscription.hpp:457
void setSymbols(SymbolIt begin, SymbolIt end) const
Changes the set of subscribed symbols so that it contains just the symbols from the specified collect...
Definition DXFeedSubscription.hpp:356
void setAggregationPeriod(std::int64_t aggregationPeriod) const
Sets the aggregation period for data.
Definition DXFeedSubscription.hpp:585
void removeChangeListener(std::size_t changeListenerId) override
Removes subscription change listener by id.
Definition DXFeedSubscription.cpp:280
std::vector< SymbolWrapper > getDecoratedSymbols() const
Returns a set of decorated symbols (depending on the actual implementation of subscription).
Definition DXFeedSubscription.cpp:203
void clear() const
Clears the set of subscribed symbols.
Definition DXFeedSubscription.cpp:185
void detach(std::shared_ptr< DXFeed > feed)
Detaches subscription from the specified feed.
Definition DXFeedSubscription.cpp:151
void addSymbols(const SymbolWrapper &symbolWrapper) const
Adds the specified symbol to the set of subscribed symbols.
Definition DXFeedSubscription.cpp:216
void setAggregationPeriod(std::chrono::milliseconds aggregationPeriod) const
Sets the aggregation period for data.
Definition DXFeedSubscription.hpp:572
void removeSymbols(std::initializer_list< SymbolWrapper > collection) const
Removes the specified collection (initializer list) of symbols from the set of subscribed symbols.
Definition DXFeedSubscription.cpp:242
std::vector< SymbolWrapper > getSymbols() const
Returns a set of subscribed symbols (depending on the actual implementation of subscription).
Definition DXFeedSubscription.cpp:194
Extends DXFeedSubscription to conveniently subscribe to time-series of events for a set of symbols an...
Definition DXFeedSubscription.hpp:787
std::int64_t getFromTime()
Returns the earliest timestamp from which time-series of events shall be received.
Definition DXFeedSubscription.cpp:329
void setFromTime(std::chrono::milliseconds fromTime)
Sets the earliest timestamp from which time-series of events shall be received.
Definition DXFeedSubscription.cpp:340
std::string toString() const override
Returns a string representation of the current object.
Definition DXFeedSubscription.cpp:325
void setFromTime(std::int64_t fromTime)
Sets the earliest timestamp from which time-series of events shall be received.
Definition DXFeedSubscription.cpp:333
static std::shared_ptr< DXFeedTimeSeriesSubscription > create(std::initializer_list< EventTypeEnum > eventTypes)
Creates detached subscription for the given collection of event types.
bool in(std::uint32_t eventFlagsMask) const noexcept
Determines if the given flag is in the mask.
Definition EventFlag.hpp:199
std::uint32_t getFlag() const noexcept
Definition EventFlag.hpp:188
static bool isSnapshotSnip(const std::shared_ptr< Event > &event)
Determines if the given event is marked as a snapshot snip.
Definition EventFlag.hpp:349
friend std::uint32_t operator|(std::uint32_t eventFlag1, const EventFlag &eventFlag2) noexcept
Performs a bit or operation with two event flags.
Definition EventFlag.hpp:294
friend std::uint32_t operator&(const EventFlag &eventFlag1, std::uint32_t eventFlag2) noexcept
Performs a bit and operation with two event flags.
Definition EventFlag.hpp:305
friend std::int32_t operator|(const EventFlag &eventFlag1, std::int32_t eventFlag2) noexcept
Performs a bit or operation with two event flags.
Definition EventFlag.hpp:239
EventFlag() noexcept
Creates the invalid event flag.
Definition EventFlag.hpp:182
static bool isSnapshotBegin(const std::shared_ptr< Event > &event)
Determines if the given event marks the beginning of a snapshot.
Definition EventFlag.hpp:327
friend std::int32_t operator&(const EventFlag &eventFlag1, std::int32_t eventFlag2) noexcept
Performs a bit and operation with two event flags.
Definition EventFlag.hpp:261
static const EventFlag SNAPSHOT_SNIP
0x10 - A bitmask to get snapshot snip indicator from the value of eventFlags property.
Definition EventFlag.hpp:12
friend std::int32_t operator|(std::int32_t eventFlag1, const EventFlag &eventFlag2) noexcept
Performs a bit or operation with two event flags.
Definition EventFlag.hpp:250
static bool isPending(const std::shared_ptr< Event > &event)
Determines if the given event is in a pending state.
Definition EventFlag.hpp:370
friend std::int32_t operator&(std::int32_t eventFlag1, const EventFlag &eventFlag2) noexcept
Performs a bit and operation with two event flags.
Definition EventFlag.hpp:272
static const EventFlag SNAPSHOT_MODE
0x40 - A bitmask to set snapshot mode indicator into the value of eventFlags property.
Definition EventFlag.hpp:14
bool in(const EventFlagsMask &eventFlagsMask) const noexcept
Determines if the given flag is in the mask.
Definition EventFlag.hpp:212
static const EventFlag TX_PENDING
0x01 - A bitmask to get transaction pending indicator from the value of eventFlags property.
Definition EventFlag.hpp:8
friend std::uint32_t operator|(const EventFlag &eventFlag1, std::uint32_t eventFlag2) noexcept
Performs a bit or operation with two event flags.
Definition EventFlag.hpp:283
static bool isRemove(const std::shared_ptr< Event > &event)
Determines if the given event is marked for removal.
Definition EventFlag.hpp:381
static bool isSnapshotEndOrSnip(const std::shared_ptr< Event > &event)
Determines if the given event marks the end of a snapshot or a snapshot snip.
Definition EventFlag.hpp:359
static const EventFlag SNAPSHOT_BEGIN
0x04 - A bitmask to get snapshot begin indicator from the value of eventFlags property.
Definition EventFlag.hpp:10
friend std::uint32_t operator&(std::uint32_t eventFlag1, const EventFlag &eventFlag2) noexcept
Performs a bit and operation with two event flags.
Definition EventFlag.hpp:316
static const EventFlag REMOVE_SYMBOL
0x80 - For internal use.
Definition EventFlag.hpp:15
static const EventFlag SNAPSHOT_END
0x08 - A bitmask to get snapshot end indicator from the value of eventFlags property.
Definition EventFlag.hpp:11
static const EventFlag REMOVE_EVENT
0x02 - A bitmask to get removal indicator from the value of eventFlags property.
Definition EventFlag.hpp:9
static bool isSnapshotEnd(const std::shared_ptr< Event > &event)
Determines if the given event marks the end of a snapshot.
Definition EventFlag.hpp:338
constexpr std::uint32_t getMask() const noexcept
Returns an integer representation of event mask.
Definition EventFlag.hpp:445
bool contains(const EventFlag &flag) const noexcept
Definition EventFlag.hpp:453
friend EventFlagsMask operator|(const EventFlagsMask &eventFlagsMask, const EventFlag &eventFlag) noexcept
Performs a bit or operation with an event flags' mask and an event flag.
Definition EventFlag.hpp:464
EventFlagsMask() noexcept
Creates an empty event flags mask.
Definition EventFlag.hpp:405
EventFlagsMask(std::initializer_list< EventFlag > eventFlags) noexcept
Creates event flags mask by initializer list with flags.
Definition EventFlag.hpp:436
EventFlagsMask(MaskType mask) noexcept
Create event flags mask by integer value.
Definition EventFlag.hpp:415
EventFlagsMask(EventFlagIt begin, EventFlagIt end) noexcept
Creates event flags mask by iterators of container with flags.
Definition EventFlag.hpp:425
friend EventFlagsMask operator&(const EventFlagsMask &eventFlagsMask, const EventFlag &eventFlag) noexcept
Performs a bit and operation with an event flags' mask and an event flag.
Definition EventFlag.hpp:475
The enumeration type that provides additional information about the dxFeed Graal C++-API event type.
Definition EventTypeEnum.hpp:21
bool isTimeSeries() const noexcept
Definition EventTypeEnum.hpp:174
const std::string & getClassName() const &noexcept
Definition EventTypeEnum.hpp:117
bool isLasting() const noexcept
Definition EventTypeEnum.hpp:160
bool isOnlyIndexed() const noexcept
Definition EventTypeEnum.hpp:181
bool isIndexed() const noexcept
Definition EventTypeEnum.hpp:167
std::uint32_t getId() const noexcept
Definition EventTypeEnum.hpp:103
bool isMarket() const noexcept
Definition EventTypeEnum.hpp:188
const std::string & getName() const &noexcept
Definition EventTypeEnum.hpp:110
void setSequence(std::int32_t sequence)
Changes sequence number of this event.
Definition Greeks.hpp:228
const IndexedEventSource & getSource() const &noexcept override
Returns the source of this event.
Definition Greeks.hpp:141
double getTheta() const noexcept
Returns option theta.
Definition Greeks.hpp:315
void setVolatility(double volatility) noexcept
Changes Black-Scholes implied volatility of the option.
Definition Greeks.hpp:270
std::int64_t getIndex() const noexcept override
Returns unique per-symbol index of this event.
Definition Greeks.hpp:172
void setIndex(std::int64_t index) override
Changes unique per-symbol index of this event.
Definition Greeks.hpp:186
static Ptr fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition Greeks.cpp:66
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition Greeks.cpp:108
double getPrice() const noexcept
Returns option market price.
Definition Greeks.hpp:243
double getGamma() const noexcept
Returns option gamma.
Definition Greeks.hpp:297
double getRho() const noexcept
Returns option rho.
Definition Greeks.hpp:333
void setVega(double vega) noexcept
Changes option vega.
Definition Greeks.hpp:360
double getVega() const noexcept
Returns option vega.
Definition Greeks.hpp:351
std::int32_t getSequence() const noexcept
Returns the sequence number of this event to distinguish events that have the same time.
Definition Greeks.hpp:218
std::string toString() const override
Returns a string representation of the current object.
Definition Greeks.cpp:85
static const EventTypeEnum & TYPE
Type identifier and additional information about the current event class.
Definition Greeks.hpp:91
Greeks() noexcept=default
Creates new greeks event with default values.
void setEventFlags(std::int32_t eventFlags) noexcept override
Changes transactional event flags.
Definition Greeks.hpp:156
EventFlagsMask getEventFlagsMask() const noexcept override
Returns transactional event flags.
Definition Greeks.hpp:151
std::int32_t getEventFlags() const noexcept override
Returns transactional event flags.
Definition Greeks.hpp:146
void setGamma(double gamma) noexcept
Changes option gamma.
Definition Greeks.hpp:306
double getDelta() const noexcept
Return option delta.
Definition Greeks.hpp:279
void setRho(double rho) noexcept
Changes option rho.
Definition Greeks.hpp:342
void setEventFlags(const EventFlagsMask &eventFlags) noexcept override
Changes transactional event flags.
Definition Greeks.hpp:161
void * toGraal() const override
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition Greeks.cpp:96
std::int64_t getTime() const noexcept override
Returns timestamp of the event in milliseconds.
Definition Greeks.hpp:195
void setTime(std::int64_t time) noexcept
Changes timestamp of the event in milliseconds.
Definition Greeks.hpp:205
double getVolatility() const noexcept
Returns Black-Scholes implied volatility of the option.
Definition Greeks.hpp:261
Greeks(std::string eventSymbol) noexcept
Creates new greeks event with the specified event symbol.
Definition Greeks.hpp:137
void setTheta(double theta) noexcept
Changes option theta.
Definition Greeks.hpp:324
void setPrice(double price) noexcept
Changes option market price.
Definition Greeks.hpp:252
static constexpr std::uint32_t MAX_SEQUENCE
Maximum allowed sequence value.
Definition Greeks.hpp:107
void assign(std::shared_ptr< EventType > event) override
Replaces the contents of the event.
Definition Greeks.cpp:127
void setDelta(double delta) noexcept
Changes option delta.
Definition Greeks.hpp:288
Source identifier for IndexedEvent.
Definition IndexedEventSource.hpp:22
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition IndexedEventSource.cpp:21
const std::string & name() const noexcept
Returns the string representation of the object.
Definition IndexedEventSource.hpp:90
static IndexedEventSource fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition IndexedEventSource.cpp:32
static const IndexedEventSource DEFAULT
The default source with zero identifier for all events that do not support multiple sources.
Definition IndexedEventSource.hpp:13
std::int32_t id() const noexcept
Returns the source identifier.
Definition IndexedEventSource.hpp:81
virtual void * toGraal() const
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition IndexedEventSource.cpp:15
std::string toString() const
Returns the string representation of the object.
Definition IndexedEventSource.hpp:99
IndexedEventSource(std::int32_t id, std::string name) noexcept
Creates the new IndexedEvent's source by id and name.
Definition IndexedEventSource.hpp:73
Represents subscription to a specific source of indexed events.
Definition IndexedEventSubscriptionSymbol.hpp:40
virtual const std::unique_ptr< SymbolWrapper > & getEventSymbol() const
Returns the wrapped event symbol (CandleSymbol, WildcardSymbol, etc).
Definition IndexedEventSubscriptionSymbol.cpp:16
virtual void * toGraal() const
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition IndexedEventSubscriptionSymbol.cpp:24
static IndexedEventSubscriptionSymbol fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure ...
Definition IndexedEventSubscriptionSymbol.cpp:46
virtual const std::unique_ptr< IndexedEventSource > & getSource() const
Returns indexed event source.
Definition IndexedEventSubscriptionSymbol.cpp:20
IndexedEventSubscriptionSymbol(const SymbolWrapper &eventSymbol, const IndexedEventSource &source)
Creates indexed event subscription symbol with a specified event symbol and source.
Definition IndexedEventSubscriptionSymbol.cpp:10
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition IndexedEventSubscriptionSymbol.cpp:33
virtual std::string toString() const
Returns string representation of this indexed event subscription symbol.
Definition IndexedEventSubscriptionSymbol.cpp:61
Message event with application-specific attachment.
Definition Message.hpp:33
void setEventSymbol(const std::string &eventSymbol) noexcept override
Changes symbol of this event.
Definition Message.hpp:131
void setEventTime(std::int64_t eventTime) noexcept override
Changes event creation time.
Definition Message.hpp:154
Message & withEventTime(std::int64_t eventTime) noexcept
Changes event's creation time and returns the current message.
Definition Message.hpp:165
const std::string & getEventSymbol() const &noexcept override
Returns symbol of this event.
Definition Message.hpp:109
Message(std::string eventSymbol, std::string attachment) noexcept
Creates new message with the specified event symbol and attachment.
Definition Message.hpp:100
Message & withAttachment(std::string attachment) noexcept
Changes attachment.
Definition Message.hpp:209
std::int64_t getEventTime() const noexcept override
Returns time when event was created or zero when time is not available.
Definition Message.hpp:149
void * toGraal() const override
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition Message.cpp:85
const std::optional< std::string > & getAttachmentOpt() const &noexcept
Returns attachment of this event.
Definition Message.hpp:189
static const EventTypeEnum & TYPE
Type identifier and additional information about the current event class.
Definition Message.hpp:52
std::string toString() const override
Returns a string representation of the current object.
Definition Message.cpp:124
Message(std::string eventSymbol) noexcept
Creates new message with the specified event symbol.
Definition Message.hpp:92
static Ptr fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition Message.cpp:66
const std::string & getAttachment() const &
Returns attachment.
Definition Message.hpp:176
Message & withEventSymbol(const std::string &eventSymbol) noexcept
Changes event's symbol and returns the current message.
Definition Message.hpp:142
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition Message.cpp:97
Message() noexcept=default
Creates new message with default values.
const std::optional< std::string > & getEventSymbolOpt() const &noexcept override
Returns symbol of this event.
Definition Message.hpp:122
void assign(std::shared_ptr< EventType > event) override
Replaces the contents of the event.
Definition Message.cpp:116
void setAttachment(std::string attachment)
Changes attachment.
Definition Message.hpp:198
void setUnderlyingPrice(double underlyingPrice) noexcept
Changes underlying price at the time of this option sale event.
Definition OptionSale.hpp:782
bool isValidTick() const noexcept
Returns whether this event represents a valid intraday tick.
Definition OptionSale.hpp:707
void setAggressorSide(const Side &side) noexcept
Changes aggressor side of this option sale event.
Definition OptionSale.hpp:658
bool isSpreadLeg() const noexcept
Returns whether this event represents a spread leg.
Definition OptionSale.hpp:667
std::string getExchangeCodeString() const noexcept
Returns exchange code of this option sale as UTF8 string.
Definition OptionSale.hpp:456
void setEventFlags(std::int32_t eventFlags) noexcept override
Changes transactional event flags.
Definition OptionSale.hpp:190
std::int64_t getTimeSequence() const noexcept
Returns time and sequence of this event packaged into single long value.
Definition OptionSale.hpp:269
static constexpr std::uint32_t MAX_SEQUENCE
Maximum allowed sequence value.
Definition OptionSale.hpp:103
void setIndex(std::int64_t index) override
Changes unique per-symbol index of this event.
Definition OptionSale.hpp:245
OptionSale & withTimeSequence(std::int64_t timeSequence) noexcept
Changes time and sequence of this event.
Definition OptionSale.hpp:292
void setTimeSequence(std::int64_t timeSequence) noexcept
Changes time and sequence of this event.
Definition OptionSale.hpp:281
const IndexedEventSource & getSource() const &noexcept override
Returns the source of this event.
Definition OptionSale.hpp:175
std::int64_t getTime() const noexcept
Returns time of this event.
Definition OptionSale.hpp:304
OptionSale & withTimeNanoPart(std::int32_t timeNanoPart) noexcept
Changes microseconds and nanoseconds time part of this option sale.
Definition OptionSale.hpp:385
void setExchangeCode(std::int16_t exchangeCode) noexcept
Changes exchange code of this option sale event.
Definition OptionSale.hpp:487
void setPrice(double price) noexcept
Changes price of this option sale event.
Definition OptionSale.hpp:518
bool isExtendedTradingHours() const noexcept
Returns whether this event represents an extended trading hours sale.
Definition OptionSale.hpp:686
void setVolatility(double volatility) noexcept
Changes Black-Scholes implied volatility of the option at the time of this option sale event.
Definition OptionSale.hpp:800
std::string toString() const override
Returns a string representation of the current object.
Definition OptionSale.cpp:114
double getPrice() const noexcept
Returns price of this option sale event.
Definition OptionSale.hpp:509
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition OptionSale.cpp:140
const std::string & getOptionSymbol() const &noexcept
Returns option symbol of this event.
Definition OptionSale.hpp:828
OptionSale & withEventSymbol(const std::string &eventSymbol) noexcept
Changes event's symbol and returns the current option sale.
Definition OptionSale.hpp:153
void setOptionSymbol(std::string optionSymbol) noexcept
Changes option symbol of this event.
Definition OptionSale.hpp:850
OptionSale & withEventFlags(std::int32_t eventFlags) noexcept
Changes transactional event flags and returns the current option sale.
Definition OptionSale.hpp:201
std::int16_t getExchangeCode() const noexcept
Returns exchange code of this option sale event.
Definition OptionSale.hpp:447
bool isNew() const noexcept
Returns whether this is a new event (not cancellation or correction).
Definition OptionSale.hpp:745
void setTradeThroughExempt(char tradeThroughExempt)
Changes TradeThroughExempt flag of this option sale event.
Definition OptionSale.hpp:638
void assign(std::shared_ptr< EventType > event) override
Replaces the contents of the event.
Definition OptionSale.cpp:156
OptionSale & withPrice(double price) noexcept
Changes price of this option sale event.
Definition OptionSale.hpp:529
static const EventTypeEnum & TYPE
Type identifier and additional information about the current event class.
Definition OptionSale.hpp:96
void setExchangeCode(char exchangeCode) noexcept
Changes exchange code of this option sale event.
Definition OptionSale.cpp:110
void * toGraal() const override
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition OptionSale.cpp:128
const std::optional< std::string > & getExchangeSaleConditionsOpt() const &noexcept
Returns sale conditions provided for this event by data feed.
Definition OptionSale.hpp:610
std::int64_t getTimeNanos() const noexcept
Returns time of the original event in nanoseconds.
Definition OptionSale.hpp:341
void setSize(double size) noexcept
Changes size of this option sale event.
Definition OptionSale.hpp:549
void setSpreadLeg(bool spreadLeg) noexcept
Changes whether this event represents a spread leg.
Definition OptionSale.hpp:676
static Ptr fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition OptionSale.cpp:91
OptionSale & withTime(std::int64_t time) noexcept
Changes timestamp of the event in milliseconds.
Definition OptionSale.hpp:329
std::int32_t getTimeNanoPart() const noexcept
Returns microseconds and nanoseconds time part of the original event.
Definition OptionSale.hpp:396
void setExtendedTradingHours(bool extendedTradingHours) noexcept
Changes whether this event represents an extended trading hours sale.
Definition OptionSale.hpp:695
OptionSale & withSequence(std::int32_t sequence) noexcept
Changes sequence number of this event.
Definition OptionSale.hpp:436
void setAskPrice(double askPrice) noexcept
Changes price of this time and sale event.the current ask price on the market when this option sale e...
Definition OptionSale.hpp:586
std::int64_t getIndex() const noexcept override
Returns unique per-symbol index of this event.
Definition OptionSale.hpp:231
void setValidTick(bool validTick) noexcept
Changes whether this event represents a valid intraday tick.
Definition OptionSale.hpp:716
const TimeAndSaleType & getType() const &noexcept
Returns type of this option sale event.
Definition OptionSale.hpp:726
void setExchangeSaleConditions(std::string exchangeSaleConditions) noexcept
Changes sale conditions provided for this event by data feed.
Definition OptionSale.hpp:619
std::int32_t getSequence() const noexcept
Returns the sequence number of this event to distinguish events that have the same time.
Definition OptionSale.hpp:407
void setBidPrice(double bidPrice) noexcept
Changes the current bid price on the market when this option sale event had occurred.
Definition OptionSale.hpp:567
void setType(const TimeAndSaleType &type) noexcept
Changes type of this option sale event.
Definition OptionSale.hpp:735
OptionSale & withEventTime(std::int64_t eventTime) noexcept
Changes event's creation time and returns the current option sale.
Definition OptionSale.hpp:166
const std::optional< std::string > & getOptionSymbolOpt() const &noexcept
Returns option symbol of this event.
Definition OptionSale.hpp:841
OptionSale & withTimeNanos(std::int64_t timeNanos) noexcept
Changes time of this option sale and returns it.
Definition OptionSale.hpp:363
void setSequence(std::int32_t sequence)
Changes sequence number of this event.
Definition OptionSale.hpp:418
void setDelta(double delta) noexcept
Changes option delta at the time of this option sale event.
Definition OptionSale.hpp:819
OptionSale(std::string eventSymbol) noexcept
Creates new option sale event with the specified event symbol.
Definition OptionSale.hpp:142
OptionSale & withExchangeCode(std::int16_t exchangeCode) noexcept
Changes exchange code of this option sale event.
Definition OptionSale.hpp:498
bool isCancel() const noexcept
Returns whether this is a cancellation of a previous event.
Definition OptionSale.hpp:764
void setTimeNanos(std::int64_t timeNanos) noexcept
Changes time of the original event.
Definition OptionSale.hpp:351
OptionSale & withExchangeCode(char exchangeCode) noexcept
Changes exchange code of this option sale event.
Definition OptionSale.hpp:476
const Side & getAggressorSide() const &noexcept
Returns aggressor side of this option sale event.
Definition OptionSale.hpp:649
std::int32_t getEventFlags() const noexcept override
Returns transactional event flags.
Definition OptionSale.hpp:180
OptionSale() noexcept=default
Creates new option sale event with default values.
const std::string & getExchangeSaleConditions() const &noexcept
Returns sale conditions provided for this event by data feed.
Definition OptionSale.hpp:596
char getTradeThroughExempt() const noexcept
Returns TradeThroughExempt flag of this option sale event.
Definition OptionSale.hpp:628
double getAskPrice() const noexcept
Returns the current ask price on the market when this option sale event had occurred.
Definition OptionSale.hpp:576
EventFlagsMask getEventFlagsMask() const noexcept override
Returns transactional event flags.
Definition OptionSale.hpp:185
double getVolatility() const noexcept
Returns Black-Scholes implied volatility of the option at the time of this option sale event.
Definition OptionSale.hpp:791
void setTime(std::int64_t time) noexcept
Changes time of this event.
Definition OptionSale.hpp:315
bool isCorrection() const noexcept
Returns whether this is a correction of a previous event.
Definition OptionSale.hpp:755
double getBidPrice() const noexcept
Returns the current bid price on the market when this option sale event had occurred.
Definition OptionSale.hpp:558
OptionSale & withEventFlags(const EventFlagsMask &eventFlags) noexcept
Changes transactional event flags and returns the current option sale.
Definition OptionSale.hpp:218
double getSize() const noexcept
Returns size of this option sale event.
Definition OptionSale.hpp:540
void setTimeNanoPart(std::int32_t timeNanoPart) noexcept
Changes microseconds and nanoseconds time part of the original event.
Definition OptionSale.hpp:374
void setEventFlags(const EventFlagsMask &eventFlags) noexcept override
Changes transactional event flags.
Definition OptionSale.hpp:208
double getUnderlyingPrice() const noexcept
Returns underlying price at the time of this option sale event.
Definition OptionSale.hpp:773
OptionSale & withIndex(std::int64_t index) noexcept
Changes unique per-symbol index of this event.
Definition OptionSale.hpp:256
double getDelta() const noexcept
Return option delta at the time of this option sale event.
Definition OptionSale.hpp:810
Base class for common fields of Order, AnalyticOrder and SpreadOrder events.
Definition OrderBase.hpp:79
void setPrice(double price) noexcept
Changes price of this order.
Definition OrderBase.hpp:469
const OrderSource & getSource() const &noexcept override
Returns source of this event.
Definition OrderBase.hpp:189
void setTimeNanoPart(std::int32_t timeNanoPart) noexcept
Changes microseconds and nanoseconds time part of this order.
Definition OrderBase.hpp:311
void setSize(double size) noexcept
Changes size of this order.
Definition OrderBase.hpp:487
double getTradePrice() const noexcept
Returns trade price for events containing trade-related action.
Definition OrderBase.hpp:561
double getSize() const noexcept
Returns size of this order.
Definition OrderBase.hpp:478
void setIndex(std::int64_t index) override
Changes unique per-symbol index of this order.
Definition OrderBase.hpp:243
std::int64_t getTime() const noexcept
Returns time of this order.
Definition OrderBase.hpp:288
std::int64_t getIndex() const noexcept override
Returns unique per-symbol index of this order.
Definition OrderBase.hpp:256
std::int64_t getAuxOrderId() const noexcept
Returns auxiliary order ID if available:
Definition OrderBase.hpp:442
void setExchangeCode(char exchangeCode)
Changes exchange code of this order.
Definition OrderBase.hpp:621
void setSource(const OrderSource &source) noexcept
Changes source of this event.
Definition OrderBase.hpp:205
void assign(std::shared_ptr< EventType > event) override
Replaces the contents of the event.
Definition OrderBase.cpp:70
std::int64_t getTimeNanos() const noexcept
Returns time of this order in nanoseconds.
Definition OrderBase.hpp:357
void setOrderSide(const Side &side) noexcept
Changes side of this order.
Definition OrderBase.hpp:651
void setSequence(std::int32_t sequence)
Changes sequence number of this order.
Definition OrderBase.hpp:343
OrderBase(std::string eventSymbol) noexcept
Creates new order event with the specified event symbol.
Definition OrderBase.hpp:180
double getExecutedSize() const noexcept
Returns executed size of this order.
Definition OrderBase.hpp:505
void setOrderId(std::int64_t orderId) noexcept
Changes order ID.
Definition OrderBase.hpp:426
void setTradeId(std::int64_t tradeId) noexcept
Changes trade ID.
Definition OrderBase.hpp:551
void setTime(std::int64_t time) noexcept
Changes time of this order.
Definition OrderBase.hpp:299
std::string baseFieldsToString() const
Returns string representation of this order event's fields.
Definition OrderBase.cpp:78
void setTimeSequence(std::int64_t timeSequence) noexcept
Changes time and sequence of this order.
Definition OrderBase.hpp:278
const Side & getOrderSide() const &noexcept
Returns side of this order.
Definition OrderBase.hpp:642
void setScope(const Scope &scope) noexcept
Changes scope of this order.
Definition OrderBase.hpp:669
void setEventFlags(const EventFlagsMask &eventFlags) noexcept override
Changes transactional event flags.
Definition OrderBase.hpp:231
void setExecutedSize(double executedSize) noexcept
Changes executed size of this order.
Definition OrderBase.hpp:514
void setTimeNanos(std::int64_t timeNanos) noexcept
Changes time of this order.
Definition OrderBase.hpp:367
std::int64_t getCount() const noexcept
Returns number of individual orders in this aggregate order.
Definition OrderBase.hpp:523
std::int16_t getExchangeCode() const noexcept
Returns exchange code of this order.
Definition OrderBase.hpp:598
std::string getExchangeCodeString() const noexcept
Returns exchange code of this order as UTF8 string.
Definition OrderBase.hpp:608
double getTradeSize() const noexcept
Returns trade size for events containing trade-related action.
Definition OrderBase.hpp:580
std::int32_t getSequence() const noexcept
Returns sequence number of this order to distinguish orders that have the same time.
Definition OrderBase.hpp:331
void setExchangeCode(std::int16_t exchangeCode) noexcept
Changes exchange code of this order.
Definition OrderBase.hpp:633
std::int64_t getOrderId() const noexcept
Returns order ID if available.
Definition OrderBase.hpp:417
std::int32_t getTimeNanoPart() const noexcept
Returns microseconds and nanoseconds time part of this order.
Definition OrderBase.hpp:320
void setActionTime(std::int64_t actionTime) noexcept
Changes time of the last action.
Definition OrderBase.hpp:406
const OrderAction & getAction() const &noexcept
Returns order action if available, otherwise - OrderAction::UNDEFINED.
Definition OrderBase.hpp:378
void setTradeSize(double tradeSize) noexcept
Changes trade size.
Definition OrderBase.hpp:589
EventFlagsMask getEventFlagsMask() const noexcept override
Returns transactional event flags.
Definition OrderBase.hpp:221
double getPrice() const noexcept
Returns price of this order.
Definition OrderBase.hpp:460
static constexpr std::uint32_t MAX_SEQUENCE
Maximum allowed sequence value.
Definition OrderBase.hpp:167
void setEventFlags(std::int32_t eventFlags) noexcept override
Changes transactional event flags.
Definition OrderBase.hpp:226
void setAuxOrderId(std::int64_t auxOrderId) noexcept
Changes auxiliary order ID.
Definition OrderBase.hpp:451
const Scope & getScope() const &noexcept
Returns scope of this order.
Definition OrderBase.hpp:660
void setAction(const OrderAction &action) noexcept
Changes action of this order.
Definition OrderBase.hpp:387
std::int32_t getEventFlags() const noexcept override
Returns transactional event flags.
Definition OrderBase.hpp:216
void setCount(std::int64_t count) noexcept
Changes number of individual orders in this aggregate order.
Definition OrderBase.hpp:532
OrderBase() noexcept=default
Creates new order event with default values.
std::int64_t getActionTime() const noexcept
Returns time of the last action.
Definition OrderBase.hpp:397
bool hasSize() const noexcept
Returns true if this order has some size (sizeAsDouble is neither 0 nor NaN).
Definition OrderBase.hpp:496
std::int64_t getTradeId() const noexcept
Returns trade (order execution) ID for events containing trade-related action.
Definition OrderBase.hpp:542
std::int64_t getTimeSequence() const noexcept
Returns time and sequence of this order packaged into single long value.
Definition OrderBase.hpp:266
void setTradePrice(double tradePrice) noexcept
Changes trade price.
Definition OrderBase.hpp:570
static const OrderSource GLBX
CME Globex.
Definition OrderSource.hpp:307
static const OrderSource smfe
Small Exchange.
Definition OrderSource.hpp:371
static const OrderSource bzx
Bats BZX Exchange.
Definition OrderSource.hpp:235
static const OrderSource DEX
Direct-Edge EDGX Exchange.
Definition OrderSource.hpp:202
static const OrderSource NTV
NASDAQ Total View.
Definition OrderSource.hpp:138
static const OrderSource AGGREGATE_ASK
Ask side of an aggregate order book (futures depth and NASDAQ Level II).
Definition OrderSource.hpp:123
static const OrderSource & valueOf(std::int32_t sourceId)
Returns order source for the specified source identifier.
Definition OrderSource.cpp:178
static const OrderSource ESPD
NASDAQ eSpeed.
Definition OrderSource.hpp:162
static const OrderSource CFE
CBOE Futures Exchange.
Definition OrderSource.hpp:347
static const OrderSource ntv
NASDAQ Total View.
Definition OrderSource.hpp:146
static const OrderSource ICE
Intercontinental Exchange.
Definition OrderSource.hpp:178
static const OrderSource BZX
Bats BZX Exchange.
Definition OrderSource.hpp:227
static const OrderSource C2OX
CBOE Options C2 Exchange.
Definition OrderSource.hpp:355
static const OrderSource REGIONAL_ASK
Ask side of a regional Quote.
Definition OrderSource.hpp:111
static const OrderSource REGIONAL_BID
Bid side of a regional Quote.
Definition OrderSource.hpp:104
static const OrderSource ABE
ABE (abe.io) exchange.
Definition OrderSource.hpp:291
static const OrderSource CEUX
Bats Europe DXE Exchange.
Definition OrderSource.hpp:259
static const OrderSource OCEA
Blue Ocean Technologies Alternative Trading System.
Definition OrderSource.hpp:403
static const OrderSource AGGREGATE_BID
Bid side of an aggregate order book (futures depth and NASDAQ Level II).
Definition OrderSource.hpp:117
static const OrderSource BXTR
Bats Europe TRF.
Definition OrderSource.hpp:267
static const OrderSource dex
Direct-Edge EDGX Exchange.
Definition OrderSource.hpp:211
static const OrderSource cedx
Cboe European Derivatives.
Definition OrderSource.hpp:444
static const OrderSource COMPOSITE_ASK
Ask side of a composite Quote.
Definition OrderSource.hpp:97
static const OrderSource XNFI
NASDAQ Fixed Income.
Definition OrderSource.hpp:170
static const OrderSource iex
Investors exchange.
Definition OrderSource.hpp:379
static const OrderSource xeur
Eurex Exchange.
Definition OrderSource.hpp:339
static const OrderSource CEDX
Cboe European Derivatives.
Definition OrderSource.hpp:436
static const OrderSource ISE
International Securities Exchange.
Definition OrderSource.hpp:186
static const OrderSource DEA
Direct-Edge EDGA Exchange.
Definition OrderSource.hpp:194
static const OrderSource glbx
CME Globex.
Definition OrderSource.hpp:315
static const OrderSource BI20
Borsa Istanbul Exchange.
Definition OrderSource.hpp:283
static const OrderSource BYX
Bats BYX Exchange.
Definition OrderSource.hpp:219
static const OrderSource FAIR
FAIR (FairX) exchange.
Definition OrderSource.hpp:299
static const OrderSource BATE
Bats Europe BXE Exchange.
Definition OrderSource.hpp:243
static const OrderSource pink
Pink Sheets.
Definition OrderSource.hpp:412
static const OrderSource DEFAULT
Default source for publishing custom order books.
Definition OrderSource.hpp:130
static const OrderSource NFX
NASDAQ Futures Exchange.
Definition OrderSource.hpp:154
static const OrderSource memx
Members Exchange.
Definition OrderSource.hpp:395
static bool isSpecialSourceId(std::int32_t sourceId) noexcept
Determines whether specified source identifier refers to special order source.
Definition OrderSource.cpp:174
static const OrderSource IST
Borsa Istanbul Exchange.
Definition OrderSource.hpp:275
static const OrderSource ARCA
NYSE Arca traded securities.
Definition OrderSource.hpp:420
static const OrderSource CHIX
Bats Europe CXE Exchange.
Definition OrderSource.hpp:251
static const OrderSource & valueOf(const std::string &name)
Returns order source for the specified source name.
Definition OrderSource.cpp:192
static const OrderSource ERIS
Eris Exchange group of companies.
Definition OrderSource.hpp:323
static const OrderSource XEUR
Eurex Exchange.
Definition OrderSource.hpp:331
static const OrderSource MEMX
Members Exchange.
Definition OrderSource.hpp:387
static const OrderSource COMPOSITE_BID
Bid side of a composite Quote.
Definition OrderSource.hpp:90
static const OrderSource arca
NYSE Arca traded securities.
Definition OrderSource.hpp:428
static const OrderSource SMFE
Small Exchange.
Definition OrderSource.hpp:363
Order event is a snapshot for a full available market depth for a symbol.
Definition Order.hpp:95
Order & withTradeSize(double tradeSize) noexcept
Changes trade size.
Definition Order.hpp:429
Order & withTimeNanos(std::int64_t timeNanos) noexcept
Changes time of this order and returns it.
Definition Order.hpp:288
Order & withTime(std::int64_t time) noexcept
Changes time of this order and returns it.
Definition Order.hpp:248
Order & withSequence(std::int32_t sequence) noexcept
Changes sequence number of this order.
Definition Order.hpp:275
Order() noexcept=default
Creates new order event with default values.
Order & withOrderId(std::int64_t orderId) noexcept
Changes order ID.
Definition Order.hpp:325
Order & withMarketMaker(std::string marketMaker) noexcept
Changes market maker or other aggregate identifier of this order.
Definition Order.hpp:530
Order & withSource(const OrderSource &source) noexcept
Changes event's source and returns the current order.
Definition Order.hpp:195
Order & withExchangeCode(char exchangeCode) noexcept
Changes exchange code of this order.
Definition Order.hpp:442
void setMarketMaker(std::string marketMaker) noexcept
Changes market maker or other aggregate identifier of this order.
Definition Order.hpp:519
const std::string & getMarketMaker() const &noexcept
Returns market maker or other aggregate identifier of this order.
Definition Order.hpp:496
Order & withEventFlags(std::int32_t eventFlags) noexcept
Changes transactional event flags and returns the current order.
Definition Order.hpp:208
Order(std::string eventSymbol) noexcept
Creates new order event with the specified event symbol.
Definition Order.hpp:156
Order & withScope(const Scope &scope) noexcept
Changes scope of this order.
Definition Order.hpp:481
Order & withExecutedSize(double executedSize) noexcept
Changes executed size of this order.
Definition Order.hpp:377
Order & withEventFlags(const EventFlagsMask &eventFlags) noexcept
Changes transactional event flags and returns the current order.
Definition Order.hpp:221
Order & withAction(const OrderAction &action) noexcept
Changes action of this order and returns it.
Definition Order.hpp:300
Order & withTimeNanoPart(std::int32_t timeNanoPart) noexcept
Changes microseconds and nanoseconds time part of this order.
Definition Order.hpp:261
void assign(std::shared_ptr< EventType > event) override
Replaces the contents of the event.
Definition Order.cpp:110
void * toGraal() const override
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition Order.cpp:79
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition Order.cpp:91
Order & withSize(double size) noexcept
Changes size of this order.
Definition Order.hpp:364
Order & withPrice(double price) noexcept
Changes price of this order.
Definition Order.hpp:351
std::string toString() const override
Returns a string representation of the current object.
Definition Order.cpp:75
Order & withAuxOrderId(std::int64_t auxOrderId) noexcept
Changes auxiliary order ID.
Definition Order.hpp:338
static Ptr fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition Order.cpp:56
virtual Order & withEventSymbol(const std::string &eventSymbol) noexcept
Changes event's symbol and returns the current order.
Definition Order.hpp:167
Order & withIndex(std::int64_t index) noexcept
Changes unique per-symbol index of this order and returns it.
Definition Order.hpp:235
Order & withOrderSide(const Side &side) noexcept
Changes side of this order.
Definition Order.hpp:468
Order & withEventTime(std::int64_t eventTime) noexcept
Changes event's creation time and returns the current order.
Definition Order.hpp:180
static const EventTypeEnum & TYPE
Type identifier and additional information about the current event class.
Definition Order.hpp:117
Order & withExchangeCode(std::int16_t exchangeCode) noexcept
Changes exchange code of this order.
Definition Order.hpp:455
Order & withCount(std::int64_t count) noexcept
Changes number of individual orders in this aggregate order.
Definition Order.hpp:390
Order & withTradeId(std::int64_t tradeId) noexcept
Changes trade ID.
Definition Order.hpp:403
Order & withTradePrice(double tradePrice) noexcept
Changes trade price.
Definition Order.hpp:416
Order & withActionTime(std::int64_t actionTime) noexcept
Changes time of the last action and returns current order.
Definition Order.hpp:312
const std::optional< std::string > & getMarketMakerOpt() const &noexcept
Returns market maker or other aggregate identifier of this order.
Definition Order.hpp:510
OtcMarketsOrder & withPrice(double price) noexcept
Changes price of this OTC Markets order.
Definition OtcMarketsOrder.hpp:358
bool isSaturated() const noexcept
Returns whether this event should NOT be considered for the inside price.
Definition OtcMarketsOrder.hpp:625
OtcMarketsOrder & withAuxOrderId(std::int64_t auxOrderId) noexcept
Changes auxiliary order ID.
Definition OtcMarketsOrder.hpp:347
OtcMarketsOrder & withAutoExecution(bool autoExecution) noexcept
Changes whether this event is in 'AutoEx' mode.
Definition OtcMarketsOrder.hpp:681
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition OtcMarketsOrder.cpp:86
OtcMarketsOrder & withExecutedSize(double executedSize) noexcept
Changes executed size of this OTC Markets order.
Definition OtcMarketsOrder.hpp:380
void setNmsConditional(bool nmsConditional) noexcept
Changes whether this event represents a NMS conditional.
Definition OtcMarketsOrder.hpp:704
const OtcMarketsPriceType & getOtcMarketsPriceType() const &noexcept
Returns OTC Markets price type of this OTC Markets order events.
Definition OtcMarketsOrder.hpp:592
bool isNmsConditional() const noexcept
Returns whether this event represents a NMS conditional.
Definition OtcMarketsOrder.hpp:695
void assign(std::shared_ptr< EventType > event) override
Replaces the contents of the event.
Definition OtcMarketsOrder.cpp:105
OtcMarketsOrder() noexcept=default
Creates new OTC Markets order event with default values.
OtcMarketsOrder & withAction(const OrderAction &action) noexcept
Changes action of this OTC Markets order and returns it.
Definition OtcMarketsOrder.hpp:315
void setUnsolicited(bool unsolicited) noexcept
Changes whether this event is unsolicited.
Definition OtcMarketsOrder.hpp:568
static const EventTypeEnum & TYPE
Type identifier and additional information about the current event class.
Definition OtcMarketsOrder.hpp:152
std::string toString() const override
Returns a string representation of the current object.
Definition OtcMarketsOrder.cpp:67
OtcMarketsOrder & withSource(const OrderSource &source) noexcept
Changes event's source and returns the current OTC Markets order.
Definition OtcMarketsOrder.hpp:226
OtcMarketsOrder & withCount(std::int64_t count) noexcept
Changes number of individual orders in this aggregate order.
Definition OtcMarketsOrder.hpp:391
void setQuoteAccessPayment(std::int32_t quoteAccessPayment) noexcept
Changes Quote Access Payment (QAP) of this OTC Markets order.
Definition OtcMarketsOrder.hpp:505
OtcMarketsOrder & withMarketMaker(std::string marketMaker) noexcept
Changes market maker or other aggregate identifier of this OTC Markets order.
Definition OtcMarketsOrder.hpp:481
static Ptr fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition OtcMarketsOrder.cpp:48
OtcMarketsOrder & withEventFlags(const EventFlagsMask &eventFlags) noexcept
Changes transactional event flags and returns the current OTC Markets order.
Definition OtcMarketsOrder.hpp:248
void setSaturated(bool saturated) noexcept
Changes whether this event should NOT be considered for the inside price.
Definition OtcMarketsOrder.hpp:634
void setOtcMarketsPriceType(const OtcMarketsPriceType &otcPriceType) noexcept
Changes OTC Markets price type of this OTC Markets order events.
Definition OtcMarketsOrder.hpp:602
OtcMarketsOrder & withSize(double size) noexcept
Changes size of this OTC Markets order.
Definition OtcMarketsOrder.hpp:369
OtcMarketsOrder & withScope(const Scope &scope) noexcept
Changes scope of this OTC Markets order.
Definition OtcMarketsOrder.hpp:468
OtcMarketsOrder & withTradeSize(double tradeSize) noexcept
Changes trade size.
Definition OtcMarketsOrder.hpp:424
OtcMarketsOrder & withQuoteAccessPayment(std::int32_t quoteAccessPayment) noexcept
Changes Quote Access Payment (QAP) and returns the current OTC Markets order.
Definition OtcMarketsOrder.hpp:515
OtcMarketsOrder & withOrderId(std::int64_t orderId) noexcept
Changes order ID.
Definition OtcMarketsOrder.hpp:336
std::int32_t getQuoteAccessPayment() const noexcept
Returns Quote Access Payment (QAP) of this OTC Markets order.
Definition OtcMarketsOrder.hpp:496
OtcMarketsOrder & withUnsolicited(bool unsolicited) noexcept
Changes whether this event is unsolicited.
Definition OtcMarketsOrder.hpp:581
OtcMarketsOrder & withExchangeCode(char exchangeCode) noexcept
Changes exchange code of this OTC Markets order.
Definition OtcMarketsOrder.hpp:435
OtcMarketsOrder & withOrderSide(const Side &side) noexcept
Changes side of this OTC Markets order.
Definition OtcMarketsOrder.hpp:457
void setOpen(bool open) noexcept
Changes whether this event is available for business within the operating hours of the OTC Link syste...
Definition OtcMarketsOrder.hpp:536
bool isAutoExecution() const noexcept
Returns whether this event is in 'AutoEx' mode.
Definition OtcMarketsOrder.hpp:659
OtcMarketsOrder & withEventSymbol(const std::string &eventSymbol) noexcept override
Changes event's symbol and returns the current OTC Markets order.
Definition OtcMarketsOrder.hpp:202
OtcMarketsOrder & withOtcMarketsPriceType(const OtcMarketsPriceType &otcPriceType) noexcept
Changes OTC Markets price type of this OTC Markets order events.
Definition OtcMarketsOrder.hpp:614
OtcMarketsOrder & withSaturated(bool saturated) noexcept
Changes whether this event should NOT be considered for the inside price.
Definition OtcMarketsOrder.hpp:647
OtcMarketsOrder & withTradePrice(double tradePrice) noexcept
Changes trade price.
Definition OtcMarketsOrder.hpp:413
OtcMarketsOrder & withActionTime(std::int64_t actionTime) noexcept
Changes time of the last action and returns current OTC Markets order.
Definition OtcMarketsOrder.hpp:325
OtcMarketsOrder & withExchangeCode(std::int16_t exchangeCode) noexcept
Changes exchange code of this OTC Markets order.
Definition OtcMarketsOrder.hpp:446
void setAutoExecution(bool autoExecution) noexcept
Changes whether this event is in 'AutoEx' mode.
Definition OtcMarketsOrder.hpp:668
bool isUnsolicited() const noexcept
Returns whether this event is unsolicited.
Definition OtcMarketsOrder.hpp:559
OtcMarketsOrder & withEventTime(std::int64_t eventTime) noexcept
Changes event's creation time and returns the current OTC Markets order.
Definition OtcMarketsOrder.hpp:213
OtcMarketsOrder & withTimeNanos(std::int64_t timeNanos) noexcept
Changes time of this OTC Markets order and returns it.
Definition OtcMarketsOrder.hpp:305
bool isOpen() const noexcept
Returns whether this event is available for business within the operating hours of the OTC Link syste...
Definition OtcMarketsOrder.hpp:527
OtcMarketsOrder & withTimeNanoPart(std::int32_t timeNanoPart) noexcept
Changes microseconds and nanoseconds time part of this OTC Markets order.
Definition OtcMarketsOrder.hpp:282
void * toGraal() const override
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition OtcMarketsOrder.cpp:74
OtcMarketsOrder & withSequence(std::int32_t sequence) noexcept
Changes sequence number of this OTC Markets order.
Definition OtcMarketsOrder.hpp:294
OtcMarketsOrder & withNmsConditional(bool nmsConditional) noexcept
Changes whether this event represents a NMS conditional.
Definition OtcMarketsOrder.hpp:717
OtcMarketsOrder & withIndex(std::int64_t index) noexcept
Changes unique per-symbol index of this OTC Markets order and returns it.
Definition OtcMarketsOrder.hpp:260
OtcMarketsOrder & withEventFlags(std::int32_t eventFlags) noexcept
Changes transactional event flags and returns the current OTC Markets order.
Definition OtcMarketsOrder.hpp:237
OtcMarketsOrder & withOpen(bool open) noexcept
Changes whether this event is available for business within the operating hours of the OTC Link syste...
Definition OtcMarketsOrder.hpp:548
OtcMarketsOrder(std::string eventSymbol) noexcept
Creates new OTC Markets order event with the specified event symbol.
Definition OtcMarketsOrder.hpp:191
OtcMarketsOrder & withTime(std::int64_t time) noexcept
Changes time of this OTC Markets order and returns it.
Definition OtcMarketsOrder.hpp:271
OtcMarketsOrder & withTradeId(std::int64_t tradeId) noexcept
Changes trade ID.
Definition OtcMarketsOrder.hpp:402
bool isShortSaleRestricted() const noexcept
Returns short sale restriction status of the security instrument.
Definition Profile.hpp:179
const TradingStatus & getTradingStatus() const &noexcept
Returns trading status of the security instrument.
Definition Profile.hpp:188
static const EventTypeEnum & TYPE
Type identifier and additional information about the current event class.
Definition Profile.hpp:83
double getLow52WeekPrice() const noexcept
Returns the minimal (low) price in last 52 weeks.
Definition Profile.hpp:340
double getHigh52WeekPrice() const noexcept
Returns the maximal (high) price in last 52 weeks.
Definition Profile.hpp:322
double getExDividendAmount() const noexcept
Returns the amount of the last paid dividend.
Definition Profile.hpp:412
void setHaltEndTime(std::int64_t haltEndTime) noexcept
Changes ending time of the trading halt interval.
Definition Profile.hpp:277
void setHigh52WeekPrice(double high52WeekPrice) noexcept
Changes the maximal (high) price in last 52 weeks.
Definition Profile.hpp:331
double getBeta() const noexcept
Returns the correlation coefficient of the instrument to the S&P500 index.
Definition Profile.hpp:358
double getFreeFloat() const noexcept
Returns free-float - the number of shares outstanding that are available to the public for trade.
Definition Profile.hpp:468
double getLowLimitPrice() const noexcept
Returns the minimal (low) allowed price.
Definition Profile.hpp:304
void setEarningsPerShare(double earningsPerShare) noexcept
Changes Earnings per share (the company’s profits divided by the number of shares).
Definition Profile.hpp:385
bool isTradingHalted() const noexcept
Returns trading halt status of the security instrument.
Definition Profile.hpp:206
double getHighLimitPrice() const noexcept
Returns the maximal (high) allowed price.
Definition Profile.hpp:286
double getDividendFrequency() const noexcept
Returns frequency of cash dividends payments per year (calculated).
Definition Profile.hpp:394
void setExDividendAmount(double exDividendAmount) noexcept
Changes the amount of the last paid dividend.
Definition Profile.hpp:421
void setFreeFloat(double freeFloat) noexcept
Changes free-float - the number of shares outstanding that are available to the public for trade.
Definition Profile.hpp:476
void setStatusReason(std::string statusReason) noexcept
Changes description of the reason that trading was halted.
Definition Profile.hpp:237
void setDividendFrequency(double dividendFrequency) noexcept
Changes frequency of cash dividends payments per year.
Definition Profile.hpp:403
const ShortSaleRestriction & getShortSaleRestriction() const &noexcept
Returns short sale restriction of the security instrument.
Definition Profile.hpp:161
const std::string & getDescription() const &noexcept
Returns description of the security instrument.
Definition Profile.hpp:130
void setHighLimitPrice(double highLimitPrice) noexcept
Changes the maximal (high) allowed price.
Definition Profile.hpp:295
double getEarningsPerShare() const noexcept
Returns earnings per share (the company’s profits divided by the number of shares).
Definition Profile.hpp:376
Profile() noexcept=default
Creates new profile event with default values.
std::string toString() const override
Returns a string representation of the current object.
Definition Profile.cpp:112
std::int64_t getHaltStartTime() const noexcept
Returns starting time of the trading halt interval.
Definition Profile.hpp:247
const std::optional< std::string > & getStatusReasonOpt() const &noexcept
Returns description of the reason that trading was halted.
Definition Profile.hpp:228
void setLowLimitPrice(double lowLimitPrice) noexcept
Changes the minimal (low) allowed price.
Definition Profile.hpp:313
void setLow52WeekPrice(double low52WeekPrice) noexcept
Changes the minimal (low) price in last 52 weeks.
Definition Profile.hpp:349
void setShortSaleRestriction(const ShortSaleRestriction &restriction) noexcept
Changes short sale restriction of the security instrument.
Definition Profile.hpp:170
void setShares(double shares) noexcept
Changes the number of shares outstanding.
Definition Profile.hpp:459
void * toGraal() const override
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition Profile.cpp:128
double getShares() const noexcept
Returns the number of shares outstanding.
Definition Profile.hpp:450
const std::optional< std::string > & getDescriptionOpt() const &noexcept
Returns description of the security instrument.
Definition Profile.hpp:143
std::int32_t getExDividendDayId() const noexcept
Returns identifier of the day of the last dividend payment (ex-dividend date).
Definition Profile.hpp:431
void setExDividendDayId(std::int32_t exDividendDayId) noexcept
Changes identifier of the day of the last dividend payment (ex-dividend date).
Definition Profile.hpp:441
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition Profile.cpp:140
void setDescription(std::string description) noexcept
Changes description of the security instrument.
Definition Profile.hpp:152
void setTradingStatus(const TradingStatus &status) noexcept
Changes trading status of the security instrument.
Definition Profile.hpp:197
void setBeta(double beta) noexcept
Changes the correlation coefficient of the instrument to the S&P500 index.
Definition Profile.hpp:367
void setHaltStartTime(std::int64_t haltStartTime) noexcept
Changes starting time of the trading halt interval.
Definition Profile.hpp:257
void assign(std::shared_ptr< EventType > event) override
Replaces the contents of the event.
Definition Profile.cpp:159
const std::string & getStatusReason() const &noexcept
Returns description of the reason that trading was halted.
Definition Profile.hpp:215
static Ptr fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition Profile.cpp:93
std::int64_t getHaltEndTime() const noexcept
Returns ending time of the trading halt interval.
Definition Profile.hpp:267
Profile(std::string eventSymbol) noexcept
Creates new profile event with the specified event symbol.
Definition Profile.hpp:122
Quote & withAskSize(double askSize) noexcept
Changes ask size and returns the current quote.
Definition Quote.hpp:544
Quote & withEventSymbol(const std::string &eventSymbol) noexcept
Changes event's symbol and returns the current quote.
Definition Quote.hpp:124
std::string getAskExchangeCodeString() const noexcept
Returns ask exchange code as UTF8 string.
Definition Quote.cpp:44
Quote & withAskExchangeCode(char askExchangeCode) noexcept
Changes ask exchange code and returns the current quote.
Definition Quote.hpp:465
static const EventTypeEnum & TYPE
Type identifier and additional information about the current event class.
Definition Quote.hpp:69
std::int16_t getBidExchangeCode() const noexcept
Returns bid exchange code.
Definition Quote.cpp:22
void setBidTime(std::int64_t bidTime) noexcept
Changes time of the last bid change.
Definition Quote.hpp:260
std::int64_t getTimeNanos() const noexcept
Returns time of the last bid or ask change in nanoseconds.
Definition Quote.hpp:202
double getAskSize() const
Returns ask size.
Definition Quote.hpp:525
Quote & withAskExchangeCode(std::int16_t askExchangeCode) noexcept
Changes ask exchange code and returns the current quote.
Definition Quote.hpp:484
void setAskExchangeCode(char askExchangeCode) noexcept
Changes ask exchange code.
Definition Quote.cpp:50
void setTimeNanoPart(std::int32_t timeNanoPart) noexcept
Changes microseconds and nanoseconds part of time of the last bid or ask change.
Definition Quote.hpp:221
void setBidPrice(double bidPrice) noexcept
Changes bid price.
Definition Quote.hpp:348
Quote & withTimeNanoPart(std::int32_t timeNanoPart) noexcept
Changes microseconds and nanoseconds part of time of the last bid or ask change and returns the curre...
Definition Quote.hpp:232
Quote & withBidExchangeCode(std::int16_t bidExchangeCode) noexcept
Changes bid exchange code and returns the current quote.
Definition Quote.hpp:328
Quote & withBidExchangeCode(char bidExchangeCode) noexcept
Changes bid exchange code and returns the current quote.
Definition Quote.hpp:309
void setAskPrice(double askPrice)
Changes ask price.
Definition Quote.hpp:504
std::int64_t getBidTime() const noexcept
Returns time of the last bid change.
Definition Quote.hpp:247
void setAskSize(double askSize)
Changes ask size.
Definition Quote.hpp:534
double getBidPrice() const noexcept
Returns bid price.
Definition Quote.hpp:339
void setAskExchangeCode(std::int16_t askExchangeCode) noexcept
Changes ask exchange code.
Definition Quote.cpp:54
Quote(std::string eventSymbol) noexcept
Creates new quote event with the specified event symbol.
Definition Quote.hpp:115
void assign(std::shared_ptr< EventType > event) override
Replaces the contents of the event.
Definition Quote.cpp:164
std::int64_t getAskTime() const noexcept
Returns time of the last ask change.
Definition Quote.hpp:403
Quote & withEventTime(std::int64_t eventTime) noexcept
Changes event's creation time and returns the current quote.
Definition Quote.hpp:137
Quote & withSequence(std::int32_t sequence) noexcept
Changes sequence number of this quote and returns the current quote.
Definition Quote.hpp:179
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition Quote.cpp:145
Quote & withBidSize(double bidSize) noexcept
Changes bid size and returns the current quote.
Definition Quote.hpp:388
Quote & withBidPrice(double bidPrice) noexcept
Changes bid price and returns the current quote.
Definition Quote.hpp:358
Quote & withAskPrice(double askPrice) noexcept
Changes ask price and returns the current quote.
Definition Quote.hpp:514
static Ptr fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition Quote.cpp:114
void * toGraal() const override
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition Quote.cpp:133
Quote & withBidTime(std::int64_t bidTime) noexcept
Changes time of the last bid change and returns the current quote.
Definition Quote.hpp:276
void setAskTime(std::int64_t askTime) noexcept
Changes time of the last ask change.
Definition Quote.hpp:416
std::string toString() const override
Returns a string representation of the current object.
Definition Quote.cpp:103
std::int64_t getTime() const noexcept
Returns time of the last bid or ask change.
Definition Quote.hpp:191
double getBidSize() const noexcept
Returns bid size.
Definition Quote.hpp:369
Quote & withAskTime(std::int64_t askTime) noexcept
Changes time of the last ask change and returns the current quote.
Definition Quote.hpp:432
Quote() noexcept=default
Creates new quote event with default values.
void setSequence(std::int32_t sequence)
Changes sequence number of this quote.
Definition Quote.hpp:162
void setBidExchangeCode(char bidExchangeCode) noexcept
Changes bid exchange code.
Definition Quote.cpp:32
std::int32_t getTimeNanoPart() const noexcept
Returns microseconds and nanoseconds part of time of the last bid or ask change.
Definition Quote.hpp:211
static constexpr std::uint32_t MAX_SEQUENCE
Maximum allowed sequence value.
Definition Quote.hpp:76
std::int32_t getSequence() const noexcept
Returns sequence number of this quote to distinguish quotes that have the same time.
Definition Quote.hpp:150
std::string getBidExchangeCodeString() const noexcept
Returns bid exchange code as UTF8 string.
Definition Quote.cpp:26
void setBidExchangeCode(std::int16_t bidExchangeCode) noexcept
Changes bid exchange code.
Definition Quote.cpp:36
void setBidSize(double bidSize) noexcept
Changes bid size.
Definition Quote.hpp:378
std::int16_t getAskExchangeCode() const noexcept
Returns ask exchange code.
Definition Quote.cpp:40
double getAskPrice() const
Returns ask price.
Definition Quote.hpp:495
Series & withEventFlags(std::int32_t eventFlags) noexcept
Changes transactional event flags and returns the current series.
Definition Series.hpp:205
std::int64_t getTimeSequence() const noexcept
Returns time and sequence of this event packaged into single long value.
Definition Series.hpp:262
Series(std::string eventSymbol) noexcept
Creates new series event with the specified event symbol.
Definition Series.hpp:145
std::string toString() const override
Returns a string representation of the current object.
Definition Series.cpp:89
Series & withEventFlags(const EventFlagsMask &eventFlags) noexcept
Changes transactional event flags and returns the current series.
Definition Series.hpp:218
double getDividend() const noexcept
Returns implied simple dividend return of the corresponding option series.
Definition Series.hpp:490
void setTimeSequence(std::int64_t timeSequence) noexcept
Changes time and sequence of this event.
Definition Series.hpp:274
Series & withTime(std::int64_t time) noexcept
Changes time of this series and returns it.
Definition Series.hpp:309
double getPutVolume() const noexcept
Returns put options traded volume for a day.
Definition Series.hpp:419
Series & withIndex(std::int64_t index) noexcept
Changes unique per-symbol index of this series and returns it.
Definition Series.hpp:251
void setVolatility(double volatility) noexcept
Changes implied volatility index for this series based on VIX methodology.
Definition Series.hpp:392
void setSequence(std::int32_t sequence)
Changes sequence number of this series event.
Definition Series.hpp:333
void setInterest(double interest) noexcept
Changes implied simple interest return of the corresponding option series.
Definition Series.hpp:517
void setDividend(double dividend) noexcept
Changes implied simple dividend return of the corresponding option series.
Definition Series.hpp:499
EventFlagsMask getEventFlagsMask() const noexcept override
Returns transactional event flags.
Definition Series.hpp:184
static const EventTypeEnum & TYPE
Type identifier and additional information about the current event class.
Definition Series.hpp:99
static Ptr fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition Series.cpp:70
Series & withEventSymbol(const std::string &eventSymbol) noexcept
Changes event's symbol and returns the current series.
Definition Series.hpp:154
double getVolatility() const noexcept
Returns implied volatility index for this series based on VIX methodology.
Definition Series.hpp:383
static constexpr std::uint32_t MAX_SEQUENCE
Maximum allowed sequence value.
Definition Series.hpp:106
double getPutCallRatio() const noexcept
Returns ratio of put options traded volume to call options traded volume for a day.
Definition Series.hpp:454
void setTime(std::int64_t time) noexcept
Changes time of this series event.
Definition Series.hpp:295
double getOptionVolume() const noexcept
Returns options traded volume for a day.
Definition Series.hpp:437
std::int64_t getIndex() const noexcept override
Returns unique per-symbol index of this event.
Definition Series.hpp:231
std::int64_t getTime() const noexcept
Returns time of this series event.
Definition Series.hpp:284
Series & withEventTime(std::int64_t eventTime) noexcept
Changes event's creation time and returns the current series.
Definition Series.hpp:167
void setEventFlags(const EventFlagsMask &eventFlags) noexcept override
Changes transactional event flags.
Definition Series.hpp:194
void assign(std::shared_ptr< EventType > event) override
Replaces the contents of the event.
Definition Series.cpp:131
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition Series.cpp:112
void setPutCallRatio(double putCallRatio) noexcept
Changes ratio of put options traded volume to call options traded volume for a day.
Definition Series.hpp:463
std::int32_t getEventFlags() const noexcept override
Returns transactional event flags.
Definition Series.hpp:179
void setExpiration(std::int32_t expiration) noexcept
Changes day id of expiration.
Definition Series.hpp:374
const IndexedEventSource & getSource() const &noexcept override
Returns the source of this event.
Definition Series.hpp:174
Series() noexcept=default
Creates new series event with default values.
double getCallVolume() const noexcept
Returns call options traded volume for a day.
Definition Series.hpp:401
double getForwardPrice() const noexcept
Returns implied forward price for this option series.
Definition Series.hpp:472
void setIndex(std::int64_t index) override
Changes unique per-symbol index of this event.
Definition Series.hpp:241
std::int32_t getSequence() const noexcept
Returns sequence number of this series event to distinguish trades that have the same time.
Definition Series.hpp:322
void setForwardPrice(double forwardPrice) noexcept
Changes implied forward price for this option series.
Definition Series.hpp:481
std::int32_t getExpiration() const noexcept
Returns day id of expiration.
Definition Series.hpp:364
void setEventFlags(std::int32_t eventFlags) noexcept override
Changes transactional event flags.
Definition Series.hpp:189
void setCallVolume(double callVolume) noexcept
Changes call options traded volume for a day.
Definition Series.hpp:410
double getInterest() const noexcept
Returns implied simple interest return of the corresponding option series.
Definition Series.hpp:508
Series & withSequence(std::int32_t sequence) noexcept
Changes sequence number of this series.
Definition Series.hpp:351
void * toGraal() const override
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition Series.cpp:100
void setPutVolume(double putVolume) noexcept
Changes put options traded volume for a day.
Definition Series.hpp:428
Spread order event is a snapshot for a full available market depth for all spreads on a given underly...
Definition SpreadOrder.hpp:94
SpreadOrder & withEventFlags(std::int32_t eventFlags) noexcept
Changes transactional event flags and returns the current spread order.
Definition SpreadOrder.hpp:203
const std::string & getSpreadSymbol() const &noexcept
Returns spread symbol of this event.
Definition SpreadOrder.hpp:487
const std::optional< std::string > & getSpreadSymbolOpt() const &noexcept
Returns spread symbol of this event.
Definition SpreadOrder.hpp:500
SpreadOrder & withExecutedSize(double executedSize) noexcept
Changes executed size of this spread order.
Definition SpreadOrder.hpp:372
SpreadOrder & withEventFlags(const EventFlagsMask &eventFlags) noexcept
Changes transactional event flags and returns the current spread order.
Definition SpreadOrder.hpp:216
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition SpreadOrder.cpp:91
SpreadOrder & withTime(std::int64_t time) noexcept
Changes time of this spread order and returns it.
Definition SpreadOrder.hpp:243
SpreadOrder & withTimeNanoPart(std::int32_t timeNanoPart) noexcept
Changes microseconds and nanoseconds time part of this spread order.
Definition SpreadOrder.hpp:256
SpreadOrder & withIndex(std::int64_t index) noexcept
Changes unique per-symbol index of this spread order and returns it.
Definition SpreadOrder.hpp:230
SpreadOrder & withSize(double size) noexcept
Changes size of this spread order.
Definition SpreadOrder.hpp:359
SpreadOrder() noexcept=default
Creates new spread order event with default values.
SpreadOrder & withPrice(double price) noexcept
Changes price of this spread order.
Definition SpreadOrder.hpp:346
SpreadOrder & withTradePrice(double tradePrice) noexcept
Changes trade price.
Definition SpreadOrder.hpp:411
SpreadOrder & withTradeId(std::int64_t tradeId) noexcept
Changes trade ID.
Definition SpreadOrder.hpp:398
SpreadOrder & withActionTime(std::int64_t actionTime) noexcept
Changes time of the last action and returns current spread order.
Definition SpreadOrder.hpp:307
SpreadOrder(std::string eventSymbol) noexcept
Creates new spread order event with the specified event symbol.
Definition SpreadOrder.hpp:155
SpreadOrder & withTradeSize(double tradeSize) noexcept
Changes trade size.
Definition SpreadOrder.hpp:424
SpreadOrder & withAction(const OrderAction &action) noexcept
Changes action of this spread order and returns it.
Definition SpreadOrder.hpp:295
SpreadOrder & withOrderSide(const Side &side) noexcept
Changes side of this spread order.
Definition SpreadOrder.hpp:463
SpreadOrder & withExchangeCode(char exchangeCode) noexcept
Changes exchange code of this spread order.
Definition SpreadOrder.hpp:437
static Ptr fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition SpreadOrder.cpp:56
void setSpreadSymbol(std::string spreadSymbol) noexcept
Changes spread symbol of this event.
Definition SpreadOrder.hpp:509
void * toGraal() const override
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition SpreadOrder.cpp:79
SpreadOrder & withCount(std::int64_t count) noexcept
Changes number of individual spread orders in this aggregate spread order.
Definition SpreadOrder.hpp:385
std::string toString() const override
Returns a string representation of the current object.
Definition SpreadOrder.cpp:75
SpreadOrder & withTimeNanos(std::int64_t timeNanos) noexcept
Changes time of this spread order and returns it.
Definition SpreadOrder.hpp:283
void assign(std::shared_ptr< EventType > event) override
Replaces the contents of the event.
Definition SpreadOrder.cpp:110
SpreadOrder & withEventTime(std::int64_t eventTime) noexcept
Changes event's creation time and returns the current spread order.
Definition SpreadOrder.hpp:177
SpreadOrder & withSequence(std::int32_t sequence) noexcept
Changes sequence number of this spread order.
Definition SpreadOrder.hpp:270
SpreadOrder & withSpreadSymbol(std::string spreadSymbol) noexcept
Changes spread symbol of this event.
Definition SpreadOrder.hpp:520
SpreadOrder & withSource(const OrderSource &source) noexcept
Changes event's source and returns the current spread order.
Definition SpreadOrder.hpp:190
SpreadOrder & withAuxOrderId(std::int64_t auxOrderId) noexcept
Changes auxiliary spread order ID.
Definition SpreadOrder.hpp:333
static const EventTypeEnum & TYPE
Type identifier and additional information about the current event class.
Definition SpreadOrder.hpp:116
SpreadOrder & withScope(const Scope &scope) noexcept
Changes scope of this spread order.
Definition SpreadOrder.hpp:476
SpreadOrder & withExchangeCode(std::int16_t exchangeCode) noexcept
Changes exchange code of this spread order.
Definition SpreadOrder.hpp:450
SpreadOrder & withOrderId(std::int64_t orderId) noexcept
Changes order ID.
Definition SpreadOrder.hpp:320
SpreadOrder & withEventSymbol(const std::string &eventSymbol) noexcept
Changes event's symbol and returns the current spread order.
Definition SpreadOrder.hpp:164
void setPrevDayId(std::int32_t prevDayId) noexcept
Changes identifier of the previous day that this summary represents.
Definition Summary.hpp:242
std::string toString() const override
Returns a string representation of the current object.
Definition Summary.cpp:87
double getDayOpenPrice() const noexcept
Returns the first (open) price for the day.
Definition Summary.hpp:141
static Ptr fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition Summary.cpp:68
void setDayOpenPrice(double dayOpenPrice) noexcept
Changes the first (open) price for the day.
Definition Summary.hpp:150
Summary() noexcept=default
Creates new summary event with default values.
static const EventTypeEnum & TYPE
Type identifier and additional information about the current event class.
Definition Summary.hpp:74
double getDayLowPrice() const noexcept
Returns the minimal (low) price for the day.
Definition Summary.hpp:177
void * toGraal() const override
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition Summary.cpp:100
void setPrevDayClosePrice(double prevDayClosePrice) noexcept
Changes the last (close) price for the previous day.
Definition Summary.hpp:260
const PriceType & getDayClosePriceType() const &noexcept
Returns the price type of the last (close) price for the day.
Definition Summary.hpp:213
double getPrevDayVolume() const noexcept
Returns total volume traded for the previous day.
Definition Summary.hpp:289
const PriceType & getPrevDayClosePriceType() const &noexcept
Returns the price type of the last (close) price for the previous day.
Definition Summary.hpp:269
void setDayClosePriceType(const PriceType &type) noexcept
Changes the price type of the last (close) price for the day.
Definition Summary.hpp:222
void setDayClosePrice(double dayClosePrice) noexcept
Changes the last (close) price for the day.
Definition Summary.hpp:204
double getDayHighPrice() const noexcept
Returns the maximal (high) price for the day.
Definition Summary.hpp:159
void setPrevDayClosePriceType(const PriceType &type) noexcept
Changes the price type of the last (close) price for the previous day.
Definition Summary.hpp:279
Summary(std::string eventSymbol) noexcept
Creates new summary event with the specified event symbol.
Definition Summary.hpp:113
void setDayId(std::int32_t dayId) noexcept
Changes identifier of the day that this summary represents.
Definition Summary.hpp:132
void setPrevDayVolume(double prevDayVolume) noexcept
Changes total volume traded for the previous day.
Definition Summary.hpp:298
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition Summary.cpp:112
double getPrevDayClosePrice() const noexcept
Returns the last (close) price for the previous day.
Definition Summary.hpp:251
void assign(std::shared_ptr< EventType > event) override
Replaces the contents of the event.
Definition Summary.cpp:131
double getDayClosePrice() const noexcept
Returns the last (close) price for the day.
Definition Summary.hpp:195
std::int32_t getDayId() const noexcept
Returns identifier of the day that this summary represents.
Definition Summary.hpp:122
void setOpenInterest(std::int64_t openInterest) noexcept
Changes open interest of the symbol as the number of open contracts.
Definition Summary.hpp:316
void setDayLowPrice(double dayLowPrice) noexcept
Changes the minimal (low) price for the day.
Definition Summary.hpp:186
void setDayHighPrice(double dayHighPrice) noexcept
Changes the maximal (high) price for the day.
Definition Summary.hpp:168
std::int64_t getOpenInterest() const noexcept
Returns open interest of the symbol as the number of open contracts.
Definition Summary.hpp:307
std::int32_t getPrevDayId() const noexcept
Returns identifier of the previous day that this summary represents.
Definition Summary.hpp:232
Message event with text payload.
Definition TextMessage.hpp:32
std::int64_t getTimeSequence() const noexcept
Returns time and sequence of text message packaged into single long value.
Definition TextMessage.hpp:201
void * toGraal() const override
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition TextMessage.cpp:88
std::int32_t getSequence() const noexcept
Returns sequence number of the text message to distinguish messages that have the same time.
Definition TextMessage.hpp:260
static Ptr fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition TextMessage.cpp:69
const std::string & getText() const &
Returns text.
Definition TextMessage.hpp:297
TextMessage & withEventSymbol(const std::string &eventSymbol) noexcept
Changes event's symbol and returns the current message.
Definition TextMessage.hpp:167
void setTime(std::int64_t time) noexcept
Changes time of the text message.
Definition TextMessage.hpp:234
void setEventTime(std::int64_t eventTime) noexcept override
Changes event creation time.
Definition TextMessage.hpp:179
static const EventTypeEnum & TYPE
Type identifier and additional information about the current event class.
Definition TextMessage.hpp:64
TextMessage & withText(std::string text) noexcept
Changes text and returns the current message.
Definition TextMessage.hpp:318
void setSequence(std::int32_t sequence)
Changes getSequence() sequence number of the text message.
Definition TextMessage.hpp:271
TextMessage(std::string eventSymbol, std::string text) noexcept
Creates new message with the specified event symbol and text.
Definition TextMessage.hpp:113
const std::string & getEventSymbol() const &noexcept override
Returns symbol of this event.
Definition TextMessage.hpp:134
void assign(std::shared_ptr< EventType > event) override
Replaces the contents of the event.
Definition TextMessage.cpp:119
TextMessage() noexcept=default
Creates new message with default values.
void setTimeSequence(std::int64_t timeSequence) noexcept
Changes time and sequence of text message.
Definition TextMessage.hpp:213
TextMessage & withEventTime(std::int64_t eventTime) noexcept
Changes event's creation time and returns the current message.
Definition TextMessage.hpp:190
std::string toString() const override
Returns a string representation of the current object.
Definition TextMessage.cpp:128
TextMessage & withSequence(std::int32_t sequence) noexcept
Changes event's sequence number and returns the current message.
Definition TextMessage.hpp:286
void setText(std::string text)
Changes text.
Definition TextMessage.hpp:306
TextMessage & withTime(std::int64_t time) noexcept
Changes time and returns the current message.
Definition TextMessage.hpp:247
std::int64_t getEventTime() const noexcept override
Returns time when event was created or zero when time is not available.
Definition TextMessage.hpp:174
TextMessage(std::string eventSymbol) noexcept
Creates new message with the specified event symbol.
Definition TextMessage.hpp:104
static constexpr std::uint32_t MAX_SEQUENCE
Maximum allowed sequence value.
Definition TextMessage.hpp:55
TextMessage(std::string eventSymbol, std::int64_t time, std::string text) noexcept
Creates new message with the specified event symbol, time and text.
Definition TextMessage.hpp:123
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition TextMessage.cpp:100
void setEventSymbol(const std::string &eventSymbol) noexcept override
Changes symbol of this event.
Definition TextMessage.hpp:156
const std::optional< std::string > & getEventSymbolOpt() const &noexcept override
Returns symbol of this event.
Definition TextMessage.hpp:147
std::int64_t getTime() const noexcept
Returns time of the text message.
Definition TextMessage.hpp:223
void setInterest(double interest) noexcept
Changes implied simple interest return of the corresponding option series.
Definition TheoPrice.hpp:351
void setGamma(double gamma) noexcept
Changes gamma of the theoretical price.
Definition TheoPrice.hpp:315
void setPrice(double price) noexcept
Changes theoretical option price.
Definition TheoPrice.hpp:259
void setEventFlags(std::int32_t eventFlags) noexcept override
Changes transactional event flags.
Definition TheoPrice.hpp:163
void setUnderlyingPrice(double underlyingPrice) noexcept
Changes underlying price at the time of theo price computation.
Definition TheoPrice.hpp:277
void setSequence(std::int32_t sequence)
Changes sequence number of this event.
Definition TheoPrice.hpp:235
std::int32_t getEventFlags() const noexcept override
Returns transactional event flags.
Definition TheoPrice.hpp:153
std::int64_t getIndex() const noexcept override
Returns unique per-symbol index of this event.
Definition TheoPrice.hpp:179
double getPrice() const noexcept
Returns theoretical option price.
Definition TheoPrice.hpp:250
double getGamma() const noexcept
Returns gamma of the theoretical price.
Definition TheoPrice.hpp:306
EventFlagsMask getEventFlagsMask() const noexcept override
Returns transactional event flags.
Definition TheoPrice.hpp:158
std::int64_t getTime() const noexcept override
Returns timestamp of the event in milliseconds.
Definition TheoPrice.hpp:202
const IndexedEventSource & getSource() const &noexcept override
Returns the source of this event.
Definition TheoPrice.hpp:148
static Ptr fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition TheoPrice.cpp:64
static constexpr std::uint32_t MAX_SEQUENCE
Maximum allowed sequence value.
Definition TheoPrice.hpp:105
void setTime(std::int64_t time) noexcept
Changes timestamp of the event in milliseconds.
Definition TheoPrice.hpp:212
void setDelta(double delta) noexcept
Changes delta of the theoretical price.
Definition TheoPrice.hpp:296
double getDividend() const noexcept
Returns implied simple dividend return of the corresponding option series.
Definition TheoPrice.hpp:324
void * toGraal() const override
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition TheoPrice.cpp:93
void setEventFlags(const EventFlagsMask &eventFlags) noexcept override
Changes transactional event flags.
Definition TheoPrice.hpp:168
TheoPrice() noexcept=default
Creates new theoprice event with default values.
void setDividend(double dividend) noexcept
Changes implied simple dividend return of the corresponding option series.
Definition TheoPrice.hpp:333
static const EventTypeEnum & TYPE
Type identifier and additional information about the current event class.
Definition TheoPrice.hpp:98
double getUnderlyingPrice() const noexcept
Returns underlying price at the time of theo price computation.
Definition TheoPrice.hpp:268
void setIndex(std::int64_t index) override
Changes unique per-symbol index of this event.
Definition TheoPrice.hpp:193
TheoPrice(std::string eventSymbol) noexcept
Creates new theoprice event with the specified event symbol.
Definition TheoPrice.hpp:144
std::int32_t getSequence() const noexcept
Returns the sequence number of this event to distinguish events that have the same time.
Definition TheoPrice.hpp:225
std::string toString() const override
Returns a string representation of the current object.
Definition TheoPrice.cpp:83
void assign(std::shared_ptr< EventType > event) override
Replaces the contents of the event.
Definition TheoPrice.cpp:124
double getDelta() const noexcept
Returns delta of the theoretical price.
Definition TheoPrice.hpp:287
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition TheoPrice.cpp:105
double getInterest() const noexcept
Returns implied simple interest return of the corresponding option series.
Definition TheoPrice.hpp:342
const TimeAndSaleType & getType() const &noexcept
Returns type of this time and sale event.
Definition TimeAndSale.hpp:552
void setExchangeCode(char exchangeCode) noexcept
Changes exchange code of this time and sale event.
Definition TimeAndSale.cpp:21
TimeAndSale() noexcept=default
Creates new time and sale event with default values.
std::string getExchangeCodeString() const noexcept
Returns exchange code of this time and sale event as UTF8 string.
Definition TimeAndSale.hpp:325
void setBidPrice(double bidPrice) noexcept
Changes the current bid price on the market when this time and sale event had occurred.
Definition TimeAndSale.hpp:397
std::int64_t getTime() const noexcept override
Returns timestamp of the event in milliseconds.
Definition TimeAndSale.hpp:228
bool isNew() const noexcept
Returns whether this is a new event (not cancellation or correction).
Definition TimeAndSale.hpp:571
void setIndex(std::int64_t index) override
Changes unique per-symbol index of this event.
Definition TimeAndSale.hpp:219
void setSequence(std::int32_t sequence)
Changes sequence number of this event.
Definition TimeAndSale.hpp:301
std::int64_t getIndex() const noexcept override
Returns unique per-symbol index of this event.
Definition TimeAndSale.hpp:205
void setSeller(std::string seller) noexcept
Changes seller of this time and sale event.
Definition TimeAndSale.hpp:652
double getBidPrice() const noexcept
Returns the current bid price on the market when this time and sale event had occurred.
Definition TimeAndSale.hpp:388
double getAskPrice() const noexcept
Returns the current ask price on the market when this time and sale event had occurred.
Definition TimeAndSale.hpp:406
const std::string & getExchangeSaleConditions() const &noexcept
Returns sale conditions provided for this event by data feed.
Definition TimeAndSale.hpp:426
void setValidTick(bool validTick) noexcept
Changes whether this event represents a valid intraday tick.
Definition TimeAndSale.hpp:543
static Ptr fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition TimeAndSale.cpp:90
bool isValidTick() const noexcept
Returns whether this event represents a valid intraday tick.
Definition TimeAndSale.hpp:534
void setAskPrice(double askPrice) noexcept
Changes price of this time and sale event.the current ask price on the market when this time and sale...
Definition TimeAndSale.hpp:416
void setTimeNanoPart(std::int32_t timeNanoPart) noexcept
Changes microseconds and nanoseconds time part of the original event.
Definition TimeAndSale.hpp:270
void setExtendedTradingHours(bool extendedTradingHours) noexcept
Changes whether this event represents an extended trading hours sale.
Definition TimeAndSale.hpp:523
bool isExtendedTradingHours() const noexcept
Returns whether this event represents an extended trading hours sale.
Definition TimeAndSale.hpp:514
double getSize() const noexcept
Returns size of this time and sale event.
Definition TimeAndSale.hpp:370
std::int32_t getSequence() const noexcept
Returns the sequence number of this event to distinguish events that have the same time.
Definition TimeAndSale.hpp:290
void setExchangeSaleConditions(std::string exchangeSaleConditions) noexcept
Changes sale conditions provided for this event by data feed.
Definition TimeAndSale.hpp:449
std::string toString() const override
Returns a string representation of the current object.
Definition TimeAndSale.cpp:109
void setAggressorSide(const Side &side) noexcept
Changes aggressor side of this time and sale event.
Definition TimeAndSale.hpp:487
void setEventFlags(const EventFlagsMask &eventFlags) noexcept override
Changes transactional event flags.
Definition TimeAndSale.hpp:194
void setEventFlags(std::int32_t eventFlags) noexcept override
Changes transactional event flags.
Definition TimeAndSale.hpp:189
void setSize(double size) noexcept
Changes size of this time and sale event.
Definition TimeAndSale.hpp:379
const IndexedEventSource & getSource() const &noexcept override
Returns the source of this event.
Definition TimeAndSale.hpp:174
void setTime(std::int64_t time) noexcept
Changes timestamp of the event in milliseconds.
Definition TimeAndSale.hpp:238
static constexpr std::uint32_t MAX_SEQUENCE
Maximum allowed sequence value.
Definition TimeAndSale.hpp:131
std::int64_t getTimeNanos() const noexcept
Returns time of the original event in nanoseconds.
Definition TimeAndSale.hpp:250
void setBuyer(std::string buyer) noexcept
Changes buyer of this time and sale event.
Definition TimeAndSale.hpp:621
const std::optional< std::string > & getSellerOpt() const &noexcept
Returns seller of this time and sale event.
Definition TimeAndSale.hpp:643
void * toGraal() const override
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition TimeAndSale.cpp:124
bool isCancel() const noexcept
Returns whether this is a cancellation of a previous event.
Definition TimeAndSale.hpp:590
TimeAndSale(std::string eventSymbol) noexcept
Creates new time and sale event with the specified event symbol.
Definition TimeAndSale.hpp:170
const std::optional< std::string > & getBuyerOpt() const &noexcept
Returns buyer of this time and sale event.
Definition TimeAndSale.hpp:612
void setPrice(double price) noexcept
Changes price of this time and sale event.
Definition TimeAndSale.hpp:361
bool isCorrection() const noexcept
Returns whether this is a correction of a previous event.
Definition TimeAndSale.hpp:581
void setSpreadLeg(bool spreadLeg) noexcept
Changes whether this event represents a spread leg.
Definition TimeAndSale.hpp:505
std::int32_t getTimeNanoPart() const noexcept
Returns microseconds and nanoseconds time part of the original event.
Definition TimeAndSale.hpp:279
std::int32_t getEventFlags() const noexcept override
Returns transactional event flags.
Definition TimeAndSale.hpp:179
double getPrice() const noexcept
Returns price of this time and sale event.
Definition TimeAndSale.hpp:352
const std::string & getSeller() const &noexcept
Returns seller of this time and sale event.
Definition TimeAndSale.hpp:630
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition TimeAndSale.cpp:136
const std::string & getBuyer() const &noexcept
Returns buyer of this time and sale event.
Definition TimeAndSale.hpp:599
void setType(const TimeAndSaleType &type) noexcept
Changes type of this time and sale event.
Definition TimeAndSale.hpp:561
static const EventTypeEnum & TYPE
Type identifier and additional information about the current event class.
Definition TimeAndSale.hpp:124
std::int16_t getExchangeCode() const noexcept
Returns exchange code of this time and sale event.
Definition TimeAndSale.hpp:316
void setTimeNanos(std::int64_t timeNanos) noexcept
Changes time of the original event.
Definition TimeAndSale.hpp:260
char getTradeThroughExempt() const noexcept
Returns TradeThroughExempt flag of this time and sale event.
Definition TimeAndSale.hpp:458
const std::optional< std::string > & getExchangeSaleConditionsOpt() const &noexcept
Returns sale conditions provided for this event by data feed.
Definition TimeAndSale.hpp:440
bool isSpreadLeg() const noexcept
Returns whether this event represents a spread leg.
Definition TimeAndSale.hpp:496
void setExchangeCode(std::int16_t exchangeCode) noexcept
Changes exchange code of this time and sale event.
Definition TimeAndSale.hpp:343
EventFlagsMask getEventFlagsMask() const noexcept override
Returns transactional event flags.
Definition TimeAndSale.hpp:184
const Side & getAggressorSide() const &noexcept
Returns aggressor side of this time and sale event.
Definition TimeAndSale.hpp:478
void assign(std::shared_ptr< EventType > event) override
Replaces the contents of the event.
Definition TimeAndSale.cpp:155
void setTradeThroughExempt(char tradeThroughExempt)
Changes TradeThroughExempt flag of this time and sale event.
Definition TimeAndSale.hpp:467
TimeSeriesSubscriptionSymbol(const SymbolWrapper &eventSymbol, std::int64_t fromTime)
Creates time-series subscription symbol with a specified event symbol and subscription time.
void * toGraal() const override
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition TimeSeriesSubscriptionSymbol.cpp:19
std::string toString() const override
Returns string representation of this time-series subscription symbol.
Definition TimeSeriesSubscriptionSymbol.cpp:63
std::int64_t getFromTime() const
Returns the subscription time.
Definition TimeSeriesSubscriptionSymbol.cpp:15
static TimeSeriesSubscriptionSymbol fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure ...
Definition TimeSeriesSubscriptionSymbol.cpp:48
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition TimeSeriesSubscriptionSymbol.cpp:32
Base class for common fields of Trade} and TradeETH events.
Definition TradeBase.hpp:36
void setExchangeCode(std::int16_t exchangeCode) noexcept
Changes exchange code of the last trade.
Definition TradeBase.hpp:244
void assign(std::shared_ptr< EventType > event) override
Replaces the contents of the event.
Definition TradeBase.cpp:60
void setSequence(std::int32_t sequence)
Changes sequence number of the last trade.
Definition TradeBase.hpp:200
double getChange() const noexcept
Returns change of the last trade.
Definition TradeBase.hpp:383
TradeBase() noexcept=default
Creates new trade event with default values.
void setChange(double change) noexcept
Changes change of the last trade.
Definition TradeBase.hpp:392
void setDayId(std::int32_t dayId) noexcept
Changes identifier of the current trading day.
Definition TradeBase.hpp:300
std::string baseFieldsToString() const
Returns string representation of this trade event's fields.
Definition TradeBase.cpp:68
std::int64_t getTime() const noexcept
Returns time of the last trade.
Definition TradeBase.hpp:125
std::int32_t getDayId() const noexcept
Returns identifier of the current trading day.
Definition TradeBase.hpp:290
double getSize() const noexcept
Returns size of the last trade as floating number with fractions.
Definition TradeBase.hpp:271
std::int16_t getExchangeCode() const noexcept
Returns exchange code of the last trade.
Definition TradeBase.hpp:215
TradeBase(std::string eventSymbol) noexcept
Creates new trade event with the specified event symbol.
Definition TradeBase.hpp:95
std::int32_t getSequence() const noexcept
Returns sequence number of the last trade to distinguish trades that have the same time.
Definition TradeBase.hpp:189
void setTickDirection(const Direction &direction) noexcept
Changes tick direction of the last trade.
Definition TradeBase.hpp:355
static constexpr std::uint32_t MAX_SEQUENCE
Maximum allowed sequence value.
Definition TradeBase.hpp:82
double getDayTurnover() const noexcept
Returns total turnover traded for a day.
Definition TradeBase.hpp:328
void setDayTurnover(double dayTurnover) noexcept
Changes total turnover traded for a day.
Definition TradeBase.hpp:337
void setSize(double size) noexcept
Changes size of the last trade as floating number with fractions.
Definition TradeBase.hpp:280
void setTimeNanoPart(std::int32_t timeNanoPart) noexcept
Changes microseconds and nanoseconds time part of the last trade.
Definition TradeBase.hpp:169
std::int64_t getTimeSequence() const noexcept
Returns time and sequence of last trade packaged into single long value.
Definition TradeBase.hpp:103
bool isExtendedTradingHours() const noexcept
Returns whether last trade was in extended trading hours.
Definition TradeBase.hpp:364
void setTimeSequence(std::int64_t timeSequence) noexcept
Changes time and sequence of last trade.
Definition TradeBase.hpp:115
const Direction & getTickDirection() const &noexcept
Returns tick direction of the last trade.
Definition TradeBase.hpp:346
double getDayVolume() const noexcept
Returns total volume traded for a day as floating number with fractions.
Definition TradeBase.hpp:309
void setExchangeCode(char exchangeCode) noexcept
Changes exchange code of the last trade.
Definition TradeBase.hpp:235
void setTime(std::int64_t time) noexcept
Changes time of the last trade.
Definition TradeBase.hpp:136
double getPrice() const noexcept
Returns price of the last trade.
Definition TradeBase.hpp:253
std::string getExchangeCodeString() const noexcept
Returns exchange code of last trade as UTF8 string.
Definition TradeBase.hpp:224
void setPrice(double price) noexcept
Changes price of the last trade.
Definition TradeBase.hpp:262
std::int32_t getTimeNanoPart() const noexcept
Returns microseconds and nanoseconds time part of the last trade.
Definition TradeBase.hpp:178
void setExtendedTradingHours(bool extendedTradingHours) noexcept
Changes whether last trade was in extended trading hours.
Definition TradeBase.hpp:373
void setTimeNanos(std::int64_t timeNanos) noexcept
Changes time of the last trade.
Definition TradeBase.hpp:159
std::int64_t getTimeNanos() const noexcept
Returns time of the last trade in nanoseconds.
Definition TradeBase.hpp:149
void setDayVolume(double dayVolume) noexcept
Changes total volume traded for a day as floating number with fractions.
Definition TradeBase.hpp:318
void assign(std::shared_ptr< EventType > event) override
Replaces the contents of the event.
Definition TradeETH.cpp:97
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition TradeETH.cpp:78
void * toGraal() const override
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition TradeETH.cpp:66
TradeETH(std::string eventSymbol) noexcept
Creates new trade event with the specified event symbol.
Definition TradeETH.hpp:152
std::string toString() const override
Returns a string representation of the current object.
Definition TradeETH.cpp:62
TradeETH() noexcept=default
Creates new trade event with default values.
static Ptr fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition TradeETH.cpp:43
static const EventTypeEnum & TYPE
Type identifier and additional information about the current event class.
Definition TradeETH.hpp:113
void assign(std::shared_ptr< EventType > event) override
Replaces the contents of the event.
Definition Trade.cpp:97
static const EventTypeEnum & TYPE
Type identifier and additional information about the current event class.
Definition Trade.hpp:88
Trade() noexcept=default
Creates new trade event with default values.
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition Trade.cpp:78
Trade(std::string eventSymbol) noexcept
Creates new trade event with the specified event symbol.
Definition Trade.hpp:127
static Ptr fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition Trade.cpp:43
std::string toString() const override
Returns a string representation of the current object.
Definition Trade.cpp:62
void * toGraal() const override
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition Trade.cpp:66
std::int64_t getIndex() const noexcept override
Returns unique per-symbol index of this event.
Definition Underlying.hpp:175
double getCallVolume() const noexcept
Returns call options traded volume for a day.
Definition Underlying.hpp:300
void * toGraal() const override
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition Underlying.cpp:94
static constexpr std::uint32_t MAX_SEQUENCE
Maximum allowed sequence value.
Definition Underlying.hpp:101
void setFrontVolatility(double frontVolatility) noexcept
Changes front month implied volatility for this underlying based on VIX methodology.
Definition Underlying.hpp:273
void setPutVolume(double putVolume) noexcept
Changes put options traded volume for a day.
Definition Underlying.hpp:327
void setVolatility(double volatility) noexcept
Changes 30-day implied volatility for this underlying based on VIX methodology.
Definition Underlying.hpp:255
void setIndex(std::int64_t index) override
Changes unique per-symbol index of this event.
Definition Underlying.hpp:189
const IndexedEventSource & getSource() const &noexcept override
Returns the source identifier for this event, which is always DEFAULT for time-series events.
Definition Underlying.hpp:144
void setTime(std::int64_t time) noexcept
Changes timestamp of the event in milliseconds.
Definition Underlying.hpp:208
Underlying() noexcept=default
Creates new underlying event with default values.
double getBackVolatility() const noexcept
Returns back month implied volatility for this underlying based on VIX methodology.
Definition Underlying.hpp:282
void setSequence(std::int32_t sequence)
Changes sequence number of this event.
Definition Underlying.hpp:231
void setPutCallRatio(double putCallRatio) noexcept
Changes ratio of put options traded volume to call options traded volume for a day.
Definition Underlying.hpp:362
void setBackVolatility(double backVolatility) noexcept
Changes back month implied volatility for this underlying based on VIX methodology.
Definition Underlying.hpp:291
void setCallVolume(double callVolume) noexcept
Changes call options traded volume for a day.
Definition Underlying.hpp:309
EventFlagsMask getEventFlagsMask() const noexcept override
Returns transactional event flags.
Definition Underlying.hpp:154
static Ptr fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition Underlying.cpp:64
std::int64_t getTime() const noexcept override
Returns timestamp of the event in milliseconds.
Definition Underlying.hpp:198
std::int32_t getEventFlags() const noexcept override
Returns transactional event flags.
Definition Underlying.hpp:149
double getPutVolume() const noexcept
Returns put options traded volume for a day.
Definition Underlying.hpp:318
std::int32_t getSequence() const noexcept
Returns the sequence number of this event to distinguish events that have the same time.
Definition Underlying.hpp:221
std::string toString() const override
Returns a string representation of the current object.
Definition Underlying.cpp:83
static const EventTypeEnum & TYPE
Type identifier and additional information about the current event class.
Definition Underlying.hpp:94
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition Underlying.cpp:106
double getFrontVolatility() const noexcept
Returns front month implied volatility for this underlying based on VIX methodology.
Definition Underlying.hpp:264
void setEventFlags(std::int32_t eventFlags) noexcept override
Changes transactional event flags.
Definition Underlying.hpp:159
void assign(std::shared_ptr< EventType > event) override
Replaces the contents of the event.
Definition Underlying.cpp:125
double getOptionVolume() const noexcept
Returns options traded volume for a day.
Definition Underlying.hpp:336
double getVolatility() const noexcept
Returns 30-day implied volatility for this underlying based on VIX methodology.
Definition Underlying.hpp:246
Underlying(std::string eventSymbol) noexcept
Creates new underlying event with the specified event symbol.
Definition Underlying.hpp:140
void setEventFlags(const EventFlagsMask &eventFlags) noexcept override
Changes transactional event flags.
Definition Underlying.hpp:164
double getPutCallRatio() const noexcept
Returns ratio of put options traded volume to call options traded volume for a day.
Definition Underlying.hpp:353
The AuthToken class represents an authorization token and encapsulates information about the authoriz...
Definition AuthToken.hpp:30
std::string getScheme() const
Returns the authentication scheme.
Definition AuthToken.cpp:85
static AuthToken createBasicTokenOrNull(const StringLikeWrapper &user, const StringLikeWrapper &password)
Constructs an AuthToken with the specified username and password per RFC2617.
Definition AuthToken.cpp:33
static AuthToken valueOf(const StringLikeWrapper &string)
Constructs an AuthToken from the specified string.
Definition AuthToken.cpp:21
static AuthToken createBasicToken(const StringLikeWrapper &user, const StringLikeWrapper &password)
Constructs an AuthToken with the specified username and password per RFC2617.
Definition AuthToken.cpp:29
static AuthToken createBearerTokenOrNull(const StringLikeWrapper &token)
Constructs an AuthToken with the specified bearer token per RFC6750.
Definition AuthToken.cpp:47
std::string getPassword() const
Returns the password or dxfcpp::String::NUL (std::string{"<null>"}) if it is not known or applicable.
Definition AuthToken.cpp:77
static AuthToken createBasicToken(const StringLikeWrapper &userPassword)
Constructs an AuthToken with the specified username and password per RFC2617.
Definition AuthToken.cpp:25
static AuthToken createBearerToken(const StringLikeWrapper &token)
Constructs an AuthToken with the specified bearer token per RFC6750.
Definition AuthToken.cpp:43
static AuthToken createCustomToken(const StringLikeWrapper &scheme, const StringLikeWrapper &value)
Constructs an AuthToken with a custom scheme and value.
Definition AuthToken.cpp:57
std::string getHttpAuthorization() const
Returns the HTTP authorization header value.
Definition AuthToken.cpp:61
std::string getValue() const
Returns the access token for RFC6750 or the Base64-encoded "username:password" for RFC2617.
Definition AuthToken.cpp:93
std::string getUser() const
Returns the username or dxfcpp::String::NUL (std::string{"<null>"}) if it is not known or applicable.
Definition AuthToken.cpp:69
Candle alignment attribute of CandleSymbol defines how candle are aligned with respect to time.
Definition CandleAlignment.hpp:32
static const CandleAlignment DEFAULT
Default alignment is CandleAlignment::MIDNIGHT.
Definition CandleAlignment.hpp:46
static const CandleAlignment MIDNIGHT
Align candles on midnight.
Definition CandleAlignment.hpp:12
static std::reference_wrapper< const CandleAlignment > getAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol)
Returns candle alignment of the given candle symbol string.
Definition CandleAlignment.cpp:79
static const CandleAlignment SESSION
Align candles on trading sessions.
Definition CandleAlignment.hpp:13
std::string toString() const
Returns string representation of this candle alignment.
Definition CandleAlignment.cpp:37
static std::string normalizeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol)
Returns candle symbol string with the normalized representation of the candle alignment attribute.
Definition CandleAlignment.cpp:91
static const std::string ATTRIBUTE_KEY
The attribute key that is used to store the value of CandleAlignment in a symbol string using methods...
Definition CandleAlignment.hpp:15
std::string changeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol) const override
Returns candle event symbol string with this candle alignment set.
Definition CandleAlignment.cpp:32
static std::reference_wrapper< const CandleAlignment > parse(const dxfcpp::StringLikeWrapper &s)
Parses string representation of candle alignment into object.
Definition CandleAlignment.cpp:53
Exchange attribute of CandleSymbol defines exchange identifier where data is taken from to build the ...
Definition CandleExchange.hpp:30
std::string changeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol) const override
Returns candle event symbol string with this exchange set.
Definition CandleExchange.hpp:65
static const CandleExchange COMPOSITE
Composite exchange where data is taken from all exchanges.
Definition CandleExchange.hpp:11
char getExchangeCode() const noexcept
Returns exchange code.
Definition CandleExchange.hpp:55
static CandleExchange getAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol)
Returns exchange attribute object of the given candle symbol string.
Definition CandleExchange.hpp:101
static const CandleExchange DEFAULT
Default exchange is CandleExchange::COMPOSITE.
Definition CandleExchange.hpp:39
std::string toString() const
Returns string representation of this exchange.
Definition CandleExchange.hpp:76
static CandleExchange valueOf(char exchangeCode) noexcept
Returns exchange attribute object that corresponds to the specified exchange code character.
Definition CandleExchange.hpp:90
Period attribute of CandleSymbol defines aggregation period of the candles.
Definition CandlePeriod.hpp:37
static CandlePeriod parse(const dxfcpp::StringLikeWrapper &s)
Parses string representation of aggregation period into object.
Definition CandlePeriod.hpp:155
double getValue() const noexcept
Returns aggregation period value.
Definition CandlePeriod.hpp:109
static const std::string ATTRIBUTE_KEY
The attribute key that is used to store the value of CandlePeriod in a symbol string using methods of...
Definition CandlePeriod.hpp:53
static const CandlePeriod TICK
Tick aggregation where each candle represents an individual tick.
Definition CandlePeriod.hpp:50
static const CandlePeriod DEFAULT
Default period is CandlePeriod::TICK.
Definition CandlePeriod.hpp:51
std::int64_t getPeriodIntervalMillis() const noexcept
Returns aggregation period in milliseconds as closely as possible.
Definition CandlePeriod.hpp:88
static const CandlePeriod DAY
Day aggregation where each candle represents a day.
Definition CandlePeriod.hpp:51
static CandlePeriod valueOf(double value, const CandleType &type) noexcept
Returns candle period with the given value and type.
Definition CandlePeriod.hpp:188
const CandleType & getType() const &noexcept
Returns aggregation period type.
Definition CandlePeriod.hpp:117
const std::string & toString() const &
Returns string representation of this aggregation period.
Definition CandlePeriod.hpp:131
std::string changeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol) const override
Returns candle event symbol string with this aggregation period set.
Definition CandlePeriod.hpp:97
static std::string normalizeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol)
Returns candle symbol string with the normalized representation of the candle period attribute.
Definition CandlePeriod.hpp:219
static CandlePeriod getAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol) noexcept
Returns candle period of the given candle symbol string.
Definition CandlePeriod.hpp:207
Candle price level attribute of CandleSymbol defines how candles shall be aggregated in respect to pr...
Definition CandlePriceLevel.hpp:40
std::string toString() const
Returns string representation of this price level.
Definition CandlePriceLevel.hpp:80
double getValue() const noexcept
Returns price level value.
Definition CandlePriceLevel.hpp:69
static CandlePriceLevel parse(const dxfcpp::StringLikeWrapper &s)
Parses string representation of candle price level into object.
Definition CandlePriceLevel.hpp:111
static const std::string ATTRIBUTE_KEY
The attribute key that is used to store the value of CandlePriceLevel in a symbol string using method...
Definition CandlePriceLevel.hpp:13
static CandlePriceLevel valueOf(double value)
Returns candle price level with the given value.
Definition CandlePriceLevel.hpp:122
static std::string normalizeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol)
Returns candle symbol string with the normalized representation of the candle price level attribute.
Definition CandlePriceLevel.hpp:149
std::string changeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol) const override
Returns candle event symbol string with this candle price level set.
Definition CandlePriceLevel.hpp:98
static const CandlePriceLevel DEFAULT
Default price level corresponds to NaN (std::numeric_limits<double>::quiet_NaN())
Definition CandlePriceLevel.hpp:11
static CandlePriceLevel getAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol)
Returns candle price level of the given candle symbol string.
Definition CandlePriceLevel.hpp:137
Price type attribute of CandleSymbol defines price that is used to build the candles.
Definition CandlePrice.hpp:34
static std::string normalizeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol)
Returns candle symbol string with the normalized representation of the candle price type attribute.
Definition CandlePrice.hpp:165
static const CandlePrice BID
Quote bid price.
Definition CandlePrice.hpp:12
static const CandlePrice ASK
Quote ask price.
Definition CandlePrice.hpp:13
static const CandlePrice LAST
Last trading price.
Definition CandlePrice.hpp:11
static std::reference_wrapper< const CandlePrice > getAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol) noexcept
Returns candle price type of the given candle symbol string.
Definition CandlePrice.hpp:153
static const CandlePrice MARK
Market price defined as average between quote bid and ask prices.
Definition CandlePrice.hpp:14
static std::reference_wrapper< const CandlePrice > parse(const dxfcpp::StringLikeWrapper &s)
Parses string representation of candle price type into object.
Definition CandlePrice.hpp:123
const std::string & toString() const &noexcept
Returns string representation of this candle price type.
Definition CandlePrice.hpp:107
static const CandlePrice DEFAULT
Default price type is CandlePrice::LAST.
Definition CandlePrice.hpp:65
static const CandlePrice SETTLEMENT
Official settlement price that is defined by exchange or last trading price otherwise.
Definition CandlePrice.hpp:15
std::string changeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol) const override
Returns candle event symbol string with this candle price type set.
Definition CandlePrice.hpp:95
static const std::string ATTRIBUTE_KEY
The attribute key that is used to store the value of CandlePrice in a symbol string using methods of ...
Definition CandlePrice.hpp:18
const std::string & toString() const &noexcept
Returns string representation of this candle session attribute.
Definition CandleSession.hpp:102
std::string changeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol) const override
Returns candle event symbol string with this session attribute set.
Definition CandleSession.hpp:90
static const CandleSession REGULAR
Only regular trading session data is used to build candles.
Definition CandleSession.hpp:45
static std::string normalizeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol) noexcept
Returns candle symbol string with the normalized representation of the candle session attribute.
Definition CandleSession.hpp:159
const SessionFilter & getSessionFilter() const &noexcept
Returns session filter that corresponds to this session attribute.
Definition CandleSession.hpp:81
static std::reference_wrapper< const CandleSession > parse(const dxfcpp::StringLikeWrapper &s)
Parses string representation of candle session attribute into object.
Definition CandleSession.hpp:118
static const CandleSession ANY
All trading sessions are used to build candles.
Definition CandleSession.hpp:44
static std::reference_wrapper< const CandleSession > getAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol)
Returns candle session attribute of the given candle symbol string.
Definition CandleSession.hpp:147
static const std::string ATTRIBUTE_KEY
The attribute key that is used to store the value of CandleSession in a symbol string using methods o...
Definition CandleSession.hpp:60
static const CandleSession DEFAULT
Default trading session is CandleSession::ANY.
Definition CandleSession.hpp:51
Attribute of the CandleSymbol.
Definition CandleSymbolAttribute.hpp:19
virtual std::string changeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol) const =0
Returns candle event symbol string with this attribute set.
Symbol that should be used with DXFeedSubscription class to subscribe for Candle events.
Definition CandleSymbol.hpp:83
static CandleSymbol valueOf(std::string symbol, CandleSymbolAttributesCollection &&attributes) noexcept
Converts the given string symbol into the candle symbol object with the specified attributes set.
Definition CandleSymbol.hpp:347
const std::optional< CandlePeriod > & getPeriod() const &noexcept
Returns aggregation period of this symbol.
Definition CandleSymbol.hpp:210
const std::optional< CandlePriceLevel > & getPriceLevel() const &noexcept
Returns price level attribute of this symbol.
Definition CandleSymbol.hpp:228
static CandleSymbol valueOf(std::string symbol, std::initializer_list< CandleSymbolAttributeVariant > attributes) noexcept
Converts the given string symbol into the candle symbol object with the specified attributes set (ini...
Definition CandleSymbol.hpp:329
const std::optional< CandleExchange > & getExchange() const &noexcept
Returns exchange attribute of this symbol.
Definition CandleSymbol.hpp:183
const std::string & getBaseSymbol() const &noexcept
Returns base market symbol without attributes.
Definition CandleSymbol.hpp:174
static CandleSymbol valueOf(std::string symbol, CandleSymbolAttributeIt begin, CandleSymbolAttributeIt end) noexcept
Converts the given string symbol into the candle symbol object with the specified attribute set (iter...
Definition CandleSymbol.hpp:316
const std::optional< CandlePrice > & getPrice() const &noexcept
Returns price type attribute of this symbol.
Definition CandleSymbol.hpp:192
static CandleSymbol valueOf(std::string symbol) noexcept
Converts the given string symbol into the candle symbol object.
Definition CandleSymbol.hpp:291
static CandleSymbol valueOf(std::string symbol, const CandleSymbolAttributeVariant &attribute) noexcept
Converts the given string symbol into the candle symbol object with the specified attribute set.
Definition CandleSymbol.hpp:302
virtual void * toGraal() const
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition CandleSymbol.cpp:11
const std::string & toString() const &noexcept
Returns string representation of this symbol.
Definition CandleSymbol.hpp:239
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition CandleSymbol.cpp:21
const std::optional< CandleSession > & getSession() const &noexcept
Returns session attribute of this symbol.
Definition CandleSymbol.hpp:201
static CandleSymbol fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition CandleSymbol.cpp:36
const std::optional< CandleAlignment > & getAlignment() const &noexcept
Returns alignment attribute of this symbol.
Definition CandleSymbol.hpp:219
Type of the candle aggregation period constitutes CandlePeriod type together its actual value.
Definition CandleType.hpp:27
static const CandleType VOLUME
Certain volume of trades.
Definition CandleType.hpp:76
static const CandleType MONTH
Certain number of months.
Definition CandleType.hpp:61
static const CandleType PRICE_RENKO
Certain price change, calculated according to the following rules:
Definition CandleType.hpp:111
static std::reference_wrapper< const CandleType > parse(const dxfcpp::StringLikeWrapper &s)
Parses string representation of candle type into object.
Definition CandleType.hpp:177
static const CandleType DAY
Certain number of days.
Definition CandleType.hpp:15
std::int64_t getPeriodIntervalMillis() const noexcept
Returns candle type period in milliseconds as closely as possible.
Definition CandleType.hpp:141
static const CandleType WEEK
Certain number of weeks.
Definition CandleType.hpp:16
static const CandleType HOUR
Certain number of hours.
Definition CandleType.hpp:14
static const CandleType PRICE
Certain price change, calculated according to the following rules:
Definition CandleType.hpp:87
static const CandleType TICK
Certain number of ticks.
Definition CandleType.hpp:11
const std::string & toString() const &noexcept
Returns string representation of this candle type.
Definition CandleType.hpp:164
static const CandleType OPTEXP
Certain number of option expirations.
Definition CandleType.hpp:66
static const CandleType SECOND
Certain number of seconds.
Definition CandleType.hpp:12
static const CandleType MINUTE
Certain number of minutes.
Definition CandleType.hpp:13
const std::string & getName() const &noexcept
Returns a name of this candle type.
Definition CandleType.hpp:150
static const CandleType PRICE_MOMENTUM
Certain price change, calculated according to the following rules:
Definition CandleType.hpp:99
static const CandleType YEAR
Certain number of years.
Definition CandleType.hpp:71
Mixin for wrapping calls to common promise methods.
Definition Promise.hpp:72
JavaException getException() const
Returns exceptional outcome of computation.
Definition Promise.hpp:120
void cancel() const
Cancels computation.
Definition Promise.hpp:167
bool hasResult() const
Returns true when computation has completed normally.
Definition Promise.hpp:88
bool isCancelled() const
Returns true when computation was cancelled.
Definition Promise.hpp:107
bool hasException() const
Returns true when computation has completed exceptionally or was cancelled.
Definition Promise.hpp:97
bool awaitWithoutException(const std::chrono::milliseconds &timeoutInMilliseconds) const
Wait for computation to complete or timeout or throw an exception in case of exceptional completion.
Definition Promise.hpp:154
bool isDone() const
Returns true when computation has completed normally, or exceptionally, or was cancelled.
Definition Promise.hpp:78
bool awaitWithoutException(std::int32_t timeoutInMilliseconds) const
Wait for computation to complete or timeout or throw an exception in case of exceptional completion.
Definition Promise.hpp:137
Manages network connections to feed or publisher.
Definition DXEndpoint.hpp:186
bool isClosed() const
Definition DXEndpoint.cpp:488
SimpleHandler< void(DXEndpoint::State, DXEndpoint::State)> & onStateChange() noexcept
Returns the onStateChange handler that can be used to add or remove listeners.
Definition DXEndpoint.cpp:500
static const std::string DXFEED_PASSWORD_PROPERTY
"dxfeed.password"
Definition DXEndpoint.hpp:253
static std::shared_ptr< DXEndpoint > create(Role role)
Creates an endpoint with a specified role.
Definition DXEndpoint.cpp:476
void awaitProcessed()
Waits until this endpoint stops processing data (becomes quiescent).
Definition DXEndpoint.cpp:211
State
Represents the current state of endpoint.
Definition DXEndpoint.hpp:451
@ CLOSED
Endpoint was closed.
Definition DXEndpoint.hpp:471
@ CONNECTING
The connect method was called to establish connection to remove endpoint, but connection is not actua...
Definition DXEndpoint.hpp:461
@ CONNECTED
The connection to remote endpoint is established.
Definition DXEndpoint.hpp:466
@ NOT_CONNECTED
Endpoint was created by is not connected to remote endpoints.
Definition DXEndpoint.hpp:455
void disconnectAndClear()
Terminates all remote network connections and clears stored data.
Definition DXEndpoint.cpp:195
void reconnect()
Terminates all established network connections and initiates connecting again with the same address.
Definition DXEndpoint.cpp:179
static std::shared_ptr< DXEndpoint > create()
Creates an endpoint with FEED role.
Definition DXEndpoint.cpp:468
void removeStateChangeListener(std::size_t listenerId) noexcept
Removes listener that is notified about changes in state property.
Definition DXEndpoint.cpp:496
const std::string & getName() const &noexcept
Definition DXEndpoint.cpp:492
Role
Represents the role of endpoint that was specified during its creation.
Definition DXEndpoint.hpp:380
@ PUBLISHER
PUBLISHER endpoint connects to the remote publisher hub (also known as multiplexor) or creates a publ...
Definition DXEndpoint.hpp:425
@ STREAM_FEED
STREAM_FEED endpoint is similar to DXEndpoint::FEED and also connects to the remote data feed provide...
Definition DXEndpoint.hpp:413
@ LOCAL_HUB
LOCAL_HUB endpoint is a local hub without ability to establish network connections.
Definition DXEndpoint.hpp:441
@ ON_DEMAND_FEED
ON_DEMAND_FEED endpoint is similar to DXEndpoint::FEED, but it is designed to be used with OnDemandSe...
Definition DXEndpoint.hpp:404
@ STREAM_PUBLISHER
STREAM_PUBLISHER endpoint is similar to DXEndpoint::PUBLISHER and also connects to the remote publish...
Definition DXEndpoint.hpp:434
@ FEED
FEED endpoint connects to the remote data feed provider and is optimized for real-time or delayed dat...
Definition DXEndpoint.hpp:391
std::string toString() const override
Returns a string representation of the current object.
Definition DXEndpoint.cpp:371
std::shared_ptr< DXFeed > getFeed()
Definition DXEndpoint.cpp:227
static const std::string DXFEED_WILDCARD_ENABLE_PROPERTY
"dxfeed.wildcard.enable"
Definition DXEndpoint.hpp:281
std::size_t addStateChangeListener(std::function< void(State, State)> listener) noexcept
Adds listener that is notified about changes in state property.
Definition DXEndpoint.hpp:628
static const std::string DXENDPOINT_EVENT_TIME_PROPERTY
"dxendpoint.eventTime"
Definition DXEndpoint.hpp:326
static const std::string DXPUBLISHER_THREAD_POOL_SIZE_PROPERTY
"dxpublisher.threadPoolSize"
Definition DXEndpoint.hpp:309
std::shared_ptr< DXEndpoint > connect(const std::string &address)
Connects to the specified remote address.
Definition DXEndpoint.cpp:168
State getState() const
Returns the state of this endpoint.
Definition DXEndpoint.cpp:150
static const std::string DXENDPOINT_STORE_EVERYTHING_PROPERTY
"dxendpoint.storeEverything"
Definition DXEndpoint.hpp:339
static std::shared_ptr< DXEndpoint > getInstance(Role role)
Returns a default application-wide singleton instance of DXEndpoint for a specific role.
Definition DXEndpoint.cpp:452
std::shared_ptr< DXPublisher > getPublisher()
Definition DXEndpoint.cpp:235
static const std::string DXFEED_AGGREGATION_PERIOD_PROPERTY
"dxfeed.aggregationPeriod"
Definition DXEndpoint.hpp:272
std::shared_ptr< DXEndpoint > password(const std::string &password)
Changes password for this endpoint.
Definition DXEndpoint.cpp:161
void close()
Closes this endpoint.
Definition DXEndpoint.cpp:504
static const std::string DXFEED_THREAD_POOL_SIZE_PROPERTY
"dxfeed.threadPoolSize"
Definition DXEndpoint.hpp:262
void awaitNotConnected()
Waits while this endpoint state becomes NOT_CONNECTED or CLOSED.
Definition DXEndpoint.cpp:203
void closeAndAwaitTermination()
Closes this endpoint and wait until all pending data processing tasks are completed.
Definition DXEndpoint.cpp:219
std::shared_ptr< DXEndpoint > user(const std::string &user)
Changes user name for this endpoint.
Definition DXEndpoint.cpp:154
static std::shared_ptr< DXEndpoint > getInstance()
Returns a default application-wide singleton instance of DXEndpoint with a FEED role.
Definition DXEndpoint.cpp:444
static const std::string DXPUBLISHER_ADDRESS_PROPERTY
"dxpublisher.address"
Definition DXEndpoint.hpp:300
static const std::string DXFEED_USER_PROPERTY
"dxfeed.user"
Definition DXEndpoint.hpp:243
static const std::string NAME_PROPERTY
"name"
Definition DXEndpoint.hpp:203
static const std::string DXSCHEME_ENABLED_PROPERTY_PREFIX
"dxscheme.enabled."
Definition DXEndpoint.hpp:373
static const std::string DXPUBLISHER_PROPERTIES_PROPERTY
"dxpublisher.properties"
Definition DXEndpoint.hpp:290
static const std::string DXSCHEME_NANO_TIME_PROPERTY
"dxscheme.nanoTime"
Definition DXEndpoint.hpp:359
static const std::string DXFEED_ADDRESS_PROPERTY
"dxfeed.address"
Definition DXEndpoint.hpp:233
Role getRole() const noexcept
Returns the role of this endpoint.
Definition DXEndpoint.cpp:484
static const std::string DXFEED_PROPERTIES_PROPERTY
"dxfeed.properties"
Definition DXEndpoint.hpp:214
static std::shared_ptr< Builder > newBuilder()
Creates new Builder instance.
Definition DXEndpoint.cpp:460
void disconnect()
Terminates all remote network connections.
Definition DXEndpoint.cpp:187
Main entry class for dxFeed API (read it first).
Definition DXFeed.hpp:116
std::vector< std::shared_ptr< E > > getTimeSeriesIfSubscribed(const SymbolWrapper &symbol, std::int64_t fromTime) const
Returns time series of events for the specified event type, symbol, and a range of time (without an u...
Definition DXFeed.hpp:975
std::shared_ptr< DXFeedTimeSeriesSubscription > createTimeSeriesSubscription(EventTypeIt begin, EventTypeIt end)
Creates new subscription for multiple event types that is attached to this feed.
Definition DXFeed.hpp:462
std::shared_ptr< DXFeedSubscription > createSubscription(std::initializer_list< EventTypeEnum > eventTypes)
Creates new subscription for multiple event types that is attached to this feed.
Definition DXFeed.cpp:98
void detachSubscriptionAndClear(std::shared_ptr< DXFeedSubscription > subscription)
Detaches the given subscription from this feed and clears data delivered to this subscription by publ...
Definition DXFeed.cpp:67
std::shared_ptr< DXFeedSubscription > createSubscription(EventTypeIt begin, EventTypeIt end)
Creates new subscription for multiple event types that is attached to this feed.
Definition DXFeed.hpp:356
std::shared_ptr< PromiseList< E > > getLastEventsPromises(std::initializer_list< SymbolWrapper > collection) const
Requests the last events for the specified event type and a collection of symbols.
Definition DXFeed.hpp:691
std::shared_ptr< DXFeedTimeSeriesSubscription > createTimeSeriesSubscription(const EventTypeEnum &eventType)
Creates new subscription for a single event type that is attached to this feed.
Definition DXFeed.cpp:111
std::vector< std::shared_ptr< E > > getTimeSeriesIfSubscribed(const SymbolWrapper &symbol, std::chrono::milliseconds fromTime, std::chrono::milliseconds toTime) const
Returns time series of events for the specified event type, symbol, and a range of time if there is a...
Definition DXFeed.hpp:959
std::vector< std::shared_ptr< E > > getTimeSeriesIfSubscribed(const SymbolWrapper &symbol, std::int64_t fromTime, std::int64_t toTime) const
Returns time series of events for the specified event type, symbol, and a range of time if there is a...
Definition DXFeed.hpp:907
void attachSubscription(std::shared_ptr< DXFeedSubscription > subscription)
Attaches the given subscription to this feed.
Definition DXFeed.cpp:29
std::shared_ptr< Promise< std::vector< std::shared_ptr< E > > > > getTimeSeriesPromise(const SymbolWrapper &symbol, std::int64_t fromTime, std::int64_t toTime) const
Requests time series of events for the specified event type, symbol, and a range of time.
Definition DXFeed.hpp:855
std::shared_ptr< E > getLastEventIfSubscribed(const SymbolWrapper &symbol)
Returns the last event for the specified event type and symbol if there is a subscription for it.
Definition DXFeed.hpp:305
std::shared_ptr< PromiseList< E > > getLastEventsPromises(SymbolsCollection &&collection) const
Requests the last events for the specified event type and a collection of symbols.
Definition DXFeed.hpp:649
std::shared_ptr< DXFeedSubscription > createSubscription(EventTypesCollection &&eventTypes)
Creates new subscription for multiple event types that is attached to this feed.
Definition DXFeed.hpp:403
std::shared_ptr< DXFeedSubscription > createSubscription(const EventTypeEnum &eventType)
Creates new subscription for a single event type that is attached to this feed.
Definition DXFeed.cpp:86
std::vector< std::shared_ptr< E > > getTimeSeriesIfSubscribed(const SymbolWrapper &symbol, std::chrono::milliseconds fromTime) const
Returns time series of events for the specified event type, symbol, and a range of time (without an u...
Definition DXFeed.hpp:990
std::shared_ptr< DXFeedTimeSeriesSubscription > createTimeSeriesSubscription(EventTypesCollection &&eventTypes)
Creates new subscription for multiple event types that is attached to this feed.
Definition DXFeed.hpp:524
static std::shared_ptr< DXFeed > getInstance()
Returns a default application-wide singleton instance of feed.
Definition DXFeed.cpp:21
void detachSubscription(std::shared_ptr< DXFeedSubscription > subscription)
Detaches the given subscription from this feed.
Definition DXFeed.cpp:48
std::shared_ptr< E > getLastEvent(std::shared_ptr< E > event)
Returns the last event for the specified event instance.
Definition DXFeed.hpp:245
std::shared_ptr< PromiseList< E > > getLastEventsPromises(SymbolIt begin, SymbolIt end) const
Requests the last events for the specified event type and a collection of symbols.
Definition DXFeed.hpp:603
std::shared_ptr< Promise< std::shared_ptr< E > > > getLastEventPromise(const SymbolWrapper &symbol) const
Requests the last event for the specified event type and symbol.
Definition DXFeed.hpp:558
std::shared_ptr< DXFeedTimeSeriesSubscription > createTimeSeriesSubscription(std::initializer_list< EventTypeEnum > eventTypes)
Creates new subscription for multiple event types that is attached to this feed.
Definition DXFeed.cpp:132
std::string toString() const override
Returns a string representation of the current object.
Definition DXFeed.cpp:217
std::shared_ptr< Promise< std::vector< std::shared_ptr< E > > > > getIndexedEventsPromise(const SymbolWrapper &symbol, const IndexedEventSource &source) const
Requests a container of indexed events for the specified event type, symbol, and source.
Definition DXFeed.hpp:744
std::vector< std::shared_ptr< E > > getIndexedEventsIfSubscribed(const SymbolWrapper &symbol, const IndexedEventSource &source) const
Returns a vector of indexed events for the specified event type, symbol, and source if there is a sub...
Definition DXFeed.hpp:800
const Collection & getLastEvents(const Collection &events)
Returns the last events for the specified list of event instances.
Definition DXFeed.hpp:266
Provides API for publishing of events to local or remote DXFeed.
Definition DXPublisher.hpp:62
std::shared_ptr< ObservableSubscription > getSubscription(const EventTypeEnum &eventType)
Returns observable set of subscribed symbols for the specified event type.
Definition DXPublisher.cpp:43
void publishEvents(std::initializer_list< std::shared_ptr< EventType > > events) noexcept
Publishes events to the corresponding feed.
Definition DXPublisher.hpp:184
void publishEvents(EventIt begin, EventIt end)
Publishes events to the corresponding feed.
Definition DXPublisher.hpp:204
std::string toString() const override
Returns a string representation of the current object.
Definition DXPublisher.cpp:58
static std::shared_ptr< DXPublisher > getInstance()
Returns a default application-wide singleton instance of DXPublisher.
Definition DXPublisher.cpp:20
void publishEvents(EventsCollection &&events) noexcept
Publishes events to the corresponding feed.
Definition DXPublisher.hpp:166
void publishEvents(std::shared_ptr< EventType > event) noexcept
Publishes an event to the corresponding feed.
Definition DXPublisher.hpp:193
Direction of the price movement.
Definition Direction.hpp:23
static const DXFCPP_EXPORT Direction UNDEFINED
Direction is undefined, unknown or inapplicable.
Definition Direction.hpp:16
static const DXFCPP_EXPORT Direction DOWN
Current price is lower than previous price.
Definition Direction.hpp:17
static const DXFCPP_EXPORT Direction ZERO
Current price is equal to the only known price value suitable for price direction computation.
Definition Direction.hpp:19
static const DXFCPP_EXPORT Direction ZERO_DOWN
Current price is the same as previous price and is lower than the last known price of different value...
Definition Direction.hpp:18
static const DXFCPP_EXPORT Direction UP
Current price is higher than previous price.
Definition Direction.hpp:21
static const DXFCPP_EXPORT Direction ZERO_UP
Current price is the same as previous price and is higher than the last known price of different valu...
Definition Direction.hpp:20
Base abstract class for all dxFeed C++ API entities.
Definition Entity.hpp:13
virtual ~Entity() noexcept=default
The default virtual d-tor.
Mixin for wrapping Promise method calls for a single event.
Definition Promise.hpp:236
std::shared_ptr< E > getResult() const
Returns result of computation.
Definition Promise.hpp:244
std::shared_ptr< E > await() const
Wait for computation to complete and return its result or throw an exception in case of exceptional c...
Definition Promise.hpp:254
std::shared_ptr< E > await(const std::chrono::milliseconds &timeoutInMilliseconds) const &
Wait for computation to complete or timeout and return its result or throw an exception in case of ex...
Definition Promise.hpp:284
std::shared_ptr< E > await(std::int32_t timeoutInMilliseconds) const &
Wait for computation to complete or timeout and return its result or throw an exception in case of ex...
Definition Promise.hpp:269
bool isOrderSource() const noexcept
Definition EventSourceWrapper.hpp:242
std::unique_ptr< void, decltype(&EventSourceWrapper::freeGraal)> toGraalUnique() const noexcept
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition EventSourceWrapper.hpp:200
std::string toStringUnderlying() const
Returns a string representation of the underlying object.
Definition EventSourceWrapper.hpp:224
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition EventSourceWrapper.hpp:163
std::string toString() const
Returns a string representation of the current object.
Definition EventSourceWrapper.hpp:209
void * toGraal() const noexcept
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition EventSourceWrapper.hpp:184
static EventSourceWrapper fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition EventSourceWrapper.cpp:40
const DataType & getData() const noexcept
Definition EventSourceWrapper.hpp:266
EventSourceWrapper(const IndexedEventSource &data) noexcept
Constructs a wrapper from IndexedEventSource.
Definition EventSourceWrapper.hpp:145
bool isIndexedEventSource() const noexcept
Definition EventSourceWrapper.hpp:235
std::optional< IndexedEventSource > asIndexedEventSource() const noexcept
Definition EventSourceWrapper.hpp:250
std::optional< OrderSource > asOrderSource() const noexcept
Definition EventSourceWrapper.hpp:259
EventSourceWrapper(const OrderSource &data) noexcept
Constructs a wrapper from OrderSource.
Definition EventSourceWrapper.hpp:153
Event type parametrized by a symbol.
Definition EventType.hpp:116
virtual const std::optional< Symbol > & getEventSymbolOpt() const &noexcept=0
Returns event symbol that identifies this event type in subscription.
virtual void setEventSymbol(const Symbol &eventSymbol) noexcept=0
Changes event symbol that identifies this event type in subscription.
virtual const Symbol & getEventSymbol() const &noexcept=0
Returns event symbol that identifies this event type in subscription.
Marks all event types that can be received via dxFeed API.
Definition EventType.hpp:31
std::string toString() const override
Returns a string representation of the current object.
Definition EventType.hpp:89
virtual std::int64_t getEventTime() const noexcept
Returns time when event was created or zero when time is not available.
Definition EventType.hpp:54
virtual void assign(std::shared_ptr< EventType > event)
Replaces the contents of the event.
Definition EventType.hpp:84
virtual void * toGraal() const =0
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
virtual void setEventTime(std::int64_t) noexcept
Changes event creation time.
Definition EventType.hpp:66
This marker interface marks subscription symbol classes (like TimeSeriesSubscriptionSymbol) that atta...
Definition FilteredSubscriptionSymbol.hpp:27
The wrapper over CEntryPointErrorsEnum, the error code returned by GraalVM.
Definition GraalException.hpp:22
GraalException(CEntryPointErrorsEnum entryPointErrorsEnum)
Constructs an exception.
Definition GraalException.cpp:10
void handle(ArgTypes... args)
Calls the listeners and pass the args to them.
Definition Handler.hpp:123
std::size_t add(ListenerType &&listener)
Adds the listener to "main" group.
Definition Handler.hpp:157
std::size_t operator%=(ListenerType &&listener)
Adds the low priority listener (to the "low priority" group).
Definition Handler.hpp:209
std::size_t operator+=(ListenerType &&listener)
Adds the listener to "main" group.
Definition Handler.hpp:198
void operator()(ArgTypes... args)
Calls the listeners and pass the ars to them.
Definition Handler.hpp:147
Handler(std::size_t mainFuturesSize=MAIN_FUTURES_DEFAULT_SIZE) noexcept
Creates the new handler by specified size of circular buffer of futures.
Definition Handler.hpp:85
void operator-=(std::size_t id)
Removes a listener by the id.
Definition Handler.hpp:237
std::size_t addLowPriority(ListenerType &&listener)
Adds the low priority listener (to the "low priority" group) It will be called after the "main" liste...
Definition Handler.hpp:178
void remove(std::size_t id)
Removes a listener by the id.
Definition Handler.hpp:218
Type of an iceberg order.
Definition IcebergType.hpp:20
static const DXFCPP_EXPORT IcebergType SYNTHETIC
Represents synthetic (managed outside of the exchange) iceberg type.
Definition IcebergType.hpp:16
static const DXFCPP_EXPORT IcebergType UNDEFINED
Iceberg type is undefined, unknown or inapplicable.
Definition IcebergType.hpp:14
static const DXFCPP_EXPORT IcebergType NATIVE
Represents native (exchange-managed) iceberg type.
Definition IcebergType.hpp:15
Represents an indexed collection of up-to-date information about some condition or state of an extern...
Definition IndexedEvent.hpp:41
virtual EventFlagsMask getEventFlagsMask() const noexcept=0
Returns transactional event flags.
static const EventFlag TX_PENDING
0x01 - A bitmask to get transaction pending indicator from the value of eventFlags property.
Definition IndexedEvent.hpp:46
virtual const IndexedEventSource & getSource() const &noexcept=0
Returns the source of this event.
virtual std::int64_t getIndex() const noexcept=0
Returns unique per-symbol index of this event.
static const EventFlag SNAPSHOT_END
0x08 - A bitmask to get snapshot end indicator from the value of eventFlags property.
Definition IndexedEvent.hpp:55
virtual std::int32_t getEventFlags() const noexcept=0
Returns transactional event flags.
static const EventFlag SNAPSHOT_MODE
0x40 - A bitmask to set snapshot mode indicator into the value of eventFlags property.
Definition IndexedEvent.hpp:61
static const EventFlag SNAPSHOT_SNIP
0x10 - A bitmask to get snapshot snip indicator from the value of eventFlags property.
Definition IndexedEvent.hpp:58
static const EventFlag REMOVE_EVENT
0x02 - A bitmask to get removal indicator from the value of eventFlags property.
Definition IndexedEvent.hpp:49
virtual void setIndex(std::int64_t index)=0
Changes unique per-symbol index of this event.
static const EventFlag SNAPSHOT_BEGIN
0x04 - A bitmask to get snapshot begin indicator from the value of eventFlags property.
Definition IndexedEvent.hpp:52
virtual void setEventFlags(std::int32_t eventFlags) noexcept=0
Changes transactional event flags.
virtual void setEventFlags(const EventFlagsMask &eventFlags) noexcept=0
Changes transactional event flags.
Thrown to indicate that a method has been passed an illegal or inappropriate argument.
Definition InvalidArgumentException.hpp:21
A wrapper over the interceptable Java exceptions thrown by the dxFeed Native Graal SDK.
Definition JavaException.hpp:24
JavaException(const StringLikeWrapper &message, const StringLikeWrapper &className, const StringLikeWrapper &stackTrace)
Creates an exception using Java message, className and stack trace.
Definition JavaException.cpp:12
static void throwIfJavaThreadExceptionExists()
Throws a JavaException if it exists (i.e. intercepted by Graal SDK)
Definition JavaException.cpp:30
static JavaException create(void *exceptionHandle)
Creates an exception using native (GraalVM) Java exception handle.
Definition JavaException.cpp:20
Represents up-to-date information about some condition or state of an external entity that updates in...
Definition LastingEvent.hpp:28
Helper class to compose and parse symbols for market events.
Definition MarketEventSymbols.hpp:39
static bool hasExchangeCode(const std::string &symbol) noexcept
Returns true is the specified symbol has the exchange code specification.
Definition MarketEventSymbols.hpp:46
static DXFCPP_CXX20_CONSTEXPR_STRING std::string changeBaseSymbol(const std::string &symbol, const std::string &baseSymbol) noexcept
Changes base symbol while leaving exchange code and attributes intact.
Definition MarketEventSymbols.hpp:91
static DXFCPP_CXX20_CONSTEXPR_STRING std::string changeExchangeCode(const std::string &symbol, char exchangeCode) noexcept
Changes exchange code of the specified symbol or removes it if new exchange code is ‘’\0'`.
Definition MarketEventSymbols.hpp:67
static DXFCPP_CXX20_CONSTEXPR_STRING std::string getBaseSymbol(const std::string &symbol) noexcept
Returns base symbol without exchange code and attributes.
Definition MarketEventSymbols.hpp:81
static DXFCPP_CXX20_CONSTEXPR_STRING std::optional< std::string > getAttributeStringByKey(const std::string &symbol, const std::string &key) noexcept
Returns value of the attribute with the specified key.
Definition MarketEventSymbols.hpp:110
static DXFCPP_CXX20_CONSTEXPR_STRING std::string removeAttributeStringByKey(const std::string &symbol, const std::string &key) noexcept
Removes one attribute with the specified key while leaving exchange code and other attributes intact.
Definition MarketEventSymbols.hpp:139
static DXFCPP_CXX20_CONSTEXPR_STRING std::string changeAttributeStringByKey(const std::string &symbol, const std::string &key, const std::string &value) noexcept
Changes value of one attribute value while leaving exchange code and other attributes intact.
Definition MarketEventSymbols.hpp:124
static char getExchangeCode(const std::string &symbol) noexcept
Returns exchange code of the specified symbol or ‘’\0'` if none is defined.
Definition MarketEventSymbols.hpp:56
Base class for all market events.
Definition MarketEvent.hpp:25
void setEventTime(std::int64_t eventTime) noexcept override
Changes event creation time.
Definition MarketEvent.hpp:95
const std::string & getEventSymbol() const &noexcept override
Returns symbol of this event.
Definition MarketEvent.hpp:62
std::int64_t getEventTime() const noexcept override
Returns time when event was created or zero when time is not available.
Definition MarketEvent.hpp:90
const std::optional< std::string > & getEventSymbolOpt() const &noexcept override
Returns symbol of this event.
Definition MarketEvent.hpp:75
void assign(std::shared_ptr< EventType > event) override
Replaces the contents of the event.
Definition MarketEvent.hpp:50
void setEventSymbol(const std::string &eventSymbol) noexcept override
Changes symbol of this event.
Definition MarketEvent.hpp:84
MarketEvent(std::string eventSymbol) noexcept
Protected constructor for concrete implementation classes that initializes eventSymbol property.
Definition MarketEvent.hpp:41
Observable set of subscription symbols.
Definition ObservableSubscription.hpp:25
virtual std::size_t addChangeListener(std::shared_ptr< ObservableSubscriptionChangeListener > listener)=0
Adds subscription change listener.
virtual bool containsEventType(const EventTypeEnum &eventType)=0
Returns true if this subscription contains the corresponding event type.
virtual void removeChangeListener(std::size_t id)=0
Removes subscription change listener by id.
virtual bool isClosed()=0
virtual std::unordered_set< EventTypeEnum > getEventTypes()=0
Provides on-demand historical tick data replay controls.
Definition OnDemandService.hpp:76
Action enum for the Full Order Book (FOB) Orders.
Definition OrderAction.hpp:21
static const DXFCPP_EXPORT OrderAction TRADE
Non-Book Trade - this Trade not refers to any entry in Order Book.
Definition OrderAction.hpp:21
static const DXFCPP_EXPORT OrderAction EXECUTE
Order is fully executed and removed from Order Book.
Definition OrderAction.hpp:20
static const DXFCPP_EXPORT OrderAction BUST
Prior Trade/Order Execution bust.
Definition OrderAction.hpp:22
static const DXFCPP_EXPORT OrderAction PARTIAL
Size is changed (usually reduced) due to partial order execution.
Definition OrderAction.hpp:19
static const DXFCPP_EXPORT OrderAction REPLACE
Order is modified and price-time-priority is not maintained (i.e.
Definition OrderAction.hpp:16
static const DXFCPP_EXPORT OrderAction MODIFY
Order is modified without changing its price-time-priority (usually due to partial cancel by user).
Definition OrderAction.hpp:17
static const DXFCPP_EXPORT OrderAction DELETE
Order is fully canceled and removed from Order Book.
Definition OrderAction.hpp:18
static const DXFCPP_EXPORT OrderAction NEW
New Order is added to Order Book.
Definition OrderAction.hpp:15
static const DXFCPP_EXPORT OrderAction UNDEFINED
Default enum value for orders that do not support "Full Order Book" and for backward compatibility - ...
Definition OrderAction.hpp:14
Type of prices on the OTC Markets.
Definition OtcMarketsPriceType.hpp:23
static const DXFCPP_EXPORT OtcMarketsPriceType WANTED
Offer Wanted/Bid Wanted (OW/BW) is used to solicit sellers/buyers, without displaying actual price or...
Definition OtcMarketsPriceType.hpp:16
static const DXFCPP_EXPORT OtcMarketsPriceType UNPRICED
Unpriced quotes are an indication of interest (IOI) in a security used when a trader does not wish to...
Definition OtcMarketsPriceType.hpp:14
static const DXFCPP_EXPORT OtcMarketsPriceType ACTUAL
Actual (Priced) is the actual amount a trader is willing to buy or sell securities.
Definition OtcMarketsPriceType.hpp:15
Type of the price value.
Definition PriceType.hpp:20
static const DXFCPP_EXPORT PriceType PRELIMINARY
Preliminary price (preliminary settlement price), usually posted prior to PriceType::FINAL price.
Definition PriceType.hpp:16
static const DXFCPP_EXPORT PriceType FINAL
Final price (final settlement price).
Definition PriceType.hpp:17
static const DXFCPP_EXPORT PriceType REGULAR
Regular price.
Definition PriceType.hpp:14
static const DXFCPP_EXPORT PriceType INDICATIVE
Indicative price (derived via math formula).
Definition PriceType.hpp:15
A list of event receiving results that will be completed normally or exceptionally in the future.
Definition Promise.hpp:424
Result of a computation that will be completed normally or exceptionally in the future.
Definition Promise.hpp:350
Utility methods to manipulate promises.
Definition Promises.hpp:20
A helper class needed to construct smart pointers to objects, and does not allow explicit constructio...
Definition SharedEntity.hpp:89
static auto createShared(Args &&...args)
Creates smart pointer to object.
Definition SharedEntity.hpp:103
A runtime axception with stacktrace.
Definition RuntimeException.hpp:20
RuntimeException(const StringLikeWrapper &message, const StringLikeWrapper &additionalStackTrace="")
Constructs a runtime exception.
Definition RuntimeException.cpp:71
const std::string & getStackTrace() const &
Definition RuntimeException.cpp:85
Scope of an order.
Definition Scope.hpp:23
static const DXFCPP_EXPORT Scope AGGREGATE
Represents aggregate information for a given price level or best bid or best offer for a given market...
Definition Scope.hpp:18
static const DXFCPP_EXPORT Scope ORDER
Represents individual order on the market.
Definition Scope.hpp:19
static const DXFCPP_EXPORT Scope COMPOSITE
Represents best bid or best offer for the whole market.
Definition Scope.hpp:16
static const DXFCPP_EXPORT Scope REGIONAL
Represents best bid or best offer for a given exchange code.
Definition Scope.hpp:17
static const SessionFilter TRADING
Accepts trading sessions only - those with (Session::isTrading() == true).
Definition SessionFilter.hpp:33
static const SessionFilter ANY
Accepts any session - useful for pure schedule navigation.
Definition SessionFilter.hpp:32
static const SessionFilter AFTER_MARKET
Accepts any session with type SessionType::AFTER_MARKET.
Definition SessionFilter.hpp:41
static const SessionFilter REGULAR
Accepts any session with type SessionType::REGULAR.
Definition SessionFilter.hpp:40
SessionFilter(SessionFilterEnum code, std::string name, std::optional< SessionType > type, std::optional< bool > trading) noexcept
Creates filter with specified type and trading flag conditions.
Definition CandleSession.cpp:17
static const SessionFilter NO_TRADING
Accepts any session with type SessionType::NO_TRADING.
Definition SessionFilter.hpp:36
static const SessionFilter NON_TRADING
Accepts non-trading sessions only - those with (Session::isTrading() == false).
Definition SessionFilter.hpp:34
static const SessionFilter PRE_MARKET
Accepts any session with type SessionType::PRE_MARKET.
Definition SessionFilter.hpp:38
bool accept(Session session) const noexcept
Tests whether or not the specified session is an acceptable result.
Definition SessionFilter.hpp:104
std::optional< bool > trading_
Required trading flag, std::nullopt if not relevant.
Definition SessionFilter.hpp:70
std::optional< SessionType > type_
Required type, std::nullopt if not relevant.
Definition SessionFilter.hpp:68
Defines type of session - what kind of trading activity is allowed (if any), what rules are used,...
Definition SessionType.hpp:33
static const SessionType AFTER_MARKET
After-market session type marks extended trading session after regular trading hours.
Definition SessionType.hpp:15
static const SessionType PRE_MARKET
Pre-market session type marks extended trading session before regular trading hours.
Definition SessionType.hpp:13
static const SessionType REGULAR
Regular session type marks regular trading hours session.
Definition SessionType.hpp:14
static const SessionType NO_TRADING
Non-trading session type is used to mark periods of time during which trading is not allowed.
Definition SessionType.hpp:12
bool isTrading() const noexcept
Returns true if trading activity is allowed for this type of session.
Definition SessionType.hpp:70
Base abstract "shared entity" class. Has some helpers for dynamic polymorphism.
Definition SharedEntity.hpp:21
virtual std::string toString() const
Returns a string representation of the current object.
Definition SharedEntity.hpp:78
std::shared_ptr< T > sharedAs() const noexcept
Returns a pointer to the current object wrapped in a smart pointer to type T.
Definition SharedEntity.hpp:69
std::shared_ptr< T > sharedAs() noexcept
Returns a pointer to the current object wrapped in a smart pointer to type T.
Definition SharedEntity.hpp:56
bool is() const noexcept
Checks that pointer to the current type could be converted to type T* In other words: whether type T ...
Definition SharedEntity.hpp:35
Short sale restriction on an instrument.
Definition ShortSaleRestriction.hpp:23
static const DXFCPP_EXPORT ShortSaleRestriction INACTIVE
Short sale restriction is inactive.
Definition ShortSaleRestriction.hpp:13
static const DXFCPP_EXPORT ShortSaleRestriction UNDEFINED
Short sale restriction is undefined, unknown or inapplicable.
Definition ShortSaleRestriction.hpp:11
static const DXFCPP_EXPORT ShortSaleRestriction ACTIVE
Short sale restriction is active.
Definition ShortSaleRestriction.hpp:12
Side of an order or a trade.
Definition Side.hpp:23
static const DXFCPP_EXPORT Side SELL
Sell side (ask or offer).
Definition Side.hpp:18
static const DXFCPP_EXPORT Side UNDEFINED
Side is undefined, unknown or inapplicable.
Definition Side.hpp:16
static const DXFCPP_EXPORT Side BUY
Buy side (bid).
Definition Side.hpp:17
std::size_t operator+=(ListenerType &&listener)
Adds the listener to "main" group.
Definition Handler.hpp:378
void remove(std::size_t id)
Removes a listener by the id.
Definition Handler.hpp:398
void handle(ArgTypes... args)
Calls the listeners and pass the args to them.
Definition Handler.hpp:316
void operator()(ArgTypes... args)
Calls the listeners and pass the ars to them.
Definition Handler.hpp:327
SimpleHandler() noexcept=default
Creates the new handler.
std::size_t addLowPriority(ListenerType &&listener)
Adds the low priority listener (to the "low priority" group) It will be called after the "main" liste...
Definition Handler.hpp:358
void operator-=(std::size_t id)
Removes a listener by the id.
Definition Handler.hpp:417
std::size_t operator%=(ListenerType &&listener)
Adds the low priority listener (to the "low priority" group).
Definition Handler.hpp:389
std::size_t add(ListenerType &&listener)
Adds the listener to "main" group.
Definition Handler.hpp:337
Universal functional object that allows searching std::unordered_map for string-like keys.
Definition Common.hpp:911
A simple wrapper around strings or something similar to strings to reduce the amount of code for meth...
Definition Common.hpp:794
StringSymbol(std::string_view stringView) noexcept
Constructs StringSymbol from a std::string_view.
Definition StringSymbol.hpp:53
StringSymbol(const char *chars) noexcept
Constructs StringSymbol from a char array.
Definition StringSymbol.hpp:40
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition StringSymbol.cpp:54
std::string toString() const
Returns a string representation of the current object.
Definition StringSymbol.hpp:100
static StringSymbol fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition StringSymbol.cpp:69
void * toGraal() const
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition StringSymbol.cpp:44
std::optional< CandleSymbol > asCandleSymbol() const noexcept
Definition SymbolWrapper.hpp:382
SymbolWrapper(Symbol &&symbol) noexcept
Constructor for any wrapped symbol.
Definition SymbolWrapper.hpp:158
bool isIndexedEventSubscriptionSymbol() const noexcept
Definition SymbolWrapper.hpp:340
std::string toString() const
Returns a string representation of the current object.
Definition SymbolWrapper.hpp:286
static SymbolWrapper fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition SymbolWrapper.cpp:79
std::string toStringUnderlying() const
Returns a string representation of the underlying object.
Definition SymbolWrapper.hpp:301
std::unique_ptr< void, decltype(&SymbolWrapper::freeGraal)> toGraalUnique() const noexcept
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition SymbolWrapper.hpp:277
bool isStringSymbol() const noexcept
Definition SymbolWrapper.hpp:312
std::optional< IndexedEventSubscriptionSymbol > asIndexedEventSubscriptionSymbol() const noexcept
Definition SymbolWrapper.hpp:348
bool isWildcardSymbol() const noexcept
Definition SymbolWrapper.hpp:326
void * toGraal() const noexcept
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition SymbolWrapper.hpp:258
SymbolWrapper(const IndexedEventSubscriptionSymbol &indexedEventSubscriptionSymbol) noexcept
Constructor for IndexedEventSubscriptionSymbol.
Definition SymbolWrapper.hpp:197
const DataType & getData() const noexcept
Definition SymbolWrapper.hpp:389
std::string asStringSymbol() const noexcept
Definition SymbolWrapper.hpp:319
SymbolWrapper(const StringSymbol &stringSymbol) noexcept
Constructor for any wrapped string symbol.
Definition SymbolWrapper.hpp:171
std::optional< WildcardSymbol > asWildcardSymbol() const noexcept
Definition SymbolWrapper.hpp:333
SymbolWrapper(const CandleSymbol &candleSymbol) noexcept
Constructor for CandleSymbol.
Definition SymbolWrapper.hpp:225
SymbolWrapper(const WildcardSymbol &wildcardSymbol) noexcept
Constructor for any wrapped wildcard (*) symbol.
Definition SymbolWrapper.hpp:184
bool isTimeSeriesSubscriptionSymbol() const noexcept
Definition SymbolWrapper.hpp:357
SymbolWrapper(const TimeSeriesSubscriptionSymbol &timeSeriesSubscriptionSymbol) noexcept
Constructor for TimeSeriesSubscriptionSymbol.
Definition SymbolWrapper.hpp:211
bool isCandleSymbol() const noexcept
Definition SymbolWrapper.hpp:374
std::optional< TimeSeriesSubscriptionSymbol > asTimeSeriesSubscriptionSymbol() const noexcept
Definition SymbolWrapper.hpp:365
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition SymbolWrapper.cpp:42
Type of a time and sale event.
Definition TimeAndSaleType.hpp:23
static const DXFCPP_EXPORT TimeAndSaleType NEW
Represents new time and sale event.
Definition TimeAndSaleType.hpp:16
static const DXFCPP_EXPORT TimeAndSaleType CANCEL
Represents cancel time and sale event.
Definition TimeAndSaleType.hpp:18
static const DXFCPP_EXPORT TimeAndSaleType CORRECTION
Represents correction time and sale event.
Definition TimeAndSaleType.hpp:17
Utility class for parsing and formatting dates and times in ISO-compatible format.
Definition TimeFormat.hpp:29
std::string format(std::int64_t timestamp) const
Converts timestamp into string according to the format.
Definition TimeFormat.cpp:55
static const TimeFormat GMT
An instance of TimeFormat that corresponds to GMT timezone as returned by TimeZone::getTimeZone("GMT"...
Definition TimeFormat.hpp:41
std::int64_t parse(const StringLikeWrapper &value) const
Reads Date from String and returns timestamp.
Definition TimeFormat.cpp:49
static const TimeFormat DEFAULT
An instance of TimeFormat that corresponds to default timezone as returned by TimeZone::getDefault() ...
Definition TimeFormat.hpp:33
Value class for period of time with support for ISO8601 duration format.
Definition TimePeriod.hpp:19
static TimePeriod valueOf(std::chrono::milliseconds value)
Returns TimePeriod with value milliseconds.
Definition TimePeriod.hpp:42
static TimePeriod valueOf(const StringLikeWrapper &value)
Returns TimePeriod represented with a given string.
Definition TimePeriod.cpp:31
std::int64_t getNanos() const
Returns value in nanoseconds.
Definition TimePeriod.cpp:47
static const TimePeriod ZERO
Time-period of zero.
Definition TimePeriod.hpp:23
std::int32_t getSeconds() const
Returns value in seconds.
Definition TimePeriod.cpp:41
std::int64_t getTime() const
Returns value in milliseconds.
Definition TimePeriod.cpp:35
static const TimePeriod UNLIMITED
Time-period of "infinity" (time of std::numeric_limits<std::int64_t>::max() or LLONG_MAX).
Definition TimePeriod.hpp:26
static TimePeriod valueOf(std::int64_t value)
Returns TimePeriod with value milliseconds.
Definition TimePeriod.cpp:27
Represents time-series snapshots of some process that is evolving in time or actual events in some ex...
Definition TimeSeriesEvent.hpp:81
const IndexedEventSource & getSource() const &noexcept override
Returns the source identifier for this event, which is always DEFAULT for time-series events.
Definition TimeSeriesEvent.hpp:92
std::int64_t getIndex() const noexcept override
Returns unique per-symbol index of this event.
Definition TimeSeriesEvent.hpp:113
virtual std::int64_t getTime() const noexcept=0
Returns timestamp of the event.
virtual std::int64_t getEventId() const noexcept
Returns unique per-symbol index of this event.
Definition TimeSeriesEvent.hpp:123
Trading status of an instrument.
Definition TradingStatus.hpp:23
static const DXFCPP_EXPORT TradingStatus UNDEFINED
Trading status is undefined, unknown or inapplicable.
Definition TradingStatus.hpp:16
static const DXFCPP_EXPORT TradingStatus HALTED
Trading is halted.
Definition TradingStatus.hpp:17
static const DXFCPP_EXPORT TradingStatus ACTIVE
Trading is active.
Definition TradingStatus.hpp:18
Mixin for wrapping Promise method calls for a void.
Definition Promise.hpp:177
void await(std::int32_t timeoutInMilliseconds) const &
Wait for computation to complete or timeout and return its result or throw an exception in case of ex...
Definition Promise.hpp:209
void await(const std::chrono::milliseconds &timeoutInMilliseconds) const &
Wait for computation to complete or timeout and return its result or throw an exception in case of ex...
Definition Promise.hpp:224
void await() const
Wait for computation to complete and return its result or throw an exception in case of exceptional c...
Definition Promise.hpp:194
void getResult() const
Returns result of computation.
Definition Promise.hpp:184
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition WildcardSymbol.cpp:25
static const WildcardSymbol & fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition WildcardSymbol.cpp:31
void * toGraal() const noexcept
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition WildcardSymbol.cpp:15
static const WildcardSymbol ALL
Represents [wildcard] subscription to all events of the specific event type.
Definition WildcardSymbol.hpp:13
std::string toString() const
Returns string representation of this wildcard subscription symbol.
Definition WildcardSymbol.hpp:94
static const std::string RESERVED_PREFIX
Symbol prefix that is reserved for wildcard subscriptions.
Definition WildcardSymbol.hpp:28
The simple key-value structure that represents an endpoint's property.
Definition api.h:184
const char * key
The property's key.
Definition api.h:186
const char * value
The property's value.
Definition api.h:188