Chromium Code Reviews| Index: base/values.h |
| diff --git a/base/values.h b/base/values.h |
| index d4b334c2a57d14ee7cc35e13b3919bc4e5072c63..0d2ac8afe88ff022f822d4831dd186ff2d1e72cc 100644 |
| --- a/base/values.h |
| +++ b/base/values.h |
| @@ -49,7 +49,7 @@ using BinaryValue = Value; |
| class BASE_EXPORT Value { |
| public: |
| using DictStorage = std::map<std::string, std::unique_ptr<Value>>; |
| - using ListStorage = std::vector<std::unique_ptr<Value>>; |
| + using ListStorage = std::vector<Value>; |
| enum class Type { |
| NONE = 0, |
| @@ -97,6 +97,9 @@ class BASE_EXPORT Value { |
| explicit Value(const std::vector<char>& in_blob); |
| explicit Value(std::vector<char>&& in_blob); |
| + explicit Value(const ListStorage& in_list); |
|
Devlin
2017/03/15 15:25:03
Not my area, so no need to wait for my signoff, bu
jdoerrie
2017/03/16 19:01:56
Currently this is only used within |Value::DeepCop
|
| + explicit Value(ListStorage&& in_list); |
| + |
| Value& operator=(const Value& that); |
| Value& operator=(Value&& that); |
| @@ -377,9 +380,15 @@ class BASE_EXPORT ListValue : public Value { |
| // Returns the number of Values in this list. |
| size_t GetSize() const { return list_->size(); } |
| + // Returns the capacity of storage for Values in this list. |
| + size_t capacity() const { return list_->capacity(); } |
| + |
| // Returns whether the list is empty. |
| bool empty() const { return list_->empty(); } |
| + // Reserves storage for at least |n| values. |
| + void Reserve(size_t n); |
|
jdoerrie
2017/03/15 10:10:41
I tried to minimize API changes, but these were st
|
| + |
| // Sets the list item at the given index to be the Value specified by |
| // the value given. If the index beyond the current end of the list, null |
| // Values will be used to pad out the list. |