SimpleITK
2.0.0
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
{
27
namespace
simple {
28
33
class
SITKCommon_EXPORT
FunctionCommand
:
34
public
Command
35
{
36
public
:
37
38
using
Self
=
FunctionCommand
;
39
40
41
~
FunctionCommand
()
override
;
42
43
FunctionCommand
();
44
45
void
Execute()
override
;
46
50
template
<
class
T>
51
void
SetCallbackFunction
( T *
object
,
void
(T::* pMemberFunction )() )
52
{
53
m_Function = std::bind(pMemberFunction,
object
);
54
}
55
57
void
SetCallbackFunction (
void
(* pFunction )() );
58
64
void
SetCallbackFunction(
void
(* pFunction )(
void
*),
void
*clientData );
65
67
void
SetCallbackFunction(
const
std::function<
void
()> &);
68
69
private
:
70
71
using
FunctionObjectType
= std::function<void()>;
72
FunctionObjectType
m_Function
;
73
74
};
75
76
}
// end namespace simple
77
}
// end namespace itk
78
79
#endif
itk::simple::FunctionCommand::FunctionObjectType
std::function< void()> FunctionObjectType
Definition:
sitkFunctionCommand.h:71
itk::simple::FunctionCommand::m_Function
FunctionObjectType m_Function
Definition:
sitkFunctionCommand.h:72
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
sitkCommand.h
Generated on
unknown
for SimpleITK by
1.8.17 |
Privacy Policy