iLab Neuromorphic Robotics Toolkit  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Message.H File Reference
#include <nrt/Core/Blackboard/details/MessageHelpers.H>
#include <nrt/External/cereal/types/memory.hpp>
#include <nrt/External/cereal/types/polymorphic.hpp>
#include <tuple>
#include <list>
#include <nrt/Core/Util/Async.H>
#include <nrt/Core/Blackboard/details/MessageImpl.H>

Author
Laurent Itti

License

// ////////////////////////////////////////////////////////////////////////
//              The iLab Neuromorphic Robotics Toolkit (NRT)             //
// Copyright 2010-2012 by the University of Southern California (USC)    //
//                          and the iLab at USC.                         //
//                                                                       //
//                iLab - University of Southern California               //
//                Hedco Neurociences Building, Room HNB-10               //
//                    Los Angeles, Ca 90089-2520 - USA                   //
//                                                                       //
//      See http://ilab.usc.edu for information about this project.      //
// ////////////////////////////////////////////////////////////////////////
// This file is part of The iLab Neuromorphic Robotics Toolkit.          //
//                                                                       //
// The iLab Neuromorphic Robotics Toolkit is free software: you can      //
// redistribute it and/or modify it under the terms of the GNU General   //
// Public License as published by the Free Software Foundation, either   //
// version 3 of the License, or (at your option) any later version.      //
//                                                                       //
// The iLab Neuromorphic Robotics Toolkit is distributed in the hope     //
// that it will be useful, but WITHOUT ANY WARRANTY; without even the    //
// implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR       //
// PURPOSE.  See the GNU General Public License for more details.        //
//                                                                       //
// You should have received a copy of the GNU General Public License     //
// along with The iLab Neuromorphic Robotics Toolkit.  If not, see       //
// <http://www.gnu.org/licenses/>.                                       //
// ////////////////////////////////////////////////////////////////////////

Definition in file Message.H.

Go to the source code of this file.

Classes

class  nrt::MessageSubscriberCore< Subscription >
 Core class for the variadic MessageSubscriber template. More...
 
class  nrt::MessagePosterCore< Posting >
 Module objects which derive from MessagePoster will be allowed to post Message objects. More...
 
class  nrt::SplitMessagePoster< T >
 Split message poster, implemented by MessagePoster ports that use splittable CompositeMessage messages. More...
 
class  nrt::MessageBase
 Base class for a message that can be passed from one Module to other(s) (via a Blackboard) More...
 
class  nrt::Message< T >
 Generic message template that contains one value. More...
 
class  nrt::MessageData< Field, Tail...>
 Generic message data template used in messages that contain multiple fields/values. More...
 
class  nrt::CompositeMessage< Fields >
 A composite message with multiple fields. More...
 
class  nrt::TriggerMessage
 An empty message used to trigger events. More...
 

Namespaces

 nrt
 Reserved namespace for NRT core classes and functions.
 

Macros

#define NRT_VAR(var)   cereal::make_nvp(#var, var)
 Declare a message variable as a name-value pair. More...
 
#define NRT_DECLARE_MESSAGE(MessageClass)
 Macro to create a standard message. More...
 

Functions

template<class Msg >
std::string const nrt::MessageType ()
 Free function to statically identify the message type and return it as string.
 
template<>
std::string const nrt::MessageType< void > ()
 Specialization for void messages.
 

Macro Definition Documentation

#define NRT_VAR (   var)    cereal::make_nvp(#var, var)

Declare a message variable as a name-value pair.

This is necessary if you want to serialize you message into e.g. JSON.

Definition at line 49 of file Message.H.