40 template <
typename Holder>
44 enum class IncrementalRefreshSessionStatisticsInitializationTag {};
47 template <Messaging::UpdateAction::Enum Action>
49 Action == Messaging::UpdateAction::New || Action == Messaging::UpdateAction::Delete>
52 template <Messaging::UpdateAction::Enum Action,
typename Holder>
56 template <Messaging::UpdateAction::Enum Action,
typename Holder>
62 typename decltype(message->entries())::Size size) { return message->entries(size); });
64 entry.setUpdateAction(Action);
65 entry.setEntryType(entryType);
67 entry.setRptSeq(rptSeq);
68 entry.setEntryPx(price);
70 entry.entrySizeNull();
82template <
typename Holder, details::IncrementalRefreshSessionStatisticsInitializationTag...>
84 ->
details::EnableIncrementalRefreshSessionStatistics<Holder>
94template <
typename Holder, details::IncrementalRefreshSessionStatisticsInitializationTag...>
113template <Messaging::UpdateAction::Enum Action,
typename Holder>
127 template <Messaging::UpdateAction::Enum Action>
130 template <
typename Holder,
typename... Arguments>
131 static auto apply(Holder& message, Arguments&&... arguments) ->
decltype(
132 addEntry<Action>(message, std::forward<Arguments>(arguments)...),
143 static auto apply(Holder& message, Arguments&&... arguments) ->
typename std::enable_if<
146 message, std::forward<Arguments>(arguments)...))>::type
149 message, std::forward<Arguments>(arguments)...);
#define ONIXS_CME_MDH_TESTING_NAMESPACE_END
#define ONIXS_CME_MDH_TESTING_NAMESPACE_BEGIN
#define ONIXS_CMEMDH_NODISCARD
The time point without the time-zone information.
Owns fixed-capacity storage for a prefixed CME message.
static Messaging::Timestamp now() noexcept
Returns current UTC time.
FixedPointDecimal< Int64, IntegralConstant< Int8, -9 > > Decimal9
Decimal with constant exponent -9.
std::uint32_t UInt32
uInt32.
EnableMutableMessageHolder< IncrementalRefreshSessionStatistics, Holder > EnableIncrementalRefreshSessionStatistics
auto makeInitializationRecipe(Arguments &&... arguments) -> typename std::enable_if< IsMutableMessageHolder< ExpectedHolder, Holder >::value, decltype(makeMessageRecipe< typename std::decay< Holder >::type >(makeMessageOperation< Operation >(std::forward< Arguments >(arguments)...)))>::type
typename std::enable_if< IsMutableMessageHolder< ExpectedHolder, Holder >::value, Holder & >::type EnableMutableMessageHolder
typename std::enable_if< IsSessionStatisticsAction< Action >::value, EnableIncrementalRefreshSessionStatistics< Holder > >::type EnableSessionStatisticsEntry
auto initializeMessage(Holder &message, EventFlags::Bits eventIndicator, Messaging::Timestamp transactTime) noexcept -> EnableMutableMessageHolder< ExpectedHolder, Holder >
Group::Entry appendGroupEntry(Group group, Resize resize)
Messaging::IncrementalRefreshSessionStatistics51::Entry appendSessionStatisticsEntry(Holder &message, SecurityId securityId, Messaging::EntryTypeStatistics::Enum entryType, Messaging::UInt32 rptSeq, Messaging::Decimal9 price)
MessageHolder< Messaging::IncrementalRefreshSessionStatistics51 > IncrementalRefreshSessionStatistics
Owns storage for an incremental session-statistics refresh test message.
SecurityId securityId(const Messaging::FIX::MultiContainer &message)
Messaging::Int32 SecurityId
Identifies a security in CME MDP 3.0 market data.
@ DailyOpenPrice
Daily Open Price.
Messaging::MatchEventIndicator::Bits Bits
Protocol storage type for combined event flags.
static auto apply(Holder &message, Arguments &&... arguments) -> typename std::enable_if< IsSessionStatisticsAction< Action >::value, decltype(SessionStatisticsEntryOperation< Action >::apply(message, std::forward< Arguments >(arguments)...))>::type
static auto apply(Holder &message, Arguments &&... arguments) -> decltype(addEntry< Action >(message, std::forward< Arguments >(arguments)...), appendSessionStatisticsEntry< Action >(message, std::forward< Arguments >(arguments)...))