|
KarmaEngine
Game Engine for practical learning and research purposes
|
This file contains the macros for Karma's classes' general purpose use, including assertions and storage-class information (for multiplatforms). More...

Go to the source code of this file.
Macros | |
| #define | KARMA_API |
| Defining Karma's API macro for storage class information. | |
| #define | BIT(x) |
| Macro for bit-shift operation (left) | |
| #define | KR_ASSERT(expr, ...) |
| Karma's Assertion. | |
| #define | KR_CORE_ASSERT(expr, ...) |
| #define | KR_BIND_EVENT_FN(fn) |
| Macro for std::bind routine. See https://en.cppreference.com/w/cpp/utility/functional/bind. | |
| #define | KR_NONCOPYABLE(TypeName) |
| Makes a type non-copyable and non-movable by deleting copy/move constructors and assignment/move operators. The macro should be placed in the public section of the type for better compiler diagnostic messages. Example usage: | |
| #define | FUNCTION_NON_NULL_RETURN_START |
| #define | FUNCTION_NON_NULL_RETURN_END |
| #define | FORCEINLINE inline |
| Typical inlining macro for clarity. | |
This file contains the macros for Karma's classes' general purpose use, including assertions and storage-class information (for multiplatforms).
| #define BIT | ( | x | ) |
Macro for bit-shift operation (left)
Basically shifting 0000001 to x power of 2 (2^x). BIT(1) is 0000010
| #define FORCEINLINE inline |
Typical inlining macro for clarity.
| #define KARMA_API |
Defining Karma's API macro for storage class information.
| #define KR_ASSERT | ( | expr, | |
| ... ) |
Karma's Assertion.
| #define KR_BIND_EVENT_FN | ( | fn | ) |
Macro for std::bind routine. See https://en.cppreference.com/w/cpp/utility/functional/bind.
| #define KR_NONCOPYABLE | ( | TypeName | ) |
Makes a type non-copyable and non-movable by deleting copy/move constructors and assignment/move operators. The macro should be placed in the public section of the type for better compiler diagnostic messages. Example usage: