iLab Neuromorphic Robotics Toolkit  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
nrt::CompositeMessage< Fields > Class Template Reference

#include <nrt/Core/Blackboard/Message.H>

template<class... Fields>
class nrt::CompositeMessage< Fields >

A composite message with multiple fields.

See the tutorial page on Split Messages for explanations on how to use composite messages and how to split them into their elementary parts

Examples:
tests/test-split-messages.C.

Definition at line 330 of file Message.H.

Inheritance diagram for nrt::CompositeMessage< Fields >:
nrt::MessageBase

Public Types

typedef std::tuple< Fields...> TupleType
 Type for our fields, as a tuple.
 
typedef std::tuple< typename
Fields::DataType...> 
DataTypes
 Tuple type of the underlying data types of all our fields.
 
typedef std::tuple
< std::shared_ptr
< nrt::SplitMessagePoster
< typename Fields::DataType > >... > 
SplitPostersTuple
 Tuple type of our split posters.
 
typedef std::tuple
< std::shared_ptr
< nrt::SplitMessageSubscriber
< typename Fields::DataType > >... > 
SplitSubscribersTuple
 Tuple type of our split subscribers.
 

Public Member Functions

template<size_t I>
std::enable_if< I==nrt::CompositeMessage
< Fields...>::msgsize, void >
::type 
createSubPostersInternal (nrt::CompositeMessage< Fields...>::SplitPostersTuple &sp, std::string const &module, std::string const &descriptor)
 
- Public Member Functions inherited from nrt::MessageBase
 MessageBase ()
 Constructor.
 
virtual ~MessageBase ()
 Virtual destructor for safe inheritance.
 
virtual std::string description () const
 A short description of the Message type. More...
 

Static Public Attributes

static constexpr size_t msgsize = sizeof...(Fields)
 Number of fields.
 
static bool const isComposite = true
 We are a composite message (i.e., can be split)
 
- Static Public Attributes inherited from nrt::MessageBase
static bool const isComposite = false
 Is this message composite and can it be split into parts? More...
 

Friends

template<class Posting >
class MessagePosterCore
 
template<class Subscription >
class MessageSubscriberCore
 

The documentation for this class was generated from the following files: