Index: base/pickle.h |
diff --git a/base/pickle.h b/base/pickle.h |
index f2a198e3f2da9e13be0b4e20f1fcf8460133327b..b9b41267153e4f0f318440fef4304ce0462176b7 100644 |
--- a/base/pickle.h |
+++ b/base/pickle.h |
@@ -13,6 +13,7 @@ |
#include "base/gtest_prod_util.h" |
#include "base/logging.h" |
#include "base/strings/string16.h" |
+#include "base/strings/string_piece.h" |
class Pickle; |
@@ -39,8 +40,12 @@ class BASE_EXPORT PickleIterator { |
bool ReadFloat(float* result) WARN_UNUSED_RESULT; |
bool ReadDouble(double* result) WARN_UNUSED_RESULT; |
bool ReadString(std::string* result) WARN_UNUSED_RESULT; |
+ // The StringPiece data will only be valid for the lifetime of the message. |
+ bool ReadStringPiece(base::StringPiece* result) WARN_UNUSED_RESULT; |
bool ReadWString(std::wstring* result) WARN_UNUSED_RESULT; |
bool ReadString16(base::string16* result) WARN_UNUSED_RESULT; |
+ // The StringPiece16 data will only be valid for the lifetime of the message. |
+ bool ReadStringPiece16(base::StringPiece16* result) WARN_UNUSED_RESULT; |
// A pointer to the data will be placed in |*data|, and the length will be |
// placed in |*length|. The pointer placed into |*data| points into the |
@@ -195,9 +200,9 @@ class BASE_EXPORT Pickle { |
bool WriteDouble(double value) { |
return WritePOD(value); |
} |
- bool WriteString(const std::string& value); |
+ bool WriteString(const base::StringPiece& value); |
bool WriteWString(const std::wstring& value); |
- bool WriteString16(const base::string16& value); |
+ bool WriteString16(const base::StringPiece16& value); |
// "Data" is a blob with a length. When you read it out you will be given the |
// length. See also WriteBytes. |
bool WriteData(const char* data, int length); |