MeVisLab Toolbox Reference
Processable.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
Result,
typename
...
Args
>
12
class
ProcessableType
;
13
14
// see Executable.h for explanation of the vtordisp pragma
15
16
#ifdef _MSC_VER
17
#pragma vtordisp(push, 2)
18
#endif
19
template
<
typename
Result,
typename
...
Args
>
20
class
ProcessableType
<Result,
ParameterPack
<
Args
...>> :
public
virtual
Processor
21
{
22
public
:
23
24
using
InputSignature
=
ParameterPack
<
Args
...>;
25
26
using
ResultType
= Result;
27
28
virtual
Result
process
(
Args
...
args
) = 0;
29
};
30
#ifdef _MSC_VER
31
#pragma vtordisp(pop)
32
#endif
33
34
template
<
typename
Result,
typename
...
Args
>
35
using
ConstRefProcessable
=
ProcessableType
<Result,
ParameterPack
<
const
Args
&...>>;
36
37
template
<
typename
Result,
typename
...
Args
>
38
using
ByValueProcessable
=
ProcessableType
<Result,
ParameterPack
<
Args
...>>;
39
40
template
<
typename
Result,
typename
...
Args
>
41
using
Processable
=
ConstRefProcessable
<Result,
Args
...>;
42
}
Processor.h
asio::ParameterPack
Definition
Processor.h:20
asio::ProcessableType< Result, ParameterPack< Args... > >
Definition
Processable.h:21
asio::ProcessableType< Result, ParameterPack< Args... > >::ResultType
Result ResultType
Definition
Processable.h:26
asio::ProcessableType< Result, ParameterPack< Args... > >::process
virtual Result process(Args... args)=0
asio::ProcessableType
Definition
Processable.h:12
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
Processable.h
Generated by
1.10.0