signal-cast-helper.h File Reference
#include <map>
#include <typeinfo>
#include <vector>
#include <boost/any.hpp>
#include <boost/format.hpp>
#include <boost/function/function1.hpp>
#include <boost/function/function2.hpp>
#include <boost/lexical_cast.hpp>
#include <boost/tuple/tuple.hpp>
#include <dynamic-graph/eigen-io.h>
#include "dynamic-graph/exception-signal.h"
#include "dynamic-graph/signal-caster.h"
#include <dynamic-graph/dynamic-graph-api.h>
Include dependency graph for signal-cast-helper.h:

Classes

class  dynamicgraph::DefaultCastRegisterer< T >
 This class can be used to register default casts, i.e. More...
 
class  dynamicgraph::SignalCast< T >
 

Namespaces

 dynamicgraph
 This is the namespace where every object and class of this library is located.
 

Macros

#define DG_SIGNAL_CAST_DECLARATION(TYPE)
 
#define DG_SIGNAL_CAST_DECLARATION_NAMED(TYPE, NAME)
 
#define DG_SIGNAL_CAST_FULL_DEFINITION(TYPE, CAST, DISP, TRACE)
 
#define DG_SIGNAL_CAST_DEFINITION_HPP(TYPE)   DG_SIGNAL_CAST_FULL_DEFINITION(TYPE, ;, ;, { disp(t, os); })
 
#define DG_SIGNAL_CAST_DEFINITION_TRACE_HPP(TYPE, TRACE)
 
#define DG_SIGNAL_CAST_DEFINITION(TYPE)
 
#define DG_SIGNAL_CAST_DEFINITION_TRACE(TYPE)
 
#define DG_ADD_CASTER(TYPE, ID)
 

Macro Definition Documentation

◆ DG_ADD_CASTER

#define DG_ADD_CASTER (   TYPE,
  ID 
)
Value:
::dynamicgraph::SignalCastRegisterer sotCastRegisterer_##ID( \
typeid(TYPE), SignalCast<TYPE>::disp_, SignalCast<TYPE>::cast_, \
SignalCast<TYPE>::trace_)
The SignalCast registerer class.
Definition: signal-caster.h:90

◆ DG_SIGNAL_CAST_DECLARATION

#define DG_SIGNAL_CAST_DECLARATION (   TYPE)
Value:
::dynamicgraph::SignalCastRegisterer sotCastRegisterer_##TYPE( \
typeid(TYPE), SignalCast<TYPE>::disp_, SignalCast<TYPE>::cast_, \
SignalCast<TYPE>::trace_)
The SignalCast registerer class.
Definition: signal-caster.h:90

◆ DG_SIGNAL_CAST_DECLARATION_NAMED

#define DG_SIGNAL_CAST_DECLARATION_NAMED (   TYPE,
  NAME 
)
Value:
::dynamicgraph::SignalCastRegisterer sotCastRegisterer_##NAME( \
typeid(TYPE), SignalCast<TYPE>::disp_, SignalCast<TYPE>::cast_, \
SignalCast<TYPE>::trace_)
The SignalCast registerer class.
Definition: signal-caster.h:90

◆ DG_SIGNAL_CAST_DEFINITION

#define DG_SIGNAL_CAST_DEFINITION (   TYPE)
Value:
{ \
TYPE res; \
iss >> res; \
return res; \
}, \
{ os << t << std::endl; }, { disp(t, os); })
#define DG_SIGNAL_CAST_FULL_DEFINITION(TYPE, CAST, DISP, TRACE)
Definition: signal-cast-helper.h:125

◆ DG_SIGNAL_CAST_DEFINITION_HPP

#define DG_SIGNAL_CAST_DEFINITION_HPP (   TYPE)    DG_SIGNAL_CAST_FULL_DEFINITION(TYPE, ;, ;, { disp(t, os); })

◆ DG_SIGNAL_CAST_DEFINITION_TRACE

#define DG_SIGNAL_CAST_DEFINITION_TRACE (   TYPE)
Value:
{ \
TYPE res; \
iss >> res; \
return res; \
}, \
{ os << t << std::endl; }, \
;)
#define DG_SIGNAL_CAST_FULL_DEFINITION(TYPE, CAST, DISP, TRACE)
Definition: signal-cast-helper.h:125

◆ DG_SIGNAL_CAST_DEFINITION_TRACE_HPP

#define DG_SIGNAL_CAST_DEFINITION_TRACE_HPP (   TYPE,
  TRACE 
)
Value:
{ \
TYPE res; \
iss >> res; \
return res; \
}, \
{ os << t << std::endl; }, TRACE)
#define DG_SIGNAL_CAST_FULL_DEFINITION(TYPE, CAST, DISP, TRACE)
Definition: signal-cast-helper.h:125

◆ DG_SIGNAL_CAST_FULL_DEFINITION

#define DG_SIGNAL_CAST_FULL_DEFINITION (   TYPE,
  CAST,
  DISP,
  TRACE 
)
Value:
template <> class SignalCast<TYPE> { \
public: \
static TYPE cast(std::istringstream &iss) CAST \
static void disp(TYPE const &t, std::ostream &os) DISP \
static void trace(TYPE const &t, std::ostream &os) TRACE public \
: static boost::any cast_(std::istringstream &stringValue) { \
return boost::any_cast<TYPE>(cast(stringValue)); \
} \
static void disp_(const boost::any &t, std::ostream &os) { \
disp(boost::any_cast<TYPE>(t), os); \
} \
static void trace_(const boost::any &t, std::ostream &os) { \
trace(boost::any_cast<TYPE>(t), os); \
} \
}