HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
Namespaces | Typedefs | Functions | Variables
thread.hpp File Reference

Functions and types for accessing operating system threads. More...

#include "../utility/module.hpp"
#include <intrin.h>
#include <thread>
#include <string_view>
#include <functional>
#include <atomic>
#include <chrono>
#include <bit>

Go to the source code of this file.

Namespaces

namespace  hi
 geometry/margins.hpp
 
namespace  hi::v1
 The HikoGUI API version 1.
 

Typedefs

using hi::v1::thread_id = uint32_t
 

Functions

thread_id hi::v1::current_thread_id () noexcept
 Get the current thread id.
 
void hi::v1::set_thread_name (std::string_view name) noexcept
 Set the name of the current thread.
 
std::string hi::v1::get_thread_name (thread_id id) noexcept
 Get the thread name of a thread id.
 
std::vector< bool > hi::v1::process_affinity_mask ()
 Get the current process CPU affinity mask.
 
std::vector< bool > hi::v1::set_thread_affinity_mask (std::vector< bool > const &mask)
 Set the current thread CPU affinity mask.
 
std::vector< bool > hi::v1::set_thread_affinity (std::size_t cpu_id)
 Set the current thread CPU affinity to a single CPU.
 
std::size_t hi::v1::advance_thread_affinity (std::size_t &cpu) noexcept
 Advance thread affinity to the next CPU.
 
std::size_t hi::v1::current_cpu_id () noexcept
 Get the current CPU id.
 

Variables

constexpr std::size_t hi::v1::maximum_num_cpus = 64
 

Detailed Description

Functions and types for accessing operating system threads.