diff options
| author | Alexander Karatarakis <alkarata@microsoft.com> | 2016-09-22 23:28:14 -0700 |
|---|---|---|
| committer | Alexander Karatarakis <alkarata@microsoft.com> | 2016-09-22 23:28:14 -0700 |
| commit | addecbfdefe9f00214db9af438b0fe255e92a16a (patch) | |
| tree | 9859220f90f28e4ebec200b053c69c76a136c72f | |
| parent | c699d5715b2e768ef2f7742a1894742df982038b (diff) | |
| download | vcpkg-addecbfdefe9f00214db9af438b0fe255e92a16a.tar.gz vcpkg-addecbfdefe9f00214db9af438b0fe255e92a16a.zip | |
Introduce vcpkg_Maps utility namespace
| -rw-r--r-- | toolsrc/include/vcpkg_Maps.h | 18 | ||||
| -rw-r--r-- | toolsrc/vcpkgcommon/vcpkgcommon.vcxproj | 1 | ||||
| -rw-r--r-- | toolsrc/vcpkgcommon/vcpkgcommon.vcxproj.filters | 3 |
3 files changed, 22 insertions, 0 deletions
diff --git a/toolsrc/include/vcpkg_Maps.h b/toolsrc/include/vcpkg_Maps.h new file mode 100644 index 000000000..5b7b8ed46 --- /dev/null +++ b/toolsrc/include/vcpkg_Maps.h @@ -0,0 +1,18 @@ +#pragma once + +#include <unordered_map> +#include <unordered_set> + +namespace vcpkg { namespace Maps +{ + template <typename K, typename V> + std::unordered_set<K> extract_key_set(const std::unordered_map<K, V>& input_map) + { + std::unordered_set<K> key_set; + for (auto const& element : input_map) + { + key_set.insert(element.first); + } + return key_set; + } +}} diff --git a/toolsrc/vcpkgcommon/vcpkgcommon.vcxproj b/toolsrc/vcpkgcommon/vcpkgcommon.vcxproj index e91cf2cf8..d5e68fde3 100644 --- a/toolsrc/vcpkgcommon/vcpkgcommon.vcxproj +++ b/toolsrc/vcpkgcommon/vcpkgcommon.vcxproj @@ -131,6 +131,7 @@ <ClInclude Include="..\include\vcpkg_Checks.h" /> <ClInclude Include="..\include\vcpkg_Files.h" /> <ClInclude Include="..\include\vcpkg_Graphs.h" /> + <ClInclude Include="..\include\vcpkg_Maps.h" /> <ClInclude Include="..\include\vcpkg_Sets.h" /> <ClInclude Include="..\include\vcpkg_Strings.h" /> <ClInclude Include="..\include\vcpkg_System.h" /> diff --git a/toolsrc/vcpkgcommon/vcpkgcommon.vcxproj.filters b/toolsrc/vcpkgcommon/vcpkgcommon.vcxproj.filters index 969cf58b4..ae747d687 100644 --- a/toolsrc/vcpkgcommon/vcpkgcommon.vcxproj.filters +++ b/toolsrc/vcpkgcommon/vcpkgcommon.vcxproj.filters @@ -50,6 +50,9 @@ <ClInclude Include="..\include\opt_bool.h"> <Filter>Header Files</Filter> </ClInclude> + <ClInclude Include="..\include\vcpkg_Maps.h"> + <Filter>Header Files</Filter> + </ClInclude> <ClInclude Include="..\include\vcpkg_Sets.h"> <Filter>Header Files</Filter> </ClInclude> |
