29#ifndef ETL_MESSAGE_INCLUDED
30#define ETL_MESSAGE_INCLUDED
35#include "message_types.h"
37#include "static_assert.h"
67#if ETL_HAS_VIRTUAL_MESSAGES
89 template <etl::message_
id_t ID_,
typename TBase = etl::imessage>
99 ETL_NODISCARD
virtual etl::message_id_t get_message_id()
const ETL_NOEXCEPT ETL_OVERRIDE
133 imessage(
const imessage& other) ETL_NOEXCEPT
139 imessage& operator =(
const imessage& rhs) ETL_NOEXCEPT
150 imessage() ETL_DELETE;
158 class message : public TBase, public
etl::message_tag
164 typedef TBase base_type;
167 message() ETL_NOEXCEPT
173 message(
const message&) ETL_NOEXCEPT
179 message& operator =(
const message&) ETL_NOEXCEPT
192 template <etl::message_
id_t ID_,
typename TBase>
198 template <
typename T>
206 template <
typename T>
214 template <
typename T>
222 template <
typename T>
230 template <
typename T>
239 template <
typename T>
245 template <
typename T>
251 template <
typename T>
257 template <
typename T>
263 template <
typename T>
static ETL_CONSTANT etl::message_id_t ID
The message's static ID.
Definition message.h:105
Definition exception.h:47
is_base_of
Definition type_traits_generator.h:1247
bitset_ext
Definition absolute.h:38
uint_least8_t message_id_t
Allow alternative type for message id.
Definition message_types.h:40
Definition type_traits_generator.h:844
Is T an etl::imessage?
Definition message.h:200
Is T a base of etl::message<T>
Definition message.h:224
Is T an etl::message<> or derived from etl::message<>
Definition message.h:216
Is T ultimately derived from etl::imessage?
Definition message.h:208
Is T a user defined base of etl::message<T> and not an etl::imessage.
Definition message.h:232
pair holds two objects of arbitrary type
Definition utility.h:164