COMMS
Template library intended to help with implementation of communication protocols.
Loading...
Searching...
No Matches
Namespaces | Macros | Typedefs | Functions
ProtocolLayerBase.h File Reference

Contains definition of comms::protocol::ProtocolLayerBase. More...

#include "comms/frame/FrameLayerBase.h"

Go to the source code of this file.

Namespaces

namespace  comms
 Main namespace for all classes / functions of COMMS library.
 
namespace  comms::protocol
 Defines aliases to classes in the comms::frame.
 

Macros

#define COMMS_PROTOCOL_LAYERS_ACCESS(...)   COMMS_FRAME_LAYERS_ACCESS(__VA_ARGS__)
 Same as COMMS_FRAME_LAYERS_ACCESS()
 
#define COMMS_PROTOCOL_LAYERS_ACCESS_INNER(...)   COMMS_FRAME_LAYERS_ACCESS_INNER(__VA_ARGS__)
 Same as COMMS_FRAME_LAYERS_ACCESS_INNER()
 
#define COMMS_PROTOCOL_LAYERS_ACCESS_OUTER(...)   COMMS_FRAME_LAYERS_ACCESS_OUTER(__VA_ARGS__)
 Same as COMMS_FRAME_LAYERS_ACCESS_OUTER()
 
#define COMMS_PROTOCOL_LAYERS_NAMES(...)   COMMS_FRAME_LAYERS_NAMES(__VA_ARGS__)
 Same as COMMS_FRAME_LAYERS_NAMES()
 
#define COMMS_PROTOCOL_LAYERS_NAMES_INNER(...)   COMMS_FRAME_LAYERS_NAMES_INNER(__VA_ARGS__)
 Same as COMMS_FRAME_LAYERS_NAMES_INNER()
 
#define COMMS_PROTOCOL_LAYERS_NAMES_OUTER(...)   COMMS_FRAME_LAYERS_NAMES_OUTER(__VA_ARGS__)
 Same as COMMS_FRAME_LAYERS_NAMES_OUTER()
 

Typedefs

template<typename TField , typename TNextLayer , typename TDerived , typename... TOptions>
using comms::protocol::ProtocolLayerBase = comms::frame::FrameLayerBase< TField, TNextLayer, TDerived, TOptions... >
 Alias to the comms::frame::FrameLayerBase.
 

Functions

auto comms::protocol::missingSize (std::size_t &val) -> decltype(comms::frame::missingSize(val))
 Same as comms::frame::missingSize()
 
template<typename TId >
auto comms::protocol::msgId (TId &val) -> decltype(comms::frame::msgId(val))
 Same as comms::frame::msgId()
 
auto comms::protocol::msgIndex (std::size_t &val) -> decltype(comms::frame::msgIndex(val))
 Same as comms::frame::msgIndex()
 
template<typename TIter >
auto comms::protocol::msgPayload (TIter &iter, std::size_t &len) -> decltype(comms::frame::msgPayload(iter, len))
 Same as comms::frame::msgPayload()
 
template<typename TField , typename TNextLayer , typename TDerived , typename... TOptions>
constexpr auto comms::protocol::toFrameLayerBase (const ProtocolLayerBase< TField, TNextLayer, TDerived, TOptions... > &layer) -> decltype(comms::frame::toFrameLayerBase(layer))
 Same as comms::frame::toFrameLayerBase()
 
template<typename TField , typename TNextLayer , typename TDerived , typename... TOptions>
auto comms::protocol::toProtocolLayerBase (ProtocolLayerBase< TField, TNextLayer, TDerived, TOptions... > &layer) -> decltype(comms::frame::toFrameLayerBase(layer))
 Same as comms::frame::toFrameLayerBase()
 

Detailed Description

Contains definition of comms::protocol::ProtocolLayerBase.

Macro Definition Documentation

◆ COMMS_PROTOCOL_LAYERS_ACCESS

#define COMMS_PROTOCOL_LAYERS_ACCESS (   ...)    COMMS_FRAME_LAYERS_ACCESS(__VA_ARGS__)

Same as COMMS_FRAME_LAYERS_ACCESS()

Deprecated:
Use COMMS_FRAME_LAYERS_ACCESS() instead

◆ COMMS_PROTOCOL_LAYERS_ACCESS_INNER

#define COMMS_PROTOCOL_LAYERS_ACCESS_INNER (   ...)    COMMS_FRAME_LAYERS_ACCESS_INNER(__VA_ARGS__)

Same as COMMS_FRAME_LAYERS_ACCESS_INNER()

Deprecated:
Use COMMS_FRAME_LAYERS_ACCESS_INNER() instead

◆ COMMS_PROTOCOL_LAYERS_ACCESS_OUTER

#define COMMS_PROTOCOL_LAYERS_ACCESS_OUTER (   ...)    COMMS_FRAME_LAYERS_ACCESS_OUTER(__VA_ARGS__)

Same as COMMS_FRAME_LAYERS_ACCESS_OUTER()

Deprecated:
Use COMMS_FRAME_LAYERS_ACCESS_OUTER() instead

◆ COMMS_PROTOCOL_LAYERS_NAMES

#define COMMS_PROTOCOL_LAYERS_NAMES (   ...)    COMMS_FRAME_LAYERS_NAMES(__VA_ARGS__)

Same as COMMS_FRAME_LAYERS_NAMES()

Deprecated:
Use COMMS_FRAME_LAYERS_NAMES() instead

◆ COMMS_PROTOCOL_LAYERS_NAMES_INNER

#define COMMS_PROTOCOL_LAYERS_NAMES_INNER (   ...)    COMMS_FRAME_LAYERS_NAMES_INNER(__VA_ARGS__)

Same as COMMS_FRAME_LAYERS_NAMES_INNER()

Deprecated:
Use COMMS_FRAME_LAYERS_NAMES_INNER() instead

◆ COMMS_PROTOCOL_LAYERS_NAMES_OUTER

#define COMMS_PROTOCOL_LAYERS_NAMES_OUTER (   ...)    COMMS_FRAME_LAYERS_NAMES_OUTER(__VA_ARGS__)

Same as COMMS_FRAME_LAYERS_NAMES_OUTER()

Deprecated:
Use COMMS_FRAME_LAYERS_NAMES_OUTER() instead