20template <
typename... TOptions>
21class MsgFactoryOptionsParser;
24class MsgFactoryOptionsParser<>
27 static constexpr bool HasInPlaceAllocation =
false;
28 static constexpr bool HasSupportGenericMessage =
false;
29 static constexpr bool HasForcedDispatch =
false;
31 using GenericMessage = void;
33 template <
typename TAll>
34 using AllMessages = TAll;
37template <
typename... TOptions>
38class MsgFactoryOptionsParser<
comms::option::app::InPlaceAllocation, TOptions...> :
39 public MsgFactoryOptionsParser<TOptions...>
42 static constexpr bool HasInPlaceAllocation =
true;
45template <
typename TMsg,
typename... TOptions>
46class MsgFactoryOptionsParser<
comms::option::app::SupportGenericMessage<TMsg>, TOptions...> :
47 public MsgFactoryOptionsParser<TOptions...>
50 static constexpr bool HasSupportGenericMessage =
true;
51 using GenericMessage = TMsg;
53 template <
typename TAll>
59 std::declval<std::tuple<GenericMessage> >()
65template <
typename T,
typename... TOptions>
66class MsgFactoryOptionsParser<
comms::option::app::ForceDispatch<T>, TOptions...> :
67 public MsgFactoryOptionsParser<TOptions...>
70 static constexpr bool HasForcedDispatch =
true;
71 using ForcedDispatch = T;
75template <
typename... TOptions>
76class MsgFactoryOptionsParser<
77 comms::option::app::EmptyOption,
78 TOptions...> :
public MsgFactoryOptionsParser<TOptions...>
82template <
typename... TBundledOptions,
typename... TOptions>
83class MsgFactoryOptionsParser<
84 std::tuple<TBundledOptions...>,
85 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.