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
asio
Definition:
AsynchronousExecution.h:15
FMEstable
ReleaseMeVis
Projects
AsynchronousIO
Sources
asio
Processable.h
Generated by
1.9.1