Thread System 0.3.1
High-performance C++20 thread pool with work stealing and DAG scheduling
Loading...
Searching...
No Matches
platform_detection.h File Reference

CPU architecture and platform detection utilities. More...

#include <cstdint>
#include <string>
#include <thread>
Include dependency graph for platform_detection.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kcenon::thread::platform::system_info
 System information structure. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::thread
 Core threading foundation of the thread system library.
 
namespace  kcenon::thread::platform
 

Macros

#define THREAD_SYSTEM_UNKNOWN_PLATFORM   1
 
#define THREAD_SYSTEM_PLATFORM_NAME   "unknown"
 
#define THREAD_SYSTEM_ARCH_UNKNOWN   1
 
#define THREAD_SYSTEM_ARCH_NAME   "unknown"
 

Enumerations

enum class  kcenon::thread::platform::cpu_architecture { kcenon::thread::platform::x86 , kcenon::thread::platform::x86_64 , kcenon::thread::platform::arm64 , kcenon::thread::platform::unknown }
 CPU architecture enumeration. More...
 
enum class  kcenon::thread::platform::os_type { kcenon::thread::platform::windows , kcenon::thread::platform::macos , kcenon::thread::platform::linux_os , kcenon::thread::platform::unknown }
 Operating system enumeration. More...
 

Functions

cpu_architecture kcenon::thread::platform::get_architecture () noexcept
 Get current CPU architecture.
 
os_type kcenon::thread::platform::get_os () noexcept
 Get current operating system.
 
bool kcenon::thread::platform::is_arm64 () noexcept
 Check if running on ARM64 architecture.
 
uint32_t kcenon::thread::platform::get_physical_core_count () noexcept
 Get physical core count.
 
uint32_t kcenon::thread::platform::get_logical_core_count () noexcept
 Get logical core count.
 
bool kcenon::thread::platform::is_container_environment () noexcept
 Check if running in container environment.
 
bool kcenon::thread::platform::has_efficiency_cores () noexcept
 Check if system has efficiency cores (Apple Silicon)
 
system_info kcenon::thread::platform::get_system_info () noexcept
 Get comprehensive system information.
 
const char * kcenon::thread::platform::get_platform_name () noexcept
 Get platform name string.
 
const char * kcenon::thread::platform::get_arch_name () noexcept
 Get architecture name string.
 

Detailed Description

CPU architecture and platform detection utilities.

Definition in file platform_detection.h.

Macro Definition Documentation

◆ THREAD_SYSTEM_ARCH_NAME

#define THREAD_SYSTEM_ARCH_NAME   "unknown"

Definition at line 48 of file platform_detection.h.

Referenced by kcenon::thread::platform::get_arch_name().

◆ THREAD_SYSTEM_ARCH_UNKNOWN

#define THREAD_SYSTEM_ARCH_UNKNOWN   1

Definition at line 47 of file platform_detection.h.

◆ THREAD_SYSTEM_PLATFORM_NAME

#define THREAD_SYSTEM_PLATFORM_NAME   "unknown"

Definition at line 33 of file platform_detection.h.

Referenced by kcenon::thread::platform::get_platform_name().

◆ THREAD_SYSTEM_UNKNOWN_PLATFORM

#define THREAD_SYSTEM_UNKNOWN_PLATFORM   1

Definition at line 32 of file platform_detection.h.