1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- /**
- * Triangles
- * Copyright (C) 2016 POSITIVE MENTAL ATTITUDE
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 3 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
- #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);
- }
- const Input& get(const T& key) const
- {
- return _map.at(key);
- }
- private:
- std::unordered_map<T, Input> _map;
- };
|