#pragma once #ifdef MSVC_CRT_MEMLEAK_DETECTION #define _CRTDBG_MAP_ALLOC #include #include #endif #define NOMINMAX //#ifndef __STDC_CONSTANT_MACROS //#define __STDC_CONSTANT_MACROS //#endif #if defined(MSVC_CRT_MEMLEAK_DETECTION) && defined(_DEBUG) && !defined(DBG_NEW) #define DBG_NEW new ( _NORMAL_BLOCK , __FILE__ , __LINE__ ) #include "define_new_memleakdetect.h" #endif #pragma warning( disable : 4351 ) #include #include #include #include #include #include #include #include #include #include #include // MSVC bug workaround #ifdef _MSC_VER namespace std { inline namespace literals { inline namespace chrono_literals {}}} #endif using namespace std::literals; #include "Utilities/types.h" #include "Utilities/Macro.h" #include "Utilities/Platform.h" #include "Utilities/BEType.h" #include "Utilities/Atomic.h" #include "Utilities/StrFmt.h" #include "Utilities/File.h" #include "Utilities/Log.h"