25template <
typename TField,
typename TNextLayer,
typename TDerived,
typename... TOptions>
30template <
typename TField,
typename TNextLayer,
typename TDerived,
typename... TOptions>
38template <
typename TField,
typename TNextLayer,
typename TDerived,
typename... TOptions>
53template <
typename TId>
68template <
typename TIter>
80#define COMMS_PROTOCOL_LAYERS_ACCESS(...) COMMS_FRAME_LAYERS_ACCESS(__VA_ARGS__)
84#define COMMS_PROTOCOL_LAYERS_NAMES(...) COMMS_FRAME_LAYERS_NAMES(__VA_ARGS__)
88#define COMMS_PROTOCOL_LAYERS_ACCESS_INNER(...) COMMS_FRAME_LAYERS_ACCESS_INNER(__VA_ARGS__)
92#define COMMS_PROTOCOL_LAYERS_NAMES_INNER(...) COMMS_FRAME_LAYERS_NAMES_INNER(__VA_ARGS__)
96#define COMMS_PROTOCOL_LAYERS_ACCESS_OUTER(...) COMMS_FRAME_LAYERS_ACCESS_OUTER(__VA_ARGS__)
100#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:65
details::MissingSizeRetriever missingSize(std::size_t &val)
Add "missing size" output parameter to frame's "read" operation.
Definition FrameLayerBase.h:1564
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:1655
details::MsgIndexRetriever msgIndex(std::size_t &val)
Add "message index" output parameter to frame's "read" operation.
Definition FrameLayerBase.h:1627
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:1524
details::MsgIdRetriever< TId > msgId(TId &val)
Add "message ID" output parameter to frame's "read" operation.
Definition FrameLayerBase.h:1590
auto missingSize(std::size_t &val) -> decltype(comms::frame::missingSize(val))
Same as comms::frame::missingSize()
Definition ProtocolLayerBase.h:46
constexpr auto toFrameLayerBase(const ProtocolLayerBase< TField, TNextLayer, TDerived, TOptions... > &layer) -> decltype(comms::frame::toFrameLayerBase(layer))
Same as comms::frame::toFrameLayerBase()
Definition ProtocolLayerBase.h:39
auto msgId(TId &val) -> decltype(comms::frame::msgId(val))
Same as comms::frame::msgId()
Definition ProtocolLayerBase.h:54
auto msgPayload(TIter &iter, std::size_t &len) -> decltype(comms::frame::msgPayload(iter, len))
Same as comms::frame::msgPayload()
Definition ProtocolLayerBase.h:69
auto toProtocolLayerBase(ProtocolLayerBase< TField, TNextLayer, TDerived, TOptions... > &layer) -> decltype(comms::frame::toFrameLayerBase(layer))
Same as comms::frame::toFrameLayerBase()
Definition ProtocolLayerBase.h:31
auto msgIndex(std::size_t &val) -> decltype(comms::frame::msgIndex(val))
Same as comms::frame::msgIndex()
Definition ProtocolLayerBase.h:61
Main namespace for all classes / functions of COMMS library.