Toolbox
snapshot
The Reactive C++ Toolbox
Loading...
Searching...
No Matches
toolbox
io
Waker.hpp
Go to the documentation of this file.
1
// The Reactive C++ Toolbox.
2
// Copyright (C) 2013-2019 Swirly Cloud Limited
3
// Copyright (C) 2021 Reactive Markets Limited
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
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
#ifndef TOOLBOX_IO_WAKER_HPP
18
#define TOOLBOX_IO_WAKER_HPP
19
20
#include <
toolbox/Config.h
>
21
22
namespace
toolbox
{
23
inline
namespace
io {
24
27
class
TOOLBOX_API
Waker
{
28
public
:
29
Waker
() noexcept = default;
30
virtual ~
Waker
();
31
32
// Copy.
33
Waker
(const
Waker
&) noexcept = default;
34
Waker
& operator=(const
Waker
&) noexcept = default;
35
36
// Move.
37
Waker
(
Waker
&&) noexcept = default;
38
Waker
& operator=(
Waker
&&) noexcept = default;
39
40
void
wakeup() noexcept { do_wakeup(); }
41
42
protected
:
43
virtual
void
do_wakeup
() noexcept = 0;
44
};
45
46
}
// namespace io
47
}
// namespace toolbox
48
49
#endif
// TOOLBOX_IO_WAKER_HPP
Config.h
TOOLBOX_API
#define TOOLBOX_API
Definition
Config.h:39
toolbox::io::Waker
Definition
Waker.hpp:27
toolbox::io::Waker::do_wakeup
virtual void do_wakeup() noexcept=0
toolbox::io::Waker::Waker
Waker() noexcept=default
toolbox
Definition
Benchmark.cpp:26
Generated by
1.9.8