This is the mainstay of all of Burgerlib. You include the file burger.h in your project which will determine the compiler, target, CPU, and system specific features so you can write platform neutral code.
Debug defines, one is required MUST be present and is supplied by the build project. This is not created by default by Burgerlib. If both exist or both are missing, burger.h will force a compile error.
Compiler C++ level, all are defined up to the feature level present.
Compiler defines, to determine any compiler specific features are available. Only one macro is defined. All are defined as the compiler version number.
CPU defines, only one is enabled on each compiler.
"Type of CPU" defines, they are defined to help determine the type of CPU is running.
CPU special feature macros.
Endian defines, only one is enabled on each compile. Do not use the CPU to determine the endian, because it may change on some platforms.
Platform defines, only one is enabled on each compile.
Standard defines present on all build targets
Defines to denote if features, compilation switches or high level APIs are present
static_assert
constexpr
override
final
int
on compilers that don't support this keyword.