COMMS
Template library intended to help with implementation of communication protocols.
Classes | Namespaces | Functions
MessageBase.h File Reference

Provides common base class for the custom messages with default implementation. More...

#include "comms/details/MessageImplBuilder.h"
#include "comms/details/macro_common.h"
#include "comms/details/fields_access.h"
#include "comms/details/detect.h"
#include "comms/details/field_alias.h"

Go to the source code of this file.

Classes

class  comms::MessageBase< TMessage, TOptions >
 Base class for all the custom protocol messages. More...
 

Namespaces

 comms
 Main namespace for all classes / functions of COMMS library.
 

Functions

template<typename T >
constexpr bool comms::isMessageBase ()
 Compile time check of of whether the type is a message extending comms::MessageBase. More...
 
template<typename TMessage , typename... TOptions>
const MessageBase< TMessage, TOptions... > & comms::toMessageBase (const MessageBase< TMessage, TOptions... > &msg)
 Upcast type of the message object to comms::MessageBase in order to have access to its internal types.
 
template<typename TMessage , typename... TOptions>
MessageBase< TMessage, TOptions... > & comms::toMessageBase (MessageBase< TMessage, TOptions... > &msg)
 Upcast type of the message object to comms::MessageBase in order to have access to its internal types.
 

Detailed Description

Provides common base class for the custom messages with default implementation.