Index: components/copresence/timed_map.h |
diff --git a/components/copresence/timed_map.h b/components/copresence/timed_map.h |
index 98e1517e73e92ac0c5a4bdff440386809637144d..bcd7149ba08b51d82d48b77d8bc54221fe60ffde 100644 |
--- a/components/copresence/timed_map.h |
+++ b/components/copresence/timed_map.h |
@@ -21,6 +21,7 @@ namespace copresence { |
// TimedMap is a map with the added functionality of clearing any |
// key/value pair after its specified lifetime is over. |
+// TODO(ckehoe): Why is this interface so different from std::map? |
template <typename KeyType, typename ValueType> |
class TimedMap { |
public: |
@@ -52,6 +53,17 @@ class TimedMap { |
return elt == map_.end() ? kEmptyValue : elt->second; |
} |
+ ValueType* GetMutableValue(const KeyType& key) { |
+ ClearExpiredTokens(); |
+ auto elt = map_.find(key); |
+ return elt == map_.end() ? nullptr : &(elt->second); |
+ } |
+ |
+ // TODO(ckehoe): Add a unit test for this. |
+ size_t Erase(const KeyType& key) { |
+ return map_.erase(key); |
+ } |
+ |
void set_clock_for_testing(scoped_ptr<base::TickClock> clock) { |
clock_ = clock.Pass(); |
} |