1234567891011121314151617181920212223242526272829303132 |
- #pragma once
- #include <unordered_map>
- #include "Input.hpp"
- template<typename T = int>
- class InputMap
- {
- public:
- InputMap(const InputMap& copy) = delete;
- InputMap<T>& operator=(const InputMap<T>& copy) = delete;
-
- InputMap() = default;
-
- void map(const T& key, const Input& input)
- {
- _map.emplace(key, input);
- }
- void duoMap(const T& key, const Input& input1, const Input& input2)
- {
- _map.emplace(key, input1);
- _map.emplace(-key, input2);
- }
- const Input& get(const T& key) const
- {
- return _map.at(key);
- }
- private:
- std::unordered_map<T, Input> _map;
- };
|