@@ -63,6 +63,26 @@ WFTaskFactory::create_dynamic_task(dynamic_create_t create)
6363 return new __WFDynamicTask (std::move (create));
6464}
6565
66+ template <>
67+ int WFTaskFactory::send_by_name (const std::string&, void *const *, size_t );
68+
69+ template <typename T>
70+ int WFTaskFactory::send_by_name (const std::string& mailbox_name, T *const msg[],
71+ size_t max)
72+ {
73+ return WFTaskFactory::send_by_name (mailbox_name, (void *const *)msg, max);
74+ }
75+
76+ template <>
77+ int WFTaskFactory::signal_by_name (const std::string&, void *const *, size_t );
78+
79+ template <typename T>
80+ int WFTaskFactory::signal_by_name (const std::string& cond_name, T *const msg[],
81+ size_t max)
82+ {
83+ return WFTaskFactory::signal_by_name (cond_name, (void *const *)msg, max);
84+ }
85+
6686template <class REQ , class RESP , typename CTX = bool >
6787class WFComplexClientTask : public WFClientTask <REQ, RESP>
6888{
@@ -709,7 +729,7 @@ void WFTaskFactory::reset_go_task(WFGoTask *task, FUNC&& func, ARGS&&... args)
709729
710730template <> inline
711731WFGoTask *WFTaskFactory::create_go_task (const std::string& queue_name,
712- nullptr_t && func )
732+ std:: nullptr_t &&)
713733{
714734 return new __WFGoTask (WFGlobal::get_exec_queue (queue_name),
715735 WFGlobal::get_compute_executor (),
@@ -719,7 +739,7 @@ WFGoTask *WFTaskFactory::create_go_task(const std::string& queue_name,
719739template <> inline
720740WFGoTask *WFTaskFactory::create_timedgo_task (time_t seconds, long nanoseconds,
721741 const std::string& queue_name,
722- nullptr_t && func )
742+ std:: nullptr_t &&)
723743{
724744 return new __WFTimedGoTask (seconds, nanoseconds,
725745 WFGlobal::get_exec_queue (queue_name),
@@ -729,21 +749,21 @@ WFGoTask *WFTaskFactory::create_timedgo_task(time_t seconds, long nanoseconds,
729749
730750template <> inline
731751WFGoTask *WFTaskFactory::create_go_task (ExecQueue *queue, Executor *executor,
732- nullptr_t && func )
752+ std:: nullptr_t &&)
733753{
734754 return new __WFGoTask (queue, executor, nullptr );
735755}
736756
737757template <> inline
738758WFGoTask *WFTaskFactory::create_timedgo_task (time_t seconds, long nanoseconds,
739759 ExecQueue *queue, Executor *executor,
740- nullptr_t && func )
760+ std:: nullptr_t &&)
741761{
742762 return new __WFTimedGoTask (seconds, nanoseconds, queue, executor, nullptr );
743763}
744764
745765template <> inline
746- void WFTaskFactory::reset_go_task (WFGoTask *task, nullptr_t && func )
766+ void WFTaskFactory::reset_go_task (WFGoTask *task, std:: nullptr_t &&)
747767{
748768 ((__WFGoTask *)task)->set_go_func (nullptr );
749769}
0 commit comments