#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"
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. | |
Defines | |
#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) |
#define DG_ADD_CASTER | ( | TYPE, | |
ID | |||
) |
::dynamicgraph::SignalCastRegisterer sotCastRegisterer_##ID \ (typeid(TYPE), \ SignalCast<TYPE>::disp_, \ SignalCast<TYPE>::cast_, \ SignalCast<TYPE>::trace_)
#define DG_SIGNAL_CAST_DECLARATION | ( | TYPE | ) |
::dynamicgraph::SignalCastRegisterer sotCastRegisterer_##TYPE \ (typeid(TYPE), \ SignalCast<TYPE>::disp_, \ SignalCast<TYPE>::cast_, \ SignalCast<TYPE>::trace_)
#define DG_SIGNAL_CAST_DECLARATION_NAMED | ( | TYPE, | |
NAME | |||
) |
::dynamicgraph::SignalCastRegisterer sotCastRegisterer_##NAME \ (typeid(TYPE), \ SignalCast<TYPE>::disp_, \ SignalCast<TYPE>::cast_, \ SignalCast<TYPE>::trace_)
#define DG_SIGNAL_CAST_DEFINITION | ( | TYPE | ) |
DG_SIGNAL_CAST_FULL_DEFINITION(TYPE, \ {TYPE res; iss >> res; return res; }, \ { os << t <<std::endl; }, \ { disp(t,os); })
#define DG_SIGNAL_CAST_DEFINITION_HPP | ( | TYPE | ) | DG_SIGNAL_CAST_FULL_DEFINITION(TYPE,;,;,{ disp(t,os); }) |
#define DG_SIGNAL_CAST_DEFINITION_TRACE | ( | TYPE | ) |
DG_SIGNAL_CAST_FULL_DEFINITION(TYPE, \ {TYPE res; iss >> res; return res; }, \ { os << t <<std::endl; }, \ ;)
#define DG_SIGNAL_CAST_DEFINITION_TRACE_HPP | ( | TYPE, | |
TRACE | |||
) |
DG_SIGNAL_CAST_FULL_DEFINITION(TYPE, \ {TYPE res; iss >> res; return res; }, \ { os << t <<std::endl; }, \ TRACE )
#define DG_SIGNAL_CAST_FULL_DEFINITION | ( | TYPE, | |
CAST, | |||
DISP, | |||
TRACE | |||
) |
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); \ } \ }