#pragma once #include #include namespace kku { template class ResourceHolder { public: inline void load(Id id, std::unique_ptr&& resource) noexcept { _resources[id] = std::move(resource); } inline const std::shared_ptr& get(Id id) const { return _resources.find(id)->second; } private: std::map> _resources; }; namespace Font { enum class Id { GUI }; } }