Photon Common Library 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
os.h File Reference

Operating system detection macros and utilities. More...

#include <cstddef>
#include <filesystem>

Go to the source code of this file.

Namespaces

namespace  ph
 The root for all renderer implementations.
 
namespace  ph::os
 

Macros

#define PH_OPERATING_SYSTEM_IS_WINDOWS   0
 
#define PH_OPERATING_SYSTEM_IS_LINUX   0
 
#define PH_OPERATING_SYSTEM_IS_OSX   0
 

Enumerations

enum class  ph::os::EWindowsVersion {
  ph::os::Unknown = 0 , ph::os::Windows_2000 , ph::os::Windows_XP , ph::os::Windows_Vista ,
  ph::os::Windows_7 , ph::os::Windows_8 , ph::os::Windows_8_1 , ph::os::Windows_10
}
 

Functions

EWindowsVersion ph::os::get_windows_version ()
 Get current Windows version at runtime.
 
std::size_t ph::os::get_L1_cache_line_size_in_bytes ()
 Get size of L1 cache at runtime.
 
std::filesystem::path ph::os::get_executable_path ()
 Get the path to the currently running executable. Answering the question, "Where am I?".
 

Detailed Description

Operating system detection macros and utilities.

The following macros will be defined as 1 for each operating system:

Windows: PH_OPERATING_SYSTEM_IS_WINDOWS Linux: PH_OPERATING_SYSTEM_IS_LINUX macOS: PH_OPERATING_SYSTEM_IS_OSX

Macro Definition Documentation

◆ PH_OPERATING_SYSTEM_IS_LINUX

#define PH_OPERATING_SYSTEM_IS_LINUX   0

◆ PH_OPERATING_SYSTEM_IS_OSX

#define PH_OPERATING_SYSTEM_IS_OSX   0

◆ PH_OPERATING_SYSTEM_IS_WINDOWS

#define PH_OPERATING_SYSTEM_IS_WINDOWS   0