23template <
typename TField,
typename TNextLayer,
typename TDerived,
typename... TOptions>
28template <
typename TField,
typename TNextLayer,
typename TDerived,
typename... TOptions>
36template <
typename TField,
typename TNextLayer,
typename TDerived,
typename... TOptions>
51template <
typename TId>
66template <
typename TIter>
78#define COMMS_PROTOCOL_LAYERS_ACCESS(...) COMMS_FRAME_LAYERS_ACCESS(__VA_ARGS__)
82#define COMMS_PROTOCOL_LAYERS_NAMES(...) COMMS_FRAME_LAYERS_NAMES(__VA_ARGS__)
86#define COMMS_PROTOCOL_LAYERS_ACCESS_INNER(...) COMMS_FRAME_LAYERS_ACCESS_INNER(__VA_ARGS__)
90#define COMMS_PROTOCOL_LAYERS_NAMES_INNER(...) COMMS_FRAME_LAYERS_NAMES_INNER(__VA_ARGS__)
94#define COMMS_PROTOCOL_LAYERS_ACCESS_OUTER(...) COMMS_FRAME_LAYERS_ACCESS_OUTER(__VA_ARGS__)
98#define COMMS_PROTOCOL_LAYERS_NAMES_OUTER(...) COMMS_FRAME_LAYERS_NAMES_OUTER(__VA_ARGS__)
Contains definition of comms::frame::FrameLayerBase.
Base class for all the middle (non MsgDataLayer) protocol transport layers.
Definition FrameLayerBase.h:61
details::MissingSizeRetriever missingSize(std::size_t &val)
Add "missing size" output parameter to frame's "read" operation.
Definition FrameLayerBase.h:1560
details::MsgPayloadRetriever< TIter > msgPayload(TIter &iter, std::size_t &len)
Add "payload start" and "payload size" output parameters to frame's "read" operation.
Definition FrameLayerBase.h:1651
details::MsgIndexRetriever msgIndex(std::size_t &val)
Add "message index" output parameter to frame's "read" operation.
Definition FrameLayerBase.h:1623
FrameLayerBase< TField, TNextLayer, TDerived, TOptions... > & toFrameLayerBase(FrameLayerBase< TField, TNextLayer, TDerived, TOptions... > &layer)
Upcast protocol layer in order to have access to its internal types.
Definition FrameLayerBase.h:1520
details::MsgIdRetriever< TId > msgId(TId &val)
Add "message ID" output parameter to frame's "read" operation.
Definition FrameLayerBase.h:1586
auto missingSize(std::size_t &val) -> decltype(comms::frame::missingSize(val))
Same as comms::frame::missingSize()
Definition ProtocolLayerBase.h:44
constexpr auto toFrameLayerBase(const ProtocolLayerBase< TField, TNextLayer, TDerived, TOptions... > &layer) -> decltype(comms::frame::toFrameLayerBase(layer))
Same as comms::frame::toFrameLayerBase()
Definition ProtocolLayerBase.h:37
auto msgId(TId &val) -> decltype(comms::frame::msgId(val))
Same as comms::frame::msgId()
Definition ProtocolLayerBase.h:52
auto msgPayload(TIter &iter, std::size_t &len) -> decltype(comms::frame::msgPayload(iter, len))
Same as comms::frame::msgPayload()
Definition ProtocolLayerBase.h:67
auto toProtocolLayerBase(ProtocolLayerBase< TField, TNextLayer, TDerived, TOptions... > &layer) -> decltype(comms::frame::toFrameLayerBase(layer))
Same as comms::frame::toFrameLayerBase()
Definition ProtocolLayerBase.h:29
auto msgIndex(std::size_t &val) -> decltype(comms::frame::msgIndex(val))
Same as comms::frame::msgIndex()
Definition ProtocolLayerBase.h:59
Main namespace for all classes / functions of COMMS library.