Index: base/values.h |
diff --git a/base/values.h b/base/values.h |
index e19eca761fdeabadb474b69e02b0e183ad01d327..9509c95f609078562fcc32ee87583f579c7c064c 100644 |
--- a/base/values.h |
+++ b/base/values.h |
@@ -29,6 +29,7 @@ |
#include "base/base_export.h" |
#include "base/compiler_specific.h" |
+#include "base/containers/flat_map.h" |
#include "base/macros.h" |
#include "base/memory/manual_constructor.h" |
#include "base/strings/string16.h" |
@@ -48,7 +49,7 @@ using BinaryValue = Value; |
// See the file-level comment above for more information. |
class BASE_EXPORT Value { |
public: |
- using DictStorage = std::map<std::string, std::unique_ptr<Value>>; |
+ using DictStorage = base::flat_map<std::string, std::unique_ptr<Value>>; |
using ListStorage = std::vector<std::unique_ptr<Value>>; |
enum class Type { |
@@ -95,6 +96,8 @@ class BASE_EXPORT Value { |
explicit Value(const std::vector<char>& in_blob); |
explicit Value(std::vector<char>&& in_blob) noexcept; |
+ explicit Value(DictStorage&& in_dict) noexcept; |
+ |
Value& operator=(const Value& that); |
Value& operator=(Value&& that) noexcept; |