fork(3) download
  1. #include <vector>
  2. #include <unordered_map>
  3.  
  4. template <typename K, typename... TArgs, template<typename...> class TContainer>
  5. std::vector<K> getKeys(const TContainer<K, TArgs...>& mMap)
  6. {
  7. std::vector<K> result;
  8. for (auto p : mMap)
  9. result.push_back(p.first);
  10. return result;
  11. }
  12.  
  13. template <typename Container>
  14. auto getKeys2(const Container& mMap) -> std::vector<typename Container::key_type>
  15. {
  16. std::vector<typename Container::key_type> result;
  17. for (auto p : mMap)
  18. result.push_back(p.first);
  19. return result;
  20. }
  21.  
  22. int main()
  23. {
  24. std::unordered_map<int, int> m;
  25. m[1] = 4;
  26. m[2] = 7;
  27. std::vector<int> keys = getKeys(m);
  28. std::vector<int> keys2 = getKeys2(m);
  29. }
Success #stdin #stdout 0s 3472KB
stdin
Standard input is empty
stdout
Standard output is empty