module; export module utils.memory; export namespace utils { /** * Template to generate deleters for `std::unique_ptr` from functions, e.g. to free SDL resources. * * @tparam delete_func Function that takes a pointer to a resource and deletes the resource. */ template struct FuncDeleter { template constexpr void operator()(T* ptr) const noexcept { delete_func(ptr); } }; }