| // Copyright 2014 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| #ifndef BUFFET_MAP_UTILS_H_ |
| #define BUFFET_MAP_UTILS_H_ |
| // Given an STL map returns a vector containing all keys from the map |
| std::vector<typename T::key_type> GetMapKeys(const T& map) { |
| std::vector<typename T::key_type> keys; |
| keys.reserve(map.size()); |
| keys.push_back(pair.first); |
| // Given an STL map returns a vector containing all values from the map |
| std::vector<typename T::mapped_type> GetMapValues(const T& map) { |
| std::vector<typename T::mapped_type> values; |
| values.reserve(map.size()); |
| values.push_back(pair.second); |
| // Given an STL map returns a vector of key-value pairs from the map |
| std::vector<std::pair<typename T::key_type, |
| typename T::mapped_type>> MapToVector(const T& map) { |
| std::vector<std::pair<typename T::key_type, typename T::mapped_type>> vector; |
| vector.reserve(map.size()); |
| #endif // BUFFET_MAP_UTILS_H_ |