libaddressinput - reduce number of copies in storage class by 2
1. on the way in (Put)
2. on the way out (Get)
BUG=337679
Review URL: https://codereview.chromium.org/148463003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249102 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/base/values.h b/base/values.h
index 8caf8350..a77cd3bd 100644
--- a/base/values.h
+++ b/base/values.h
@@ -91,6 +91,7 @@
virtual bool GetAsDouble(double* out_value) const;
virtual bool GetAsString(std::string* out_value) const;
virtual bool GetAsString(string16* out_value) const;
+ virtual bool GetAsString(const StringValue** out_value) const;
virtual bool GetAsList(ListValue** out_value);
virtual bool GetAsList(const ListValue** out_value) const;
virtual bool GetAsDictionary(DictionaryValue** out_value);
@@ -154,9 +155,14 @@
virtual ~StringValue();
+ // Returns |value_| as a pointer or reference.
+ std::string* GetString();
+ const std::string& GetString() const;
+
// Overridden from Value:
virtual bool GetAsString(std::string* out_value) const OVERRIDE;
virtual bool GetAsString(string16* out_value) const OVERRIDE;
+ virtual bool GetAsString(const StringValue** out_value) const OVERRIDE;
virtual StringValue* DeepCopy() const OVERRIDE;
virtual bool Equals(const Value* other) const OVERRIDE;