|
HikoGUI
A low latency retained GUI
|
Functions for starting and stopping subsystems. More...
#include "../utility/utility.hpp"#include "unfair_recursive_mutex.hpp"#include "global_state.hpp"#include "../macros.hpp"#include <atomic>#include <vector>#include <functional>#include <bit>#include <type_traits>#include <mutex>Go to the source code of this file.
Namespaces | |
| namespace | hi |
| The HikoGUI namespace. | |
| namespace | hi::v1 |
| The HikoGUI API version 1. | |
Functions | |
| hi_export_module (hikogui.concurrency.subsystem) | |
|
template<typename T > requires (is_atomic_v<T>) | |
| hi_no_inline T::value_type | hi::v1::detail::start_subsystem (T &check_variable, typename T::value_type off_value, typename T::value_type(*init_function)(), void(*deinit_function)()) |
| hi_no_inline bool | hi::v1::detail::start_subsystem (global_state_type state_bit, bool(*init_function)(), void(*deinit_function)()) |
| template<typename T > requires (is_atomic_v<T>) | |
| T::value_type | hi::v1::start_subsystem (T &check_variable, typename T::value_type off_value, typename T::value_type(*init_function)(), void(*deinit_function)()) |
| Start a sub-system. | |
| bool | hi::v1::start_subsystem (global_state_type state_bit, bool(*init_function)(), void(*deinit_function)()) |
| Start a sub-system. | |
| template<typename T > requires (is_atomic_v<T>) | |
| T::value_type | hi::v1::start_subsystem_or_terminate (T &check_variable, typename T::value_type off_value, typename T::value_type(*init_function)(), void(*deinit_function)()) |
| Start a sub-system. | |
| void | hi::v1::stop_subsystem (void(*deinit_function)()) |
| Stop a sub-system. | |
| void | hi::v1::start_system () noexcept |
| Start the system. | |
| void | hi::v1::shutdown_system () noexcept |
| Shutdown the system. | |
Variables | |
| std::vector< void(*)()> | hi::v1::detail::subsystem_deinit_list |
| A list of deinit function to be called on shutdown. | |
| unfair_recursive_mutex | hi::v1::detail::subsystem_mutex |
| Mutex to be held when writing to system_status or accessing system_status_deinit_list. | |
Functions for starting and stopping subsystems.
|
inline |
A list of deinit function to be called on shutdown.
|
inline |
Mutex to be held when writing to system_status or accessing system_status_deinit_list.
The system status is also an atomic variable so that reads on system_status without holding the mutex is still possible.