2#include <ossia/detail/config.hpp>
4#include <ossia/detail/flat_map.hpp>
12void set_thread_realtime(std::thread& t,
int prio = 99,
bool algo_fifo =
true);
14void set_thread_name(std::thread& t, std::string_view name);
16void set_thread_name(std::string_view name);
18void set_thread_pinned(
int cpu);
20enum class thread_type :
unsigned char
40using thread_specs = ossia::flat_map<thread_type, thread_spec>;
43const thread_specs& get_thread_specs() noexcept;
46thread_type get_current_thread_type();
50void set_thread_pinned(thread_type kind,
int thread_index);
54void ensure_current_thread_kind(thread_type kind);
58void ensure_current_thread(thread_type kind);
61#define OSSIA_ENSURE_CURRENT_THREAD_KIND(a) \
65#define OSSIA_ENSURE_CURRENT_THREAD(a) \
70#define OSSIA_ENSURE_CURRENT_THREAD_KIND(a) ::ossia::ensure_current_thread_kind(a)
71#define OSSIA_ENSURE_CURRENT_THREAD(a) ::ossia::ensure_current_thread(a)
75std::string get_exe_path();
78std::string get_exe_folder();
81std::string get_module_path();