#pragma once // Don't let windows include the silly min/max macro #define NOMINMAX #include #define mynew new #ifdef _DEBUG #if defined(_MSC_VER) // Memory leak/corruption detection for Windows #define _CRTDBG_MAP_ALLOC #undef mynew #define mynew new ( _NORMAL_BLOCK , __FILE__ , __LINE__ ) #include #endif // MSVC #endif // _DEBUG // Standard library, used all the time. #include // uint64_t, etc. #include #include #include // Timing #include // Various useful things #include // shared_ptr #include // Containers, used all the time. #include #include // IO #include #include