#pragma once typedef unsigned int uint; #include typedef int8_t int8; typedef int16_t int16; typedef int32_t int32; typedef int64_t int64; typedef uint8_t uint8; typedef uint16_t uint16; typedef uint32_t uint32; typedef uint64_t uint64; typedef uint8 byte; #include "util/Math.h" #include "logging/Logger.h" constexpr unsigned long long operator"" KB(unsigned long long l) { return l * 1024; } #ifdef _MSC_VER #define abstract __declspec(novtable) #else #define abstract #endif #include #define bitsizeof(type) (sizeof(type) * CHAR_BIT)