Shared/Common.h file

Common header file, includes also CommonBase.h, <cstddef> and <cstdint>

Defines

#define DEATH_ENUM_FLAGS(type)
Mark an enum as a set of flags.
#define DEATH_PRIVATE_ENUM_FLAGS(type)
Mark a private enum as a set of flags.
#define DEATH_HELPER_EXPAND(...)
Workaround for MSVC not being able to expand __VA_ARGS__ correctly.
#define DEATH_HELPER_PICK(...)
Pick a macro implementation based on how many arguments were passed.
#define DEATH_HELPER_ARGS_COUNT(...)
Get number of arguments in a variadic macro.
#define DEATH_PASTE(x, y)
Paste two tokens together.
#define DEATH_REMOVE_PARENS(x)
Remove optional parentheses from the specified argument.

Define documentation

#define DEATH_ENUM_FLAGS(type)

Mark an enum as a set of flags.

Defines out-of-class operators (|, &, ~ and ^) for a given enum class type.

#define DEATH_PRIVATE_ENUM_FLAGS(type)

Mark a private enum as a set of flags.

Defines out-of-class operators (|, &, ~ and ^) for a given enum class type as friends of encapsulating class. This variant should be used for enum class types declared within classes.

#define DEATH_PASTE(x, y)

Paste two tokens together.

Concatenates preprocessor tokens to create a new one. However, two tokens that don't together form a valid token cannot be pasted together.

#define DEATH_REMOVE_PARENS(x)

Remove optional parentheses from the specified argument.

Allows one or more arguments enclosed in parentheses to be passed to another macro or function. Parentheses are automatically removed before passing to the destination.