iLab Neuromorphic Robotics Toolkit  0.1
nrt::CompositeMessage< Fields > Class Template Reference

#include <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

Definition at line 324 of file Message.H.

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

List of all members.

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)

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)

Friends

class boost::serialization::access
class MessagePosterCore
class MessageSubscriberCore

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines