11#include "comms/frame/details/TransportValueLayerAllBases.h"
22template <
typename... TOptions>
23class TransportValueLayerOptionsParser;
26class TransportValueLayerOptionsParser<>
29 static const bool HasPseudoValue =
false;
30 static constexpr bool HasExtendingClass =
false;
34 template <
typename TBase>
35 using BuildPseudoBase = TBase;
37 template <
typename TLayer>
38 using DefineExtendingClass = TLayer;
40 template <
typename TNextLayer>
41 using ForceReadUntilDataSplitIfNeeded =
43 std::is_void<typename FrameLayerMsgPtr<TNextLayer>::Type>::value
54template <
typename... TOptions>
55class TransportValueLayerOptionsParser<
comms::option::def::PseudoValue, TOptions...> :
56 public TransportValueLayerOptionsParser<TOptions...>
59 static const bool HasPseudoValue =
true;
61 template <
typename TBase>
62 using BuildPseudoBase = TransportValueLayerPseudoBase<TBase>;
65template <
typename T,
typename... TOptions>
66class TransportValueLayerOptionsParser<
comms::option::def::ExtendingClass<T>, TOptions...> :
67 public TransportValueLayerOptionsParser<TOptions...>
70 static constexpr bool HasExtendingClass =
true;
73 template <
typename TLayer>
77template <
typename... TOptions>
78class TransportValueLayerOptionsParser<
79 comms::option::def::FrameLayerSuppressReadUntilDataSplitForcing,
81 public TransportValueLayerOptionsParser<TOptions...>
84 template <
typename TNextLayer>
88template <
typename... TOptions>
89class TransportValueLayerOptionsParser<
90 comms::option::app::EmptyOption,
91 TOptions...> :
public TransportValueLayerOptionsParser<TOptions...>
95template <
typename... TBundledOptions,
typename... TOptions>
96class TransportValueLayerOptionsParser<
97 std::tuple<TBundledOptions...>,
98 TOptions...> :
public TransportValueLayerOptionsParser<TBundledOptions..., TOptions...>
comms::option::def::ExtendingClass< T > ExtendingClass
Same as comms::option::def::ExtendingClass.
Definition options.h:1949
Main namespace for all classes / functions of COMMS library.
Contains definition of all the options used by the COMMS library.
No-op option, doesn't have any effect.
Definition options.h:1271
Option to force comms::frame::FrameLayerBase class to split read operation "until" and "from" data (p...
Definition options.h:1105
Replacement to std::conditional.
Definition type_traits.h:29