Cbeam
Loading...
Searching...
No Matches
windows_config.hpp File Reference

Header file to manage inclusion of windows.h with specific settings. More...

#include <windows.h>
#include <string>
Include dependency graph for windows_config.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  cbeam
 The root namespace for the Cbeam library. This namespace unifies cross-platform utilities for concurrency, memory management, file handling, logging, serialization, and more. Its purpose is to provide a cohesive collection of modern C++ components that address common system-level and application-level tasks, while promoting thread-safety, interprocess communication, and stable resource handling across varied platform APIs.
 
namespace  cbeam::platform
 Groups platform-specific helpers for Windows, Linux, and macOS. These utilities detect CPU architecture, manage COM initialization on Windows, resolve runtime paths, handle system directories, and unify OS-level functionality behind well-defined C++ APIs.
 

Macros

#define WINVER   0x0A00
 
#define _WIN32_WINNT   0x0A00
 
#define WIN32_LEAN_AND_MEAN
 
#define NOMINMAX
 

Functions

std::string cbeam::platform::get_last_windows_error_message ()
 Retrieves a descriptive error message for the last Windows API error.
 

Detailed Description

Header file to manage inclusion of windows.h with specific settings.

The settings disable the definition of certain macros like min, max, and MSG, which are known to cause conflicts with widespread libraries. The WINVER and _WIN32_WINNT macros are set to ensure that the application can use certain features and APIs that were introduced in Windows 10. The WIN32_LEAN_AND_MEAN definition excludes some less commonly used APIs from windows.h to reduce the overall footprint.

Macro Definition Documentation

◆ _WIN32_WINNT

#define _WIN32_WINNT   0x0A00

◆ NOMINMAX

#define NOMINMAX

◆ WIN32_LEAN_AND_MEAN

#define WIN32_LEAN_AND_MEAN

◆ WINVER

#define WINVER   0x0A00