// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Copied from strings/stringpiece.h with modifications // // A string-like object that points to a sized piece of memory. // // Functions or methods may use const StringPiece& parameters to accept either // a "const char*" or a "string" value that will be implicitly converted to // a StringPiece. The implicit conversion means that it is often appropriate // to include this .h file in other files rather than forward-declaring // StringPiece as would be appropriate for most other Google classes. // // Systematic usage of StringPiece is encouraged as it will reduce unnecessary // conversions from "const char*" to "string" and back again. // #ifndef I18N_PHONENUMBERS_BASE_STRINGS_STRING_PIECE_H_ #define I18N_PHONENUMBERS_BASE_STRINGS_STRING_PIECE_H_ #pragma once #include <string> #include "phonenumbers/base/basictypes.h" namespace i18n { namespace phonenumbers { class StringPiece { … }; bool operator==(const StringPiece& x, const StringPiece& y); inline bool operator!=(const StringPiece& x, const StringPiece& y) { … } inline bool operator<(const StringPiece& x, const StringPiece& y) { … } inline bool operator>(const StringPiece& x, const StringPiece& y) { … } inline bool operator<=(const StringPiece& x, const StringPiece& y) { … } inline bool operator>=(const StringPiece& x, const StringPiece& y) { … } } // namespace phonenumbers } // namespace i18n #endif // I18N_PHONENUMBERS_BASE_STRINGS_STRING_PIECE_H_