25 #ifndef _mtsFunctionWrite_h
26 #define _mtsFunctionWrite_h
47 template <
typename _userType,
bool>
52 return (function->*executeMethod)(argumentWrapped);
55 template <
typename _userType>
59 return (function->*executeMethod)(argument);
83 bool Bind(CommandType * command);
88 {
return ExecuteGeneric(argument); }
95 template <
class _userType>
97 {
return Execute(argument); }
99 template <
class _userType>
104 template <
class _userType>
111 CommandType * GetCommand(
void)
const;
117 void ToStream(std::ostream & outputStream)
const;
121 #endif // _mtsFunctionWrite_h
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
mtsExecutionResult ExecuteGeneric(const mtsGenericObject &argument) const
mtsExecutionResult Execute(const _userType &argument) const
Definition: mtsFunctionWrite.h:100
virtual void ToStream(std::ostream &outputStream) const =0
Base class for data object in cisstMultiTask.
Definition: mtsGenericObject.h:56
Defines a base class for a command with one argument.
mtsExecutionResult operator()(const _userType &argument) const
Definition: mtsFunctionWrite.h:96
Definition: mtsFunctionBase.h:38
Defines a base function object to allow heterogeneous containers of functions.
mtsCommandWriteBase CommandType
Definition: mtsFunctionWrite.h:39
virtual bool Detach(void)=0
Definition: mtsCommandWriteBase.h:40
static mtsExecutionResult Call(mtsFunctionWrite::ActionType executeMethod, const mtsFunctionWrite *function, const _userType &argument)
Definition: mtsFunctionWrite.h:50
mtsExecutionResult(mtsFunctionWrite::* ActionType)(const mtsGenericObject &) const
Definition: mtsFunctionWrite.h:40
Forward declarations and #define for cisstMultiTask.
Definition: mtsGenericObjectProxy.h:46
Definition: mtsExecutionResult.h:34
mtsExecutionResult ExecuteBlockingGeneric(const mtsGenericObject &argument) const
static mtsExecutionResult Call(mtsFunctionWrite::ActionType executeMethod, const mtsFunctionWrite *function, const _userType &argument)
Definition: mtsFunctionWrite.h:58
Definition: mtsFunctionWrite.h:37
mtsExecutionResult ExecuteBlocking(const _userType &argument) const
Definition: mtsFunctionWrite.h:105
CommandType * Command
Definition: mtsFunctionWrite.h:44
Definition: mtsFunctionWrite.h:48
mtsExecutionResult operator()(const mtsGenericObject &argument) const
Definition: mtsFunctionWrite.h:87
virtual bool IsValid(void) const =0