summaryrefslogtreecommitdiffstats
path: root/base/values.cc
diff options
context:
space:
mode:
authorestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-05 20:42:06 +0000
committerestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-05 20:42:06 +0000
commitc03733152d359110e5d41895c2ecc20d75572054 (patch)
treee92aca64e5e8fe1a7c42775ac6e2fe8c7ed8ef5d /base/values.cc
parentf8b470c658bf287f1a1c27e52e954a27fab54301 (diff)
downloadchromium_src-c03733152d359110e5d41895c2ecc20d75572054.zip
chromium_src-c03733152d359110e5d41895c2ecc20d75572054.tar.gz
chromium_src-c03733152d359110e5d41895c2ecc20d75572054.tar.bz2
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
Diffstat (limited to 'base/values.cc')
-rw-r--r--base/values.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/base/values.cc b/base/values.cc
index fa256aa..5c0b3a2 100644
--- a/base/values.cc
+++ b/base/values.cc
@@ -134,6 +134,10 @@ bool Value::GetAsString(string16* out_value) const {
return false;
}
+bool Value::GetAsString(const StringValue** out_value) const {
+ return false;
+}
+
bool Value::GetAsList(ListValue** out_value) {
return false;
}
@@ -278,6 +282,14 @@ StringValue::StringValue(const string16& in_value)
StringValue::~StringValue() {
}
+std::string* StringValue::GetString() {
+ return &value_;
+}
+
+const std::string& StringValue::GetString() const {
+ return value_;
+}
+
bool StringValue::GetAsString(std::string* out_value) const {
if (out_value)
*out_value = value_;
@@ -290,6 +302,12 @@ bool StringValue::GetAsString(string16* out_value) const {
return true;
}
+bool StringValue::GetAsString(const StringValue** out_value) const {
+ if (*out_value)
+ *out_value = this;
+ return true;
+}
+
StringValue* StringValue::DeepCopy() const {
return new StringValue(value_);
}