71 enum class InstrumentDefinitionFutureInitializationTag {};
84 template <Messaging::SecurityUpdateAction::Enum Action>
86 Action == Messaging::SecurityUpdateAction::Add || Action == Messaging::SecurityUpdateAction::Modify>
89 template <Messaging::SecurityUpdateAction::Enum Action>
93 template <Messaging::SecurityUpdateAction::Enum Action,
typename Holder>
99 template <Messaging::SecurityUpdateAction::Enum Action,
typename Holder>
105 template <Messaging::SecurityUpdateAction::Enum Action>
108 template <
typename Holder>
117 message->setTotNumReports(totNumReports);
119 message->setLastUpdateTime(lastUpdateTime);
121 message->setSecurityUpdateAction(Action);
122 message->setSymbol(
symbol);
123 message->setSecurityGroup(group);
124 message->setAsset(
asset);
126 auto feedTypes = message->feedTypes(2);
128 feedTypes[0].setMarketDepth(realMarketDepth);
130 feedTypes[1].setMarketDepth(impliedMarketDepth);
136 template <Messaging::SecurityUpdateAction::Enum Action>
139 template <
typename Holder>
146 message->setTotNumReports(totNumReports);
148 message->setLastUpdateTime(lastUpdateTime);
150 message->setSecurityUpdateAction(Action);
177 details::InstrumentDefinitionFutureInitializationTag...>
190 realMarketDepth, impliedMarketDepth, lastUpdateTime);
215 details::InstrumentDefinitionFutureInitializationTag...>
225 ->
typename std::enable_if<
232 realMarketDepth, impliedMarketDepth, lastUpdateTime))>::type
238 realMarketDepth, impliedMarketDepth, lastUpdateTime);
246 details::InstrumentDefinitionFutureInitializationTag...>
251 Messaging::Int8 realMarketDepth = DefaultInstrumentDefinitionFutureRealMarketDepth,
252 Messaging::Int8 impliedMarketDepth = DefaultInstrumentDefinitionFutureImpliedMarketDepth,
254 ->
typename std::enable_if<
255 std::is_same<typename std::decay<String>::type, std::string>::value &&
256 !std::is_lvalue_reference<String>::value>::type =
delete;
263 details::InstrumentDefinitionFutureInitializationTag...>
268 Messaging::Int8 realMarketDepth = DefaultInstrumentDefinitionFutureRealMarketDepth,
269 Messaging::Int8 impliedMarketDepth = DefaultInstrumentDefinitionFutureImpliedMarketDepth,
271 ->
typename std::enable_if<
272 std::is_same<typename std::decay<String>::type, std::string>::value &&
273 !std::is_lvalue_reference<String>::value>::type =
delete;
280 details::InstrumentDefinitionFutureInitializationTag...>
284 Messaging::Int8 realMarketDepth = DefaultInstrumentDefinitionFutureRealMarketDepth,
285 Messaging::Int8 impliedMarketDepth = DefaultInstrumentDefinitionFutureImpliedMarketDepth,
287 ->
typename std::enable_if<
288 std::is_same<typename std::decay<String>::type, std::string>::value &&
289 !std::is_lvalue_reference<String>::value>::type =
delete;
302 details::InstrumentDefinitionFutureInitializationTag...>
309 message, totNumReports,
securityId, lastUpdateTime);
324 details::InstrumentDefinitionFutureInitializationTag...>
334 totNumReports,
securityId, lastUpdateTime))>::type
#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.
constexpr StrRef constructStrRef(const char(&value)[Size]) noexcept
std::uint32_t UInt32
uInt32.
std::basic_string_view< Char > StrRef
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
constexpr Messaging::StrRef InstrumentDefinitionFutureRealBookFeed() noexcept
constexpr Messaging::StrRef InstrumentDefinitionFutureImpliedBookFeed() noexcept
typename std::enable_if< IsDeleteInstrumentDefinition< Action >::value && IsMutableMessageHolder< InstrumentDefinitionFuture, Holder >::value, Holder & >::type EnableDeleteInstrumentDefinition
typename std::enable_if< IsAddOrModifyInstrumentDefinition< Action >::value && IsMutableMessageHolder< InstrumentDefinitionFuture, Holder >::value, Holder & >::type EnableAddOrModifyInstrumentDefinition
constexpr Messaging::StrRef DefaultInstrumentDefinitionFutureSymbol() noexcept
Returns the default futures instrument symbol used by the test builder.
constexpr Messaging::Int8 DefaultInstrumentDefinitionFutureImpliedMarketDepth
Default implied-book depth used by the test builder.
constexpr Messaging::Int8 DefaultInstrumentDefinitionFutureRealMarketDepth
Default real-book depth used by the test builder.
constexpr Messaging::StrRef DefaultInstrumentDefinitionFutureGroup() noexcept
Returns the default futures security group used by the test builder.
constexpr Messaging::StrRef DefaultInstrumentDefinitionFutureAsset() noexcept
Returns the default futures asset used by the test builder.
MessageHolder< Messaging::InstrumentDefinitionFuture54 > InstrumentDefinitionFuture
Owns storage for a futures instrument-definition test message.
SecurityId securityId(const Messaging::FIX::MultiContainer &message)
Messaging::StrRef symbol(const Messaging::FIX::MultiContainer &message)
Messaging::Int32 SecurityId
Identifies a security in CME MDP 3.0 market data.
Messaging::StrRef asset(const Messaging::FIX::MultiContainer &message)
MatchEventIndicator type.
static auto apply(Holder &message, Messaging::UInt32 totNumReports, SecurityId securityId, Messaging::StrRef symbol, Messaging::StrRef group, Messaging::StrRef asset, Messaging::Int8 realMarketDepth, Messaging::Int8 impliedMarketDepth, Messaging::Timestamp lastUpdateTime) -> EnableAddOrModifyInstrumentDefinition< Action, Holder >
static auto apply(Holder &message, Messaging::UInt32 totNumReports, SecurityId securityId, Messaging::Timestamp lastUpdateTime) noexcept -> EnableDeleteInstrumentDefinition< Action, Holder >