ICU 56.1: icu::StringPiece Class Reference

ICU 56.1 56.1

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

Public Member Functions | Static Public Attributes
icu::StringPiece Class Reference

A string-like object that points to a sized piece of memory. More...

`#include <stringpiece.h>`

Inheritance diagram for icu::StringPiece:

## Public Member Functions
| StringPiece ()
| Default constructor, creates an empty StringPiece. More...
| StringPiece (const char *str)
| Constructs from a NUL-terminated const char * pointer. More...
| StringPiece (const std::string &str)
| Constructs from a std::string. More...
| StringPiece (const char *offset, int32_t len)
| Constructs from a const char * pointer and a specified length. More...
| StringPiece (const StringPiece &x, int32_t pos)
| Substring of another StringPiece. More...
| StringPiece (const StringPiece &x, int32_t pos, int32_t len)
| Substring of another StringPiece. More...
const char * | data () const
| Returns the string pointer. More...
int32_t | size () const
| Returns the string length. More...
int32_t | length () const
| Returns the string length. More...
UBool | empty () const
| Returns whether the string is empty. More...
void | clear ()
| Sets to an empty string. More...
void | set (const char *xdata, int32_t len)
| Reset the stringpiece to refer to new data. More...
void | set (const char *str)
| Reset the stringpiece to refer to new data. More...
void | remove_prefix (int32_t n)
| Removes the first n string units. More...
void | remove_suffix (int32_t n)
| Removes the last n string units. More...
StringPiece | substr (int32_t pos, int32_t len=npos) const
| Returns a substring of this StringPiece. More...

## Static Public Attributes
static const int32_t | npos
| Maximum integer, used as a default value for substring methods. More...

## Detailed Description

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 const 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 52 of file stringpiece.h.

## Constructor & Destructor Documentation

icu::StringPiece::StringPiece | ( |  | ) |
| inline

Default constructor, creates an empty StringPiece.

Stable:
  ICU 4.2

Definition at line 62 of file stringpiece.h.

icu::StringPiece::StringPiece | ( | const char * | str | ) |

Constructs from a NUL-terminated const char * pointer.

Parameters

  str | a NUL-terminated const char * pointer

Stable:
  ICU 4.2

icu::StringPiece::StringPiece | ( | const std::string & | str | ) |
| inline

Constructs from a std::string.

Stable:
  ICU 4.2

Definition at line 74 of file stringpiece.h.

icu::StringPiece::StringPiece | ( | const char * | offset,
|  | int32_t | len
| ) |  |
| inline

Constructs from a const char * pointer and a specified length.

Parameters

  offset | a const char * pointer (need not be terminated)
  len | the length of the string; must be non-negative

Stable:
  ICU 4.2

Definition at line 83 of file stringpiece.h.

icu::StringPiece::StringPiece | ( | const StringPiece & | x,
|  | int32_t | pos
| ) |  |

Substring of another StringPiece.

Parameters

  x | the other StringPiece
  pos | start position in x; must be non-negative and <= x.length().

Stable:
  ICU 4.2

icu::StringPiece::StringPiece | ( | const StringPiece & | x,
|  | int32_t | pos,
|  | int32_t | len
| ) |  |

Substring of another StringPiece.

Parameters

  x | the other StringPiece
  pos | start position in x; must be non-negative and <= x.length().
  len | length of the substring; must be non-negative and will be pinned to at most x.length() - pos.

Stable:
  ICU 4.2

## Member Function Documentation

void icu::StringPiece::clear | ( |  | ) |
| inline

Sets to an empty string.

Stable:
  ICU 4.2

Definition at line 135 of file stringpiece.h.

References NULL.

const char* icu::StringPiece::data | ( |  | ) | const
| inline

Returns the string pointer.

May be NULL 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 111 of file stringpiece.h.

UBool icu::StringPiece::empty | ( |  | ) | const
| inline

Returns whether the string is empty.

Returns
  TRUE if the string is empty

Stable:
  ICU 4.2

Definition at line 129 of file stringpiece.h.

int32_t icu::StringPiece::length | ( | void |  | ) | const
| inline

Returns the string length.

Same as size().

Returns
  the string length

Stable:
  ICU 4.2

Definition at line 123 of file stringpiece.h.

void icu::StringPiece::remove_prefix | ( | int32_t | n | ) |
| inline

Removes the first n string units.

Parameters

  n | prefix length, must be non-negative and <=length()

Stable:
  ICU 4.2

Definition at line 157 of file stringpiece.h.

void icu::StringPiece::remove_suffix | ( | int32_t | n | ) |
| inline

Removes the last n string units.

Parameters

  n | suffix length, must be non-negative and <=length()

Stable:
  ICU 4.2

Definition at line 172 of file stringpiece.h.

void icu::StringPiece::set | ( | const char * | xdata,
|  | int32_t | len
| ) |  |
| inline

Reset the stringpiece to refer to new data.

Parameters

  xdata | pointer the new string data. Need not be nul terminated.
  len | the length of the new data

Stable:
  ICU 4.8

Definition at line 143 of file stringpiece.h.

void icu::StringPiece::set | ( | const char * | str | ) |

Reset the stringpiece to refer to new data.

Parameters

  str | a pointer to a NUL-terminated string.

Stable:
  ICU 4.8

int32_t icu::StringPiece::size | ( |  | ) | const
| inline

Returns the string length.

Same as length().

Returns
  the string length

Stable:
  ICU 4.2

Definition at line 117 of file stringpiece.h.

StringPiece icu::StringPiece::substr | ( | int32_t | pos,
|  | int32_t | len = `npos`
| ) |  | const
| inline

Returns a substring of this StringPiece.

Parameters

  pos | start position; must be non-negative and <= length().
  len | length of the substring; must be non-negative and will be pinned to at most length() - pos.

Returns
  the substring StringPiece

Stable:
  ICU 4.2

Definition at line 196 of file stringpiece.h.

## Field Documentation

const int32_t icu::StringPiece::npos
| static

Maximum integer, used as a default value for substring methods.

Stable:
  ICU 4.2

Definition at line 186 of file stringpiece.h.

The documentation for this class was generated from the following file:

- stringpiece.h