20 template <
typename HandlerT>
26 register_.emplace(
typeid(
typename WidgetHandler::RemoteWidgetT), &handler);
71 auto descPtr = desc.get();
74 std::type_info
const& typeInfo =
typeid(*descPtr);
76 auto iter = widgetRegister.find(typeInfo);
77 if (iter == widgetRegister.end())
79 throw armarx::LocalException()
83 for (
const auto& [tid, _] : widgetRegister)
90 auto& widgetHandler = iter->second;
93 return *widgetHandler;
#define ARMARX_STREAM_PRINTER
use this macro to write output code that is executed when printed and thus not executed if the debug ...
#define ARMARX_CHECK_EXPRESSION(expression)
This macro evaluates the expression and if it turns out to be false it will throw an ExpressionExcept...
void registerHandler(WidgetRegister ®ister_)
std::map< std::type_index, WidgetHandler * > WidgetRegister
WidgetRegister createWidgetRegister()
const WidgetHandler & getWidgetHandler(WidgetPtr const &desc)
std::string GetTypeString(const std::type_info &tinf, bool withoutNamespaceSpecifier=false)