MeVisLab Toolbox Reference
Executable.h
Go to the documentation of this file.
1
// Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2
// **InsertLicense** code
3
4
#pragma once
5
6
#include <
asio/Processor.h
>
7
8
9
namespace
asio
{
10
11
template
<
typename
...
Args
>
12
class
ExecutableType
;
13
14
// vtordisp(2) enables the vtordisp members for all vitual bases
15
// with virtual functions to ensure correct performance of
16
// dynamic_cast on a partially constructed object. Otherwise
17
// a warning is generated for each compilation unit.
18
19
#ifdef _MSC_VER
20
#pragma vtordisp(push, 2)
21
#endif
22
template
<
typename
...
Args
>
23
class
ExecutableType
<
ParameterPack
<
Args
...>> :
public
virtual
Processor
24
{
25
public
:
26
27
using
InputSignature
=
ParameterPack
<
Args
...>;
28
29
// todo: deprecate this!
30
using
Signature
=
InputSignature
;
31
32
virtual
void
execute
(
Args
...
args
) = 0;
33
};
34
#ifdef _MSC_VER
35
#pragma vtordisp(pop)
36
#endif
37
38
template
<
typename
...
Args
>
39
using
ConstRefExecutable
=
ExecutableType
<
ParameterPack
<
const
Args
&...>>;
40
41
template
<
typename
...
Args
>
42
using
ByValueExecutable
=
ExecutableType
<
ParameterPack
<
Args
...>>;
43
44
template
<
typename
...
Args
>
45
using
Executable
=
ConstRefExecutable
<
Args
...>;
46
47
using
EntryPoint
=
Executable<>
;
48
49
}
Processor.h
asio::ExecutableType< ParameterPack< Args... > >
Definition
Executable.h:24
asio::ExecutableType< ParameterPack< Args... > >::execute
virtual void execute(Args... args)=0
asio::ExecutableType
Definition
Executable.h:12
asio::ParameterPack
Definition
Processor.h:20
asio::Processor
Base class for all asynchronous I/O interfaces.
Definition
Processor.h:31
mlrange_cast
Target mlrange_cast(Source arg)
Generic version of checked ML casts.
Definition
mlRangeCasts.h:332
asio
Definition
AsynchronousExecution.h:15
FMEstable
ReleaseMeVis
Projects
AsynchronousIO
Sources
asio
Executable.h
Generated by
1.10.0