13#include "comms/frame/details/TransportValueLayerAllBases.h"
27template <
typename... TOptions>
28class TransportValueLayerOptionsParser;
31class TransportValueLayerOptionsParser<>
34 static const bool HasPseudoValue =
false;
35 static constexpr bool HasExtendingClass =
false;
39 template <
typename TBase>
40 using BuildPseudoBase = TBase;
42 template <
typename TLayer>
43 using DefineExtendingClass = TLayer;
45 template <
typename TNextLayer>
46 using ForceReadUntilDataSplitIfNeeded =
48 std::is_void<typename FrameLayerMsgPtr<TNextLayer>::Type>::value
59template <
typename... TOptions>
60class TransportValueLayerOptionsParser<
comms::option::def::PseudoValue, TOptions...> :
61 public TransportValueLayerOptionsParser<TOptions...>
64 static const bool HasPseudoValue =
true;
66 template <
typename TBase>
67 using BuildPseudoBase = TransportValueLayerPseudoBase<TBase>;
70template <
typename T,
typename... TOptions>
71class TransportValueLayerOptionsParser<
comms::option::def::ExtendingClass<T>, TOptions...> :
72 public TransportValueLayerOptionsParser<TOptions...>
75 static constexpr bool HasExtendingClass =
true;
78 template <
typename TLayer>
82template <
typename... TOptions>
83class TransportValueLayerOptionsParser<
84 comms::option::def::FrameLayerSuppressReadUntilDataSplitForcing,
86 public TransportValueLayerOptionsParser<TOptions...>
89 template <
typename TNextLayer>
93template <
typename... TOptions>
94class TransportValueLayerOptionsParser<
95 comms::option::app::EmptyOption,
96 TOptions...> :
public TransportValueLayerOptionsParser<TOptions...>
100template <
typename... TBundledOptions,
typename... TOptions>
101class TransportValueLayerOptionsParser<
102 std::tuple<TBundledOptions...>,
103 TOptions...> :
public TransportValueLayerOptionsParser<TBundledOptions..., TOptions...>
comms::option::def::ExtendingClass< T > ExtendingClass
Same as comms::option::def::ExtendingClass.
Definition options.h:1962
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:1284
Option to force comms::frame::FrameLayerBase class to split read operation "until" and "from" data (p...
Definition options.h:1118
Replacement to std::conditional.
Definition type_traits.h:32