cpp-terminal 1.0.0
Small C++ library for writing multiplatform terminal applications
Loading...
Searching...
No Matches
signals.hpp
Go to the documentation of this file.
1/*
2* cpp-terminal
3* C++ library for writing multi-platform terminal applications.
4*
5* SPDX-FileCopyrightText: 2019-2025 cpp-terminal
6*
7* SPDX-License-Identifier: MIT
8*/
9
10#pragma once
11#include <cstddef>
12#include <vector>
13
14using sighandler_t = void (*)(int);
15
16namespace Term
17{
18
19class Terminal;
20
21namespace Private
22{
23
25{
26public:
27 Signals(const Terminal&) noexcept;
28 ~Signals() noexcept = default;
29 void setHandler(const sighandler_t& handler) noexcept;
30 void reset_and_raise(const int& sign) noexcept;
31 static void clean_terminal() noexcept;
32
33private:
34 const static std::size_t m_signals_number;
36 const static Term::Terminal* m_term;
37};
38
39} // namespace Private
40
41} // namespace Term
static const std::size_t m_signals_number
Definition signals.hpp:43
static void clean_terminal() noexcept
Definition signals.cpp:41
Signals(const Terminal &) noexcept
Definition signals.cpp:62
~Signals() noexcept=default
void setHandler(const sighandler_t &handler) noexcept
Definition signals.cpp:45
void reset_and_raise(const int &sign) noexcept
Definition signals.cpp:82
std::vector< sighandler_t > m_handlers
Definition signals.hpp:35
static const Term::Terminal * m_term
Definition signals.hpp:60
Definition args.cpp:13
void(*)(int) sighandler_t
Definition signals.hpp:14