28 lines
941 B
C++
28 lines
941 B
C++
#pragma once
|
|
|
|
#include <algorithm>
|
|
#include <locale>
|
|
#include <stdarg.h>
|
|
#include <stddef.h>
|
|
#include <string>
|
|
|
|
// Macro to generate stringify functions for OpenXR enumerations based data provided in openxr_reflection.h
|
|
// clang-format off
|
|
#define ENUM_CASE_STR(name, val) case name: return #name;
|
|
#define MAKE_TO_STRING_FUNC(enumType) \
|
|
inline const char* to_string(enumType e) { \
|
|
switch (e) { \
|
|
XR_LIST_ENUM_##enumType(ENUM_CASE_STR) \
|
|
default: return "Unknown " #enumType; \
|
|
} \
|
|
}
|
|
// clang-format on
|
|
|
|
MAKE_TO_STRING_FUNC(XrReferenceSpaceType);
|
|
MAKE_TO_STRING_FUNC(XrViewConfigurationType);
|
|
MAKE_TO_STRING_FUNC(XrEnvironmentBlendMode);
|
|
MAKE_TO_STRING_FUNC(XrSessionState);
|
|
MAKE_TO_STRING_FUNC(XrResult);
|
|
MAKE_TO_STRING_FUNC(XrFormFactor);
|
|
MAKE_TO_STRING_FUNC(XrStructureType);
|