18#ifndef WIN32_NO_STATUS
19#error "-DWIN32_NO_STATUS must be defined as a compile option"
25#define WIN32_NO_STATUS
42#include <ShlObj_core.h>
68#include <functiondiscoverykeys_devpkey.h>
69#include <mmdeviceapi.h>
70#include <endpointvolume.h>
71#include <audioclient.h>
83namespace hi {
inline namespace v1 {
89 auto s_len = narrow_cast<int>(s.size());
90 auto r_len = MultiByteToWideChar(CP_UTF8, 0, s.data(), s_len,
nullptr, 0);
95 auto r =
std::wstring(narrow_cast<size_t>(r_len), L
'\0');
96 MultiByteToWideChar(CP_UTF8, 0, s.data(), s_len, r.data(), r_len);
104 auto s_len = narrow_cast<int>(s.size());
105 auto r_len = WideCharToMultiByte(CP_UTF8, 0, s.data(), s_len,
nullptr, 0,
nullptr,
nullptr);
110 auto r =
std::string(narrow_cast<size_t>(r_len),
'\0');
111 WideCharToMultiByte(CP_UTF8, 0, s.data(), s_len, r.data(), r_len,
nullptr,
nullptr);
Utilities for throwing exceptions and terminating the application.
Functions for casting values between types savely.
DOXYGEN BUG.
Definition algorithm.hpp:13
geometry/margins.hpp
Definition cache.hpp:11
std::string win32_wstring_to_string(std::wstring_view s)
Convert a win32-API compatible std::wstring to a UTF-8 std::string.
Definition win32_headers.hpp:102
std::wstring win32_string_to_wstring(std::string_view s)
Convert a UTF-8 std::string to a win32-API compatible std::wstring.
Definition win32_headers.hpp:87
Exception thrown during parsing on an error.
Definition exception.hpp:50