#pragma once #include #include #include #include #include namespace ly { template using unique = std::unique_ptr; template using shared = std::shared_ptr; template using weak = std::weak_ptr; template using List = std::vector; template> using Map = std::map; template> using Dictionary = std::unordered_map; // Logging Macro #define LOG(M, ...) printf(M "\n", ##__VA_ARGS__) }