qxLib
|
#include <qx/macros/common.h>
Go to the source code of this file.
Macros | |
#define | QX_STRINGIFY(name) #name |
Macro can be used to turn any text in your code into a string, but only the exact text between the parentheses There are no variable dereferencing or macro substitutions or any other sort of thing done. More... | |
#define | QX_LINE_NAME(prefix) _QX_JOIN(prefix, __LINE__) |
Do magic! Creates a unique name using the line number. More... | |
#define | QX_C_CONSTANT_CASE(name) |
A helper to avoid duplication when converting c libs constants to string literals. More... | |
#define | QX_METHOD_NAME(className, methodName) ((void)sizeof(&className::methodName), QX_STRINGIFY(methodName))) |
Get a method name (without className::), while statically verifying that the method exists. More... | |
#define | QX_FULL_METHOD_NAME(className, methodName) ((void)sizeof(&className::methodName), QX_STRINGIFY(className) "::" QX_STRINGIFY(methodName)) |
Get a full method name (className::methodName), while statically verifying that the method exists. More... | |
#define QX_C_CONSTANT_CASE | ( | name | ) |
A helper to avoid duplication when converting c libs constants to string literals.
name | - c constant static const char* GlfwErrorCodeToString(int nErrorCode)
{
switch (nErrorCode)
{
QX_C_CONSTANT_CASE(GLFW_NO_ERROR);
QX_C_CONSTANT_CASE(GLFW_NOT_INITIALIZED);
QX_C_CONSTANT_CASE(GLFW_NO_CURRENT_CONTEXT);
QX_C_CONSTANT_CASE(GLFW_INVALID_ENUM);
QX_C_CONSTANT_CASE(GLFW_INVALID_VALUE);
QX_C_CONSTANT_CASE(GLFW_OUT_OF_MEMORY);
QX_C_CONSTANT_CASE(GLFW_API_UNAVAILABLE);
QX_C_CONSTANT_CASE(GLFW_VERSION_UNAVAILABLE);
QX_C_CONSTANT_CASE(GLFW_PLATFORM_ERROR);
QX_C_CONSTANT_CASE(GLFW_FORMAT_UNAVAILABLE);
QX_C_CONSTANT_CASE(GLFW_NO_WINDOW_CONTEXT);
}
return "GLFW_UNKNOWN_ERROR";
}
#define QX_C_CONSTANT_CASE(name) A helper to avoid duplication when converting c libs constants to string literals. Definition: names.h:54 |
#define QX_FULL_METHOD_NAME | ( | className, | |
methodName | |||
) | ((void)sizeof(&className::methodName), QX_STRINGIFY(className) "::" QX_STRINGIFY(methodName)) |
#define QX_LINE_NAME | ( | prefix | ) | _QX_JOIN(prefix, __LINE__) |
#define QX_METHOD_NAME | ( | className, | |
methodName | |||
) | ((void)sizeof(&className::methodName), QX_STRINGIFY(methodName))) |
#define QX_STRINGIFY | ( | name | ) | #name |