|
| StringPiece () |
| Default constructor, creates an empty StringPiece.
|
|
| StringPiece (const char *str) |
| Constructs from a NUL-terminated const char * pointer.
|
|
| StringPiece (const char8_t *str) |
| Constructs from a NUL-terminated const char8_t * pointer.
|
|
| StringPiece (std::nullptr_t p) |
| Constructs an empty StringPiece.
|
|
| StringPiece (const std::string &str) |
| Constructs from a std::string.
|
|
| StringPiece (const std::u8string &str) |
| Constructs from a std::u8string.
|
|
template<typename T , typename = std::enable_if_t< (std::is_same_v<decltype(T().data()), const char*> ) && std::is_same_v<decltype(T().size()), size_t>>> |
| StringPiece (T str) |
| Constructs from some other implementation of a string piece class, from any C++ record type that has these two methods:
|
|
| StringPiece (const char *offset, int32_t len) |
| Constructs from a const char * pointer and a specified length.
|
|
| StringPiece (const char8_t *str, int32_t len) |
| Constructs from a const char8_t * pointer and a specified length.
|
|
| StringPiece (const StringPiece &x, int32_t pos) |
| Substring of another StringPiece.
|
|
| StringPiece (const StringPiece &x, int32_t pos, int32_t len) |
| Substring of another StringPiece.
|
|
| operator std::string_view () const |
| Converts to a std::string_view().
|
|
const char * | data () const |
| Returns the string pointer.
|
|
int32_t | size () const |
| Returns the string length.
|
|
int32_t | length () const |
| Returns the string length.
|
|
UBool | empty () const |
| Returns whether the string is empty.
|
|
void | clear () |
| Sets to an empty string.
|
|
void | set (const char *xdata, int32_t len) |
| Reset the stringpiece to refer to new data.
|
|
void | set (const char *str) |
| Reset the stringpiece to refer to new data.
|
|
void | set (const char8_t *xdata, int32_t len) |
| Resets the stringpiece to refer to new data.
|
|
void | set (const char8_t *str) |
| Resets the stringpiece to refer to new data.
|
|
void | remove_prefix (int32_t n) |
| Removes the first n string units.
|
|
void | remove_suffix (int32_t n) |
| Removes the last n string units.
|
|
int32_t | find (StringPiece needle, int32_t offset) |
| Searches the StringPiece for the given search string (needle);.
|
|
int32_t | compare (StringPiece other) |
| Compares this StringPiece with the other StringPiece, with semantics similar to std::string::compare().
|
|
StringPiece | substr (int32_t pos, int32_t len=npos) const |
| Returns a substring of this StringPiece.
|
|
A string-like object that points to a sized piece of memory.
We provide non-explicit singleton constructors so users can pass in a "const char*" or a "string" wherever a "StringPiece" is expected.
Functions or methods may use StringPiece parameters to accept either a "const char*" or a "string" value that will be implicitly converted to a StringPiece.
Systematic usage of StringPiece is encouraged as it will reduce unnecessary conversions from "const char*" to "string" and back again.
- Stable
- ICU 4.2
Definition at line 61 of file stringpiece.h.
template<typename T , typename = std::enable_if_t< (std::is_same_v<decltype(T().data()), const char*> ) && std::is_same_v<decltype(T().size()), size_t>>>
icu::StringPiece::StringPiece |
( |
T | str | ) |
|
|
inline |
Constructs from some other implementation of a string piece class, from any C++ record type that has these two methods:
struct OtherStringPieceClass {
const char* data();
size_t size();
};
The other string piece class will typically be std::string_view from C++17 or absl::string_view from Abseil.
Starting with C++20, data() may also return a const char8_t* pointer, as from std::u8string_view.
- Parameters
-
str | the other string piece |
- Stable
- ICU 65
Definition at line 141 of file stringpiece.h.
const char * icu::StringPiece::data |
( |
| ) |
const |
|
inline |
Returns the string pointer.
May be nullptr if it is empty.
data() may return a pointer to a buffer with embedded NULs, and the returned buffer may or may not be null terminated. Therefore it is typically a mistake to pass data() to a routine that expects a NUL terminated string.
- Returns
- the string pointer
- Stable
- ICU 4.2
Definition at line 200 of file stringpiece.h.