| Index: base/string_piece.h
|
| diff --git a/base/string_piece.h b/base/string_piece.h
|
| index f80ca5bb3e367157de6f82ddc6784f8a2b4567a2..6a9528f50dc3b2e04dc44f3a925a3f34132bc507 100644
|
| --- a/base/string_piece.h
|
| +++ b/base/string_piece.h
|
| @@ -65,6 +65,14 @@ template <typename STRING_TYPE> class StringPieceDetail {
|
| StringPieceDetail(const STRING_TYPE& str)
|
| : ptr_(str.data()),
|
| length_(str.size()) {}
|
| + StringPieceDetail(const typename STRING_TYPE::const_iterator& begin,
|
| + const typename STRING_TYPE::const_iterator& end)
|
| + : ptr_(begin == end ? NULL : &*begin),
|
| + length_(end - begin) {}
|
| + StringPieceDetail(const typename STRING_TYPE::iterator& begin,
|
| + const typename STRING_TYPE::iterator& end)
|
| + : ptr_(begin == end ? NULL : &*begin),
|
| + length_(end - begin) {}
|
| StringPieceDetail(const value_type* offset, size_type len)
|
| : ptr_(offset),
|
| length_(len) {}
|
| @@ -168,6 +176,12 @@ template <typename STRING_TYPE> class BasicStringPiece :
|
| : internal::StringPieceDetail<STRING_TYPE>(str) {}
|
| BasicStringPiece(const STRING_TYPE& str)
|
| : internal::StringPieceDetail<STRING_TYPE>(str) {}
|
| + BasicStringPiece(const typename STRING_TYPE::const_iterator& begin,
|
| + const typename STRING_TYPE::const_iterator& end)
|
| + : internal::StringPieceDetail<STRING_TYPE>(begin, end) {}
|
| + BasicStringPiece(const typename STRING_TYPE::iterator& begin,
|
| + const typename STRING_TYPE::iterator& end)
|
| + : internal::StringPieceDetail<STRING_TYPE>(begin, end) {}
|
| BasicStringPiece(const value_type* offset, size_type len)
|
| : internal::StringPieceDetail<STRING_TYPE>(offset, len) {}
|
| };
|
| @@ -182,6 +196,12 @@ template <> class BASE_EXPORT BasicStringPiece<std::string> :
|
| : internal::StringPieceDetail<std::string>(str) {}
|
| BasicStringPiece(const std::string& str)
|
| : internal::StringPieceDetail<std::string>(str) {}
|
| + BasicStringPiece(const std::string::const_iterator& begin,
|
| + const std::string::const_iterator& end)
|
| + : internal::StringPieceDetail<std::string>(begin, end) {}
|
| + BasicStringPiece(const std::string::iterator& begin,
|
| + const std::string::iterator& end)
|
| + : internal::StringPieceDetail<std::string>(begin, end) {}
|
| BasicStringPiece(const char* offset, size_type len)
|
| : internal::StringPieceDetail<std::string>(offset, len) {}
|
|
|
|
|