MeVisLab Toolbox Reference
Observable.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
#include <
asio/Signal.h
>
8
9
10
namespace
asio
{
11
12
template
<
typename
...
Args
>
13
class
ObservableType
;
14
15
// see Executable.h for explanation of the vtordisp pragma
16
17
#ifdef _MSC_VER
18
#pragma vtordisp(push, 2)
19
#endif
20
template
<
typename
...
Args
>
21
class
ObservableType
<
ParameterPack
<
Args
...>> :
public
virtual
Processor
22
{
23
public
:
24
25
using
OutputSignature
=
ParameterPack
<
Args
...>;
26
27
Signal
<
void
(
Args
...)>
signal
;
28
};
29
#ifdef _MSC_VER
30
#pragma vtordisp(pop)
31
#endif
32
33
template
<
typename
...
Args
>
34
using
ConstRefObservable
=
ObservableType
<
ParameterPack
<
const
Args
&...>>;
35
36
template
<
typename
...
Args
>
37
using
NonConstRefObservable
=
ObservableType
<
ParameterPack
<
Args
&...>>;
38
39
template
<
typename
...
Args
>
40
using
Observable
=
ConstRefObservable
<
Args
...>;
41
42
using
Trigger
=
Observable<>
;
43
44
template
<
typename
...
Args
>
45
class
VoidOrArgsObservable
46
{
47
public
:
48
using
Type
=
Observable
<
Args
...>;
49
};
50
51
template
<>
52
class
VoidOrArgsObservable
<
void
>
53
{
54
public
:
55
using
Type
=
Trigger
;
56
};
57
}
Processor.h
Signal.h
asio::ObservableType< ParameterPack< Args... > >::signal
Signal< void(Args...)> signal
Definition
Observable.h:27
asio::ObservableType
Definition
Observable.h:13
asio::ParameterPack
Definition
Processor.h:20
asio::Processor
Base class for all asynchronous I/O interfaces.
Definition
Processor.h:31
asio::VoidOrArgsObservable
Definition
Observable.h:46
mlrange_cast
Target mlrange_cast(Source arg)
Generic version of checked ML casts.
Definition
mlRangeCasts.h:332
asio
Definition
AsynchronousExecution.h:15
asio::Signal
boost::signals2::signal< Signature... > Signal
Definition
Signal.h:21
asio::Trigger
Observable<> Trigger
Definition
Observable.h:42
FMEstable
ReleaseMeVis
Projects
AsynchronousIO
Sources
asio
Observable.h
Generated by
1.10.0