|
COMMS
Template library intended to help with implementation of communication protocols.
|
Contains definition of Message object interface and various base classes for custom messages. More...
#include "comms/Assert.h"#include "comms/details/detect.h"#include "comms/details/field_alias.h"#include "comms/details/MessageIdTypeRetriever.h"#include "comms/details/MessageInterfaceBuilder.h"#include "comms/details/transport_fields_access.h"#include "comms/ErrorStatus.h"#include "comms/Field.h"#include "comms/util/type_traits.h"#include <cstdint>#include <memory>#include <type_traits>Go to the source code of this file.
Classes | |
| class | comms::Message< TOptions > |
| Main interface class for all the messages. More... | |
Namespaces | |
| namespace | comms |
| Main namespace for all classes / functions of COMMS library. | |
Macros | |
| #define | COMMS_MSG_TRANSPORT_FIELD_ALIAS_ACCESS_NOTEMPLATE(f_, ...) COMMS_EXPAND(COMMS_DO_ALIAS_NOTEMPLATE(transportField_, f_, __VA_ARGS__)) |
| Generate convinience alias access member functions for extra member transport fields in non template interface classes. | |
| #define | COMMS_MSG_TRANSPORT_FIELD_ALIAS_NOTEMPLATE(f_, ...) |
| Generate convinience alias access member functions and type for extra member transport fields in non template interface classes. | |
Typedefs | |
| template<typename TMsg , typename TDefaultType = std::intmax_t> | |
| using | comms::MessageIdType = typename comms::util::LazyDeepConditional< TMsg::InterfaceOptions::HasMsgIdType >::template Type< comms::details::MessageIdTypeRetriever, comms::util::AliasType, TDefaultType, TMsg > |
| Get type of message ID used by interface class. | |
Functions | |
| template<typename T > | |
| constexpr bool | comms::isMessage () |
| Compile time check of of whether the type is a message. | |
| template<typename... TOptions> | |
| const Message< TOptions... > & | comms::toMessage (const Message< TOptions... > &msg) |
| Upcast type of the message object to comms::Message in order to have access to its internal types. | |
| template<typename... TOptions> | |
| Message< TOptions... > & | comms::toMessage (Message< TOptions... > &msg) |
| Upcast type of the message object to comms::Message in order to have access to its internal types. | |
Contains definition of Message object interface and various base classes for custom messages.
| #define COMMS_MSG_TRANSPORT_FIELD_ALIAS_ACCESS_NOTEMPLATE | ( | f_, | |
| ... | |||
| ) | COMMS_EXPAND(COMMS_DO_ALIAS_NOTEMPLATE(transportField_, f_, __VA_ARGS__)) |
Generate convinience alias access member functions for extra member transport fields in non template interface classes.
Similar to COMMS_MSG_TRANSPORT_FIELD_ALIAS, but needs to be used in non-template interface class to allow compilation with gcc-4.8
| #define COMMS_MSG_TRANSPORT_FIELD_ALIAS_NOTEMPLATE | ( | f_, | |
| ... | |||
| ) |
Generate convinience alias access member functions and type for extra member transport fields in non template interface classes.
Similar to COMMS_MSG_TRANSPORT_FIELD_ALIAS(), but needs to be used in non-template interface class to allow compilation with gcc-4.8