Lely core libraries 2.3.4
sigset.hpp
Go to the documentation of this file.
1
24#ifndef LELY_IO2_SYS_SIGSET_HPP_
25#define LELY_IO2_SYS_SIGSET_HPP_
26
27#include <lely/io2/sys/sigset.h>
28#include <lely/io2/sigset.hpp>
29
30#include <utility>
31
32namespace lely {
33namespace io {
34
36class SignalSet : public SignalSetBase {
37 public:
40 : SignalSetBase(io_sigset_create(poll, exec)) {
41 if (!sigset) util::throw_errc("SignalSet");
42 }
43
44 SignalSet(const SignalSet&) = delete;
45
47 other.sigset = nullptr;
48 other.dev = nullptr;
49 }
50
51 SignalSet& operator=(const SignalSet&) = delete;
52
53 SignalSet&
54 operator=(SignalSet&& other) noexcept {
55 using ::std::swap;
56 swap(sigset, other.sigset);
57 swap(dev, other.dev);
58 return *this;
59 }
60
63};
64
65} // namespace io
66} // namespace lely
67
68#endif // !LELY_IO2_SYS_SIGSET_HPP_
A CANopen value.
Definition val.hpp:42
A reference to an abstract signal handler.
Definition sigset.hpp:124
A system signal handler.
Definition sigset.hpp:36
SignalSet(io_poll_t *poll, ev_exec_t *exec)
Definition sigset.hpp:39
const struct ev_exec_vtbl *const ev_exec_t
An abstract task executor.
Definition ev.h:29
This header file is part of the I/O library; it contains the system signal handler declarations.
io_sigset_t * io_sigset_create(io_poll_t *poll, ev_exec_t *exec)
Creates a new system signal handler.
Definition sigset.c:303
void io_sigset_destroy(io_sigset_t *sigset)
Destroys a system signal handler.
Definition sigset.c:330
This header file is part of the I/O library; it contains the C++ interface for the abstract signal ha...
An I/O polling interface.
Definition poll.c:51