#pragma once #include template auto get_map_key_by_value(const MapType& input_map, const decltype(input_map.begin()->second)& mapped_value) -> decltype(input_map.begin()->first) { auto iter = std::find_if(input_map.begin(), input_map.end(), [mapped_value](const auto& item) { return (item.second == mapped_value); }); if (iter == input_map.end()) { return decltype(input_map.begin()->first)(); } return iter->first; }