Loading...
Searching...
No Matches
signal-cast-helper.h File Reference
#include <map>
#include <typeinfo>
#include <iostream>
#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/dynamic-graph-api.h>
#include "dynamic-graph/exception-signal.h"
#include "dynamic-graph/signal-caster.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

namespace  dynamicgraph
 WIN32.
 

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:105

◆ 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_)

◆ 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_)

◆ 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:147

◆ 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; }, \
;)

◆ 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 )

◆ 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); \
} \
}