Если у меня есть такие шаблоны, которые выполняют простую операцию копирования для примера, но для std::map
и std::unordered_map
:
template<typename T1, typename T2>
inline std::map<T1, T2> map_copy(std::map<T1,T2> const& a) {
std::map<T1,T2> output;
output = a;
return output;
}
template<typename T1, typename T2>
inline std::unordered_map<T1, T2> map_copy(std::unordered_map<T1,T2> const& a) {
std::unordered_map<T1,T2> output;
output = a;
return output;
}
Есть ли способ, возможно, используя концепции C ++, сократить эти определения до одного, ограничив возможные типы только std::map
и std::unordered_map
?