SimpleITK
SimpleITK
Code
Common
include
sitkFunctionCommand.h
Go to the documentation of this file.
1
/*=========================================================================
2
*
3
* Copyright NumFOCUS
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0.txt
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
*=========================================================================*/
18
#ifndef sitkFunctionCommand_h
19
#define sitkFunctionCommand_h
20
21
22
#include "
sitkCommand.h
"
23
24
#include <functional>
25
26
namespace
itk::simple
27
{
28
33
class
SITKCommon_EXPORT
FunctionCommand
:
public
Command
34
{
35
public
:
36
using
Self
=
FunctionCommand
;
37
38
39
~
FunctionCommand
()
override
;
40
41
FunctionCommand
();
42
43
void
44
Execute()
override
;
45
49
template
<
class
T>
50
void
51
SetCallbackFunction
(T *
object
,
void
(T::*pMemberFunction)())
52
{
53
m_Function = [object, pMemberFunction] { std::invoke(pMemberFunction,
object
); };
54
}
55
57
void
58
SetCallbackFunction(
void
(*pFunction)());
59
65
void
66
SetCallbackFunction(
void
(*pFunction)(
void
*),
void
* clientData);
67
69
void
70
SetCallbackFunction(
const
std::function<
void
()> &);
71
72
private
:
73
using
FunctionObjectType
= std::function<void()>;
74
FunctionObjectType
m_Function
;
75
};
76
77
}
// namespace itk::simple
78
79
#endif
itk::simple::FunctionCommand::FunctionObjectType
std::function< void()> FunctionObjectType
Definition:
sitkFunctionCommand.h:73
itk::simple::FunctionCommand::m_Function
FunctionObjectType m_Function
Definition:
sitkFunctionCommand.h:74
itk::simple::Command
An implementation of the Command design pattern for callback.
Definition:
sitkCommand.h:44
itk::simple::FunctionCommand::SetCallbackFunction
void SetCallbackFunction(T *object, void(T::*pMemberFunction)())
Definition:
sitkFunctionCommand.h:51
SITKCommon_EXPORT
#define SITKCommon_EXPORT
Definition:
sitkCommon.h:41
itk::simple::FunctionCommand
A Command class which allows setting an external function, or member function.
Definition:
sitkFunctionCommand.h:33
itk::simple
Definition:
sitkAdditionalProcedures.h:28
sitkCommand.h
Generated on
unknown
for SimpleITK by
1.8.17 |
Privacy Policy