vcpkg/toolsrc/include/vcpkg_Maps.h

31 lines
681 B
C
Raw Normal View History

2016-09-23 14:28:14 +08:00
#pragma once
#include <map>
2016-09-23 14:28:14 +08:00
#include <unordered_map>
#include <unordered_set>
2017-01-06 04:47:08 +08:00
namespace vcpkg::Maps
2016-09-23 14:28:14 +08:00
{
template<typename K, typename V>
2016-11-03 10:33:11 +08:00
std::vector<K> extract_keys(const std::unordered_map<K, V>& input_map)
{
std::vector<K> key_set;
for (auto const& element : input_map)
{
key_set.push_back(element.first);
}
return key_set;
}
template<typename K, typename V>
std::vector<K> extract_keys(const std::map<K, V>& input_map)
{
std::vector<K> key_set;
for (auto const& element : input_map)
{
key_set.push_back(element.first);
}
return key_set;
}
2017-01-06 04:47:08 +08:00
}