#pragma once #include #include "Input.hpp" template class InputMap { public: InputMap(const InputMap& copy) = delete; InputMap& operator=(const InputMap& copy) = delete; InputMap() = default; void map(const T& key, const Input& input) { _map.emplace(key, input); } const Input& get(const T& key) const { return _map.at(key); } private: std::unordered_map _map; };