blob: 3bf58525bd72ee701f5f7fb15f77d5a36973598e [file] [log] [blame]
// Copyright (c) 2012 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 WIMAX_MANAGER_UTILITY_H_
#define WIMAX_MANAGER_UTILITY_H_
#include <set>
#include <map>
#include <base/logging.h>
namespace wimax_manager {
template <typename KeyType, typename ValueType>
std::set<KeyType> GetKeysOfMap(const std::map<KeyType, ValueType> &m) {
std::set<KeyType> keys;
typename std::map<KeyType, ValueType>::const_iterator map_iterator;
for (map_iterator = m.begin(); map_iterator != m.end(); ++map_iterator) {
keys.insert(map_iterator->first);
}
return keys;
}
template <typename KeyType, typename ValueType>
void RemoveKeysFromMap(std::map<KeyType, ValueType> *m,
const std::set<KeyType> &keys_to_remove) {
CHECK(m);
typename std::set<KeyType>::const_iterator key_iterator;
for (key_iterator = keys_to_remove.begin();
key_iterator != keys_to_remove.end(); ++key_iterator) {
m->erase(*key_iterator);
}
}
} // wimax_manager
#endif // WIMAX_MANAGER_UTILITY_H_