24template <
typename... TOptions>
25class MsgFactoryOptionsParser;
28class MsgFactoryOptionsParser<>
31 static constexpr bool HasInPlaceAllocation =
false;
32 static constexpr bool HasSupportGenericMessage =
false;
33 static constexpr bool HasForcedDispatch =
false;
35 using GenericMessage = void;
37 template <
typename TAll>
38 using AllMessages = TAll;
41template <
typename... TOptions>
42class MsgFactoryOptionsParser<
comms::option::app::InPlaceAllocation, TOptions...> :
43 public MsgFactoryOptionsParser<TOptions...>
46 static constexpr bool HasInPlaceAllocation =
true;
49template <
typename TMsg,
typename... TOptions>
50class MsgFactoryOptionsParser<
comms::option::app::SupportGenericMessage<TMsg>, TOptions...> :
51 public MsgFactoryOptionsParser<TOptions...>
54 static constexpr bool HasSupportGenericMessage =
true;
55 using GenericMessage = TMsg;
57 template <
typename TAll>
63 std::declval<std::tuple<GenericMessage> >()
69template <
typename T,
typename... TOptions>
70class MsgFactoryOptionsParser<
comms::option::app::ForceDispatch<T>, TOptions...> :
71 public MsgFactoryOptionsParser<TOptions...>
74 static constexpr bool HasForcedDispatch =
true;
75 using ForcedDispatch = T;
78template <
typename... TOptions>
79class MsgFactoryOptionsParser<
80 comms::option::app::EmptyOption,
81 TOptions...> :
public MsgFactoryOptionsParser<TOptions...>
85template <
typename... TBundledOptions,
typename... TOptions>
86class MsgFactoryOptionsParser<
87 std::tuple<TBundledOptions...>,
88 TOptions...> :
public MsgFactoryOptionsParser<TBundledOptions..., TOptions...>
Main namespace for all classes / functions of COMMS library.
Contains definition of all the options used by the COMMS library.