Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3108)

Unified Diff: base/values.h

Issue 2278723003: Use StringPiece more in base::Value interfaces. (Closed)
Patch Set: CrOS build fixes Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/json/json_parser.cc ('k') | base/values.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/values.h
diff --git a/base/values.h b/base/values.h
index 0371b8e3db5a3f77a1e0269560fb67486528c1f7..950d492b8bf418e06f1d62367ed2c5274a91faf6 100644
--- a/base/values.h
+++ b/base/values.h
@@ -149,7 +149,7 @@ class BASE_EXPORT FundamentalValue : public Value {
class BASE_EXPORT StringValue : public Value {
public:
// Initializes a StringValue with a UTF-8 narrow character string.
- explicit StringValue(const std::string& in_value);
+ explicit StringValue(StringPiece in_value);
// Initializes a StringValue with a string16.
explicit StringValue(const string16& in_value);
@@ -223,7 +223,7 @@ class BASE_EXPORT DictionaryValue : public Value {
bool GetAsDictionary(const DictionaryValue** out_value) const override;
// Returns true if the current dictionary has a value for the given key.
- bool HasKey(const std::string& key) const;
+ bool HasKey(StringPiece key) const;
// Returns the number of Values in this dictionary.
size_t size() const { return dictionary_.size(); }
@@ -241,32 +241,31 @@ class BASE_EXPORT DictionaryValue : public Value {
// If the key at any step of the way doesn't exist, or exists but isn't
// a DictionaryValue, a new DictionaryValue will be created and attached
// to the path in that location. |in_value| must be non-null.
- void Set(const std::string& path, std::unique_ptr<Value> in_value);
+ void Set(StringPiece path, std::unique_ptr<Value> in_value);
// Deprecated version of the above. TODO(estade): remove.
- void Set(const std::string& path, Value* in_value);
+ void Set(StringPiece path, Value* in_value);
// Convenience forms of Set(). These methods will replace any existing
// value at that path, even if it has a different type.
- void SetBoolean(const std::string& path, bool in_value);
- void SetInteger(const std::string& path, int in_value);
- void SetDouble(const std::string& path, double in_value);
- void SetString(const std::string& path, const std::string& in_value);
- void SetString(const std::string& path, const string16& in_value);
+ void SetBoolean(StringPiece path, bool in_value);
+ void SetInteger(StringPiece path, int in_value);
+ void SetDouble(StringPiece path, double in_value);
+ void SetString(StringPiece path, StringPiece in_value);
+ void SetString(StringPiece path, const string16& in_value);
// Like Set(), but without special treatment of '.'. This allows e.g. URLs to
// be used as paths.
- void SetWithoutPathExpansion(const std::string& key,
+ void SetWithoutPathExpansion(StringPiece key,
std::unique_ptr<Value> in_value);
// Deprecated version of the above. TODO(estade): remove.
- void SetWithoutPathExpansion(const std::string& key, Value* in_value);
+ void SetWithoutPathExpansion(StringPiece key, Value* in_value);
// Convenience forms of SetWithoutPathExpansion().
- void SetBooleanWithoutPathExpansion(const std::string& path, bool in_value);
- void SetIntegerWithoutPathExpansion(const std::string& path, int in_value);
- void SetDoubleWithoutPathExpansion(const std::string& path, double in_value);
- void SetStringWithoutPathExpansion(const std::string& path,
- const std::string& in_value);
- void SetStringWithoutPathExpansion(const std::string& path,
+ void SetBooleanWithoutPathExpansion(StringPiece path, bool in_value);
+ void SetIntegerWithoutPathExpansion(StringPiece path, int in_value);
+ void SetDoubleWithoutPathExpansion(StringPiece path, double in_value);
+ void SetStringWithoutPathExpansion(StringPiece path, StringPiece in_value);
+ void SetStringWithoutPathExpansion(StringPiece path,
const string16& in_value);
// Gets the Value associated with the given path starting from this object.
@@ -284,46 +283,41 @@ class BASE_EXPORT DictionaryValue : public Value {
// and the return value will be true if the path is valid and the value at
// the end of the path can be returned in the form specified.
// |out_value| is optional and will only be set if non-NULL.
- bool GetBoolean(const std::string& path, bool* out_value) const;
- bool GetInteger(const std::string& path, int* out_value) const;
+ bool GetBoolean(StringPiece path, bool* out_value) const;
+ bool GetInteger(StringPiece path, int* out_value) const;
// Values of both type TYPE_INTEGER and TYPE_DOUBLE can be obtained as
// doubles.
- bool GetDouble(const std::string& path, double* out_value) const;
- bool GetString(const std::string& path, std::string* out_value) const;
- bool GetString(const std::string& path, string16* out_value) const;
- bool GetStringASCII(const std::string& path, std::string* out_value) const;
- bool GetBinary(const std::string& path, const BinaryValue** out_value) const;
- bool GetBinary(const std::string& path, BinaryValue** out_value);
+ bool GetDouble(StringPiece path, double* out_value) const;
+ bool GetString(StringPiece path, std::string* out_value) const;
+ bool GetString(StringPiece path, string16* out_value) const;
+ bool GetStringASCII(StringPiece path, std::string* out_value) const;
+ bool GetBinary(StringPiece path, const BinaryValue** out_value) const;
+ bool GetBinary(StringPiece path, BinaryValue** out_value);
bool GetDictionary(StringPiece path,
const DictionaryValue** out_value) const;
bool GetDictionary(StringPiece path, DictionaryValue** out_value);
- bool GetList(const std::string& path, const ListValue** out_value) const;
- bool GetList(const std::string& path, ListValue** out_value);
+ bool GetList(StringPiece path, const ListValue** out_value) const;
+ bool GetList(StringPiece path, ListValue** out_value);
// Like Get(), but without special treatment of '.'. This allows e.g. URLs to
// be used as paths.
- bool GetWithoutPathExpansion(const std::string& key,
- const Value** out_value) const;
- bool GetWithoutPathExpansion(const std::string& key, Value** out_value);
- bool GetBooleanWithoutPathExpansion(const std::string& key,
- bool* out_value) const;
- bool GetIntegerWithoutPathExpansion(const std::string& key,
- int* out_value) const;
- bool GetDoubleWithoutPathExpansion(const std::string& key,
- double* out_value) const;
- bool GetStringWithoutPathExpansion(const std::string& key,
+ bool GetWithoutPathExpansion(StringPiece key, const Value** out_value) const;
+ bool GetWithoutPathExpansion(StringPiece key, Value** out_value);
+ bool GetBooleanWithoutPathExpansion(StringPiece key, bool* out_value) const;
+ bool GetIntegerWithoutPathExpansion(StringPiece key, int* out_value) const;
+ bool GetDoubleWithoutPathExpansion(StringPiece key, double* out_value) const;
+ bool GetStringWithoutPathExpansion(StringPiece key,
std::string* out_value) const;
- bool GetStringWithoutPathExpansion(const std::string& key,
+ bool GetStringWithoutPathExpansion(StringPiece key,
string16* out_value) const;
bool GetDictionaryWithoutPathExpansion(
- const std::string& key,
+ StringPiece key,
const DictionaryValue** out_value) const;
- bool GetDictionaryWithoutPathExpansion(const std::string& key,
+ bool GetDictionaryWithoutPathExpansion(StringPiece key,
DictionaryValue** out_value);
- bool GetListWithoutPathExpansion(const std::string& key,
+ bool GetListWithoutPathExpansion(StringPiece key,
const ListValue** out_value) const;
- bool GetListWithoutPathExpansion(const std::string& key,
- ListValue** out_value);
+ bool GetListWithoutPathExpansion(StringPiece key, ListValue** out_value);
// Removes the Value with the specified path from this dictionary (or one
// of its child dictionaries, if the path is more than just a local key).
@@ -331,18 +325,16 @@ class BASE_EXPORT DictionaryValue : public Value {
// |out_value|. If |out_value| is NULL, the removed value will be deleted.
// This method returns true if |path| is a valid path; otherwise it will
// return false and the DictionaryValue object will be unchanged.
- virtual bool Remove(const std::string& path,
- std::unique_ptr<Value>* out_value);
+ virtual bool Remove(StringPiece path, std::unique_ptr<Value>* out_value);
// Like Remove(), but without special treatment of '.'. This allows e.g. URLs
// to be used as paths.
- virtual bool RemoveWithoutPathExpansion(const std::string& key,
+ virtual bool RemoveWithoutPathExpansion(StringPiece key,
std::unique_ptr<Value>* out_value);
// Removes a path, clearing out all dictionaries on |path| that remain empty
// after removing the value at |path|.
- virtual bool RemovePath(const std::string& path,
- std::unique_ptr<Value>* out_value);
+ virtual bool RemovePath(StringPiece path, std::unique_ptr<Value>* out_value);
// Makes a copy of |this| but doesn't include empty dictionaries and lists in
// the copy. This never returns NULL, even if |this| itself is empty.
@@ -472,7 +464,7 @@ class BASE_EXPORT ListValue : public Value {
void AppendBoolean(bool in_value);
void AppendInteger(int in_value);
void AppendDouble(double in_value);
- void AppendString(const std::string& in_value);
+ void AppendString(StringPiece in_value);
void AppendString(const string16& in_value);
void AppendStrings(const std::vector<std::string>& in_values);
void AppendStrings(const std::vector<string16>& in_values);
« no previous file with comments | « base/json/json_parser.cc ('k') | base/values.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698