| Linux in-mum-web1499.main-hosting.eu 5.14.0-503.40.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Mon May 5 06:06:04 EDT 2025 x86_64 Path : /opt/alt/alt-nodejs18/root/usr/share/doc/alt-nodejs18-libicu-doc/ |
| Current File : //opt/alt/alt-nodejs18/root/usr/share/doc/alt-nodejs18-libicu-doc/classStringPiece.html |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ICU 74.2: icu::StringPiece Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">ICU 74.2
 <span id="projectnumber">74.2</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespaceicu.html">icu</a></li><li class="navelem"><a class="el" href="classicu_1_1StringPiece.html">StringPiece</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> |
<a href="#pub-static-attribs">Static Public Attributes</a> </div>
<div class="headertitle">
<div class="title">icu::StringPiece Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>A string-like object that points to a sized piece of memory.
<a href="classicu_1_1StringPiece.html#details">More...</a></p>
<p><code>#include <<a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>></code></p>
<div class="dynheader">
Inheritance diagram for icu::StringPiece:</div>
<div class="dyncontent">
<div class="center">
<img src="classicu_1_1StringPiece.png" usemap="#icu::StringPiece_map" alt=""/>
<map id="icu::StringPiece_map" name="icu::StringPiece_map">
<area href="classicu_1_1UMemory.html" title="UMemory is the common ICU base class." alt="icu::UMemory" shape="rect" coords="0,0,100,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a883ea13586812cd22afd092f8d9dadf6"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#a883ea13586812cd22afd092f8d9dadf6">StringPiece</a> ()</td></tr>
<tr class="memdesc:a883ea13586812cd22afd092f8d9dadf6"><td class="mdescLeft"> </td><td class="mdescRight">Default constructor, creates an empty <a class="el" href="classicu_1_1StringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a>. <a href="classicu_1_1StringPiece.html#a883ea13586812cd22afd092f8d9dadf6">More...</a><br /></td></tr>
<tr class="separator:a883ea13586812cd22afd092f8d9dadf6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0f1f4a00c258d3ab74fb3df3d0c9b72a"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#a0f1f4a00c258d3ab74fb3df3d0c9b72a">StringPiece</a> (const char *str)</td></tr>
<tr class="memdesc:a0f1f4a00c258d3ab74fb3df3d0c9b72a"><td class="mdescLeft"> </td><td class="mdescRight">Constructs from a NUL-terminated const char * pointer. <a href="classicu_1_1StringPiece.html#a0f1f4a00c258d3ab74fb3df3d0c9b72a">More...</a><br /></td></tr>
<tr class="separator:a0f1f4a00c258d3ab74fb3df3d0c9b72a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a25b121ccdf279b0cd241431964ada557"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#a25b121ccdf279b0cd241431964ada557">StringPiece</a> (const char8_t *str)</td></tr>
<tr class="memdesc:a25b121ccdf279b0cd241431964ada557"><td class="mdescLeft"> </td><td class="mdescRight">Constructs from a NUL-terminated const char8_t * pointer. <a href="classicu_1_1StringPiece.html#a25b121ccdf279b0cd241431964ada557">More...</a><br /></td></tr>
<tr class="separator:a25b121ccdf279b0cd241431964ada557"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a958d13378a809ac220bd867a60d52c99"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#a958d13378a809ac220bd867a60d52c99">StringPiece</a> (std::nullptr_t p)</td></tr>
<tr class="memdesc:a958d13378a809ac220bd867a60d52c99"><td class="mdescLeft"> </td><td class="mdescRight">Constructs an empty <a class="el" href="classicu_1_1StringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a>. <a href="classicu_1_1StringPiece.html#a958d13378a809ac220bd867a60d52c99">More...</a><br /></td></tr>
<tr class="separator:a958d13378a809ac220bd867a60d52c99"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae52992082e683c5a8206ac3ec040f4aa"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#ae52992082e683c5a8206ac3ec040f4aa">StringPiece</a> (const std::string &str)</td></tr>
<tr class="memdesc:ae52992082e683c5a8206ac3ec040f4aa"><td class="mdescLeft"> </td><td class="mdescRight">Constructs from a std::string. <a href="classicu_1_1StringPiece.html#ae52992082e683c5a8206ac3ec040f4aa">More...</a><br /></td></tr>
<tr class="separator:ae52992082e683c5a8206ac3ec040f4aa"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a35f4dd3da9d40eb99de966e9e52b4fa6"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#a35f4dd3da9d40eb99de966e9e52b4fa6">StringPiece</a> (const std::u8string &str)</td></tr>
<tr class="memdesc:a35f4dd3da9d40eb99de966e9e52b4fa6"><td class="mdescLeft"> </td><td class="mdescRight">Constructs from a std::u8string. <a href="classicu_1_1StringPiece.html#a35f4dd3da9d40eb99de966e9e52b4fa6">More...</a><br /></td></tr>
<tr class="separator:a35f4dd3da9d40eb99de966e9e52b4fa6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a254a4f27616857af98f9ecf384a6e865"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< (std::is_same<decltype(T().data()), const char*>::value ) && std::is_same<decltype(T().size()), size_t>::value>::type> </td></tr>
<tr class="memitem:a254a4f27616857af98f9ecf384a6e865"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#a254a4f27616857af98f9ecf384a6e865">StringPiece</a> (T str)</td></tr>
<tr class="memdesc:a254a4f27616857af98f9ecf384a6e865"><td class="mdescLeft"> </td><td class="mdescRight">Constructs from some other implementation of a string piece class, from any C++ record type that has these two methods: <a href="classicu_1_1StringPiece.html#a254a4f27616857af98f9ecf384a6e865">More...</a><br /></td></tr>
<tr class="separator:a254a4f27616857af98f9ecf384a6e865"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af97f22b270d21d5c97337d5d58966a59"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#af97f22b270d21d5c97337d5d58966a59">StringPiece</a> (const char *offset, int32_t len)</td></tr>
<tr class="memdesc:af97f22b270d21d5c97337d5d58966a59"><td class="mdescLeft"> </td><td class="mdescRight">Constructs from a const char * pointer and a specified length. <a href="classicu_1_1StringPiece.html#af97f22b270d21d5c97337d5d58966a59">More...</a><br /></td></tr>
<tr class="separator:af97f22b270d21d5c97337d5d58966a59"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac749de6914d0f02082bc002dded7f927"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#ac749de6914d0f02082bc002dded7f927">StringPiece</a> (const char8_t *str, int32_t len)</td></tr>
<tr class="memdesc:ac749de6914d0f02082bc002dded7f927"><td class="mdescLeft"> </td><td class="mdescRight">Constructs from a const char8_t * pointer and a specified length. <a href="classicu_1_1StringPiece.html#ac749de6914d0f02082bc002dded7f927">More...</a><br /></td></tr>
<tr class="separator:ac749de6914d0f02082bc002dded7f927"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad864469d0ed57bf15e1378076b3d16fb"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#ad864469d0ed57bf15e1378076b3d16fb">StringPiece</a> (const <a class="el" href="classicu_1_1StringPiece.html">StringPiece</a> &x, int32_t pos)</td></tr>
<tr class="memdesc:ad864469d0ed57bf15e1378076b3d16fb"><td class="mdescLeft"> </td><td class="mdescRight">Substring of another <a class="el" href="classicu_1_1StringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a>. <a href="classicu_1_1StringPiece.html#ad864469d0ed57bf15e1378076b3d16fb">More...</a><br /></td></tr>
<tr class="separator:ad864469d0ed57bf15e1378076b3d16fb"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1b793f69feffef74ea5027095c64aab2"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#a1b793f69feffef74ea5027095c64aab2">StringPiece</a> (const <a class="el" href="classicu_1_1StringPiece.html">StringPiece</a> &x, int32_t pos, int32_t len)</td></tr>
<tr class="memdesc:a1b793f69feffef74ea5027095c64aab2"><td class="mdescLeft"> </td><td class="mdescRight">Substring of another <a class="el" href="classicu_1_1StringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a>. <a href="classicu_1_1StringPiece.html#a1b793f69feffef74ea5027095c64aab2">More...</a><br /></td></tr>
<tr class="separator:a1b793f69feffef74ea5027095c64aab2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1f4a1c4931d9c82baa7276c08ba65cff"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#a1f4a1c4931d9c82baa7276c08ba65cff">data</a> () const</td></tr>
<tr class="memdesc:a1f4a1c4931d9c82baa7276c08ba65cff"><td class="mdescLeft"> </td><td class="mdescRight">Returns the string pointer. <a href="classicu_1_1StringPiece.html#a1f4a1c4931d9c82baa7276c08ba65cff">More...</a><br /></td></tr>
<tr class="separator:a1f4a1c4931d9c82baa7276c08ba65cff"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab7704c0a02079a1d96b13d3011a888e2"><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#ab7704c0a02079a1d96b13d3011a888e2">size</a> () const</td></tr>
<tr class="memdesc:ab7704c0a02079a1d96b13d3011a888e2"><td class="mdescLeft"> </td><td class="mdescRight">Returns the string length. <a href="classicu_1_1StringPiece.html#ab7704c0a02079a1d96b13d3011a888e2">More...</a><br /></td></tr>
<tr class="separator:ab7704c0a02079a1d96b13d3011a888e2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad6f5f2eacf062a300706a8c5f7da85cc"><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#ad6f5f2eacf062a300706a8c5f7da85cc">length</a> () const</td></tr>
<tr class="memdesc:ad6f5f2eacf062a300706a8c5f7da85cc"><td class="mdescLeft"> </td><td class="mdescRight">Returns the string length. <a href="classicu_1_1StringPiece.html#ad6f5f2eacf062a300706a8c5f7da85cc">More...</a><br /></td></tr>
<tr class="separator:ad6f5f2eacf062a300706a8c5f7da85cc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0513410ed8444fcbe3d8cb9c7fb1ebd6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#a0513410ed8444fcbe3d8cb9c7fb1ebd6">empty</a> () const</td></tr>
<tr class="memdesc:a0513410ed8444fcbe3d8cb9c7fb1ebd6"><td class="mdescLeft"> </td><td class="mdescRight">Returns whether the string is empty. <a href="classicu_1_1StringPiece.html#a0513410ed8444fcbe3d8cb9c7fb1ebd6">More...</a><br /></td></tr>
<tr class="separator:a0513410ed8444fcbe3d8cb9c7fb1ebd6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a556a1c4776319a54048f3017b6426d6a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#a556a1c4776319a54048f3017b6426d6a">clear</a> ()</td></tr>
<tr class="memdesc:a556a1c4776319a54048f3017b6426d6a"><td class="mdescLeft"> </td><td class="mdescRight">Sets to an empty string. <a href="classicu_1_1StringPiece.html#a556a1c4776319a54048f3017b6426d6a">More...</a><br /></td></tr>
<tr class="separator:a556a1c4776319a54048f3017b6426d6a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa9fb8d13c5903207142dff23f7cf21bc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#aa9fb8d13c5903207142dff23f7cf21bc">set</a> (const char *xdata, int32_t len)</td></tr>
<tr class="memdesc:aa9fb8d13c5903207142dff23f7cf21bc"><td class="mdescLeft"> </td><td class="mdescRight">Reset the stringpiece to refer to new data. <a href="classicu_1_1StringPiece.html#aa9fb8d13c5903207142dff23f7cf21bc">More...</a><br /></td></tr>
<tr class="separator:aa9fb8d13c5903207142dff23f7cf21bc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a13add7445082965d9eeaa1ebc5d9bc7a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#a13add7445082965d9eeaa1ebc5d9bc7a">set</a> (const char *str)</td></tr>
<tr class="memdesc:a13add7445082965d9eeaa1ebc5d9bc7a"><td class="mdescLeft"> </td><td class="mdescRight">Reset the stringpiece to refer to new data. <a href="classicu_1_1StringPiece.html#a13add7445082965d9eeaa1ebc5d9bc7a">More...</a><br /></td></tr>
<tr class="separator:a13add7445082965d9eeaa1ebc5d9bc7a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a56c189120008fdae16fdfaa2c05d39ca"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#a56c189120008fdae16fdfaa2c05d39ca">set</a> (const char8_t *xdata, int32_t len)</td></tr>
<tr class="memdesc:a56c189120008fdae16fdfaa2c05d39ca"><td class="mdescLeft"> </td><td class="mdescRight">Resets the stringpiece to refer to new data. <a href="classicu_1_1StringPiece.html#a56c189120008fdae16fdfaa2c05d39ca">More...</a><br /></td></tr>
<tr class="separator:a56c189120008fdae16fdfaa2c05d39ca"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa3267fbc0ae7eff7360d1578f4fe9d0e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#aa3267fbc0ae7eff7360d1578f4fe9d0e">set</a> (const char8_t *str)</td></tr>
<tr class="memdesc:aa3267fbc0ae7eff7360d1578f4fe9d0e"><td class="mdescLeft"> </td><td class="mdescRight">Resets the stringpiece to refer to new data. <a href="classicu_1_1StringPiece.html#aa3267fbc0ae7eff7360d1578f4fe9d0e">More...</a><br /></td></tr>
<tr class="separator:aa3267fbc0ae7eff7360d1578f4fe9d0e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abd554715ec521ecf2413923c8429c4b5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#abd554715ec521ecf2413923c8429c4b5">remove_prefix</a> (int32_t n)</td></tr>
<tr class="memdesc:abd554715ec521ecf2413923c8429c4b5"><td class="mdescLeft"> </td><td class="mdescRight">Removes the first n string units. <a href="classicu_1_1StringPiece.html#abd554715ec521ecf2413923c8429c4b5">More...</a><br /></td></tr>
<tr class="separator:abd554715ec521ecf2413923c8429c4b5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac53d760ea1e9655cff791779fee49f58"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#ac53d760ea1e9655cff791779fee49f58">remove_suffix</a> (int32_t n)</td></tr>
<tr class="memdesc:ac53d760ea1e9655cff791779fee49f58"><td class="mdescLeft"> </td><td class="mdescRight">Removes the last n string units. <a href="classicu_1_1StringPiece.html#ac53d760ea1e9655cff791779fee49f58">More...</a><br /></td></tr>
<tr class="separator:ac53d760ea1e9655cff791779fee49f58"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a471e53374b7e3219adc83854e4638d18"><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#a471e53374b7e3219adc83854e4638d18">find</a> (<a class="el" href="classicu_1_1StringPiece.html">StringPiece</a> needle, int32_t offset)</td></tr>
<tr class="memdesc:a471e53374b7e3219adc83854e4638d18"><td class="mdescLeft"> </td><td class="mdescRight">Searches the <a class="el" href="classicu_1_1StringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a> for the given search string (needle);. <a href="classicu_1_1StringPiece.html#a471e53374b7e3219adc83854e4638d18">More...</a><br /></td></tr>
<tr class="separator:a471e53374b7e3219adc83854e4638d18"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abed8fcf3ba90e7076b68120e8beeccc4"><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#abed8fcf3ba90e7076b68120e8beeccc4">compare</a> (<a class="el" href="classicu_1_1StringPiece.html">StringPiece</a> other)</td></tr>
<tr class="memdesc:abed8fcf3ba90e7076b68120e8beeccc4"><td class="mdescLeft"> </td><td class="mdescRight">Compares this <a class="el" href="classicu_1_1StringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a> with the other <a class="el" href="classicu_1_1StringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a>, with semantics similar to std::string::compare(). <a href="classicu_1_1StringPiece.html#abed8fcf3ba90e7076b68120e8beeccc4">More...</a><br /></td></tr>
<tr class="separator:abed8fcf3ba90e7076b68120e8beeccc4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a03b1fd6a19bb0e8cbde5ce25064c3c33"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classicu_1_1StringPiece.html">StringPiece</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#a03b1fd6a19bb0e8cbde5ce25064c3c33">substr</a> (int32_t pos, int32_t len=<a class="el" href="classicu_1_1StringPiece.html#a495638fbbd40637881ee185bd3413720">npos</a>) const</td></tr>
<tr class="memdesc:a03b1fd6a19bb0e8cbde5ce25064c3c33"><td class="mdescLeft"> </td><td class="mdescRight">Returns a substring of this <a class="el" href="classicu_1_1StringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a>. <a href="classicu_1_1StringPiece.html#a03b1fd6a19bb0e8cbde5ce25064c3c33">More...</a><br /></td></tr>
<tr class="separator:a03b1fd6a19bb0e8cbde5ce25064c3c33"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a495638fbbd40637881ee185bd3413720"><td class="memItemLeft" align="right" valign="top">static const int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#a495638fbbd40637881ee185bd3413720">npos</a></td></tr>
<tr class="memdesc:a495638fbbd40637881ee185bd3413720"><td class="mdescLeft"> </td><td class="mdescRight">Maximum integer, used as a default value for substring methods. <a href="classicu_1_1StringPiece.html#a495638fbbd40637881ee185bd3413720">More...</a><br /></td></tr>
<tr class="separator:a495638fbbd40637881ee185bd3413720"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A string-like object that points to a sized piece of memory. </p>
<p>We provide non-explicit singleton constructors so users can pass in a "const char*" or a "string" wherever a "StringPiece" is expected.</p>
<p>Functions or methods may use <a class="el" href="classicu_1_1StringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a> parameters to accept either a "const char*" or a "string" value that will be implicitly converted to a <a class="el" href="classicu_1_1StringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a>.</p>
<p>Systematic usage of <a class="el" href="classicu_1_1StringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a> is encouraged as it will reduce unnecessary conversions from "const char*" to "string" and back again.</p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000791">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
<p class="definition">Definition at line <a class="el" href="stringpiece_8h_source.html#l00060">60</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p>
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
<a id="a883ea13586812cd22afd092f8d9dadf6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a883ea13586812cd22afd092f8d9dadf6">◆ </a></span>StringPiece() <span class="overload">[1/11]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">icu::StringPiece::StringPiece </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Default constructor, creates an empty <a class="el" href="classicu_1_1StringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a>. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000794">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
<p class="definition">Definition at line <a class="el" href="stringpiece_8h_source.html#l00070">70</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p>
</div>
</div>
<a id="a0f1f4a00c258d3ab74fb3df3d0c9b72a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f1f4a00c258d3ab74fb3df3d0c9b72a">◆ </a></span>StringPiece() <span class="overload">[2/11]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">icu::StringPiece::StringPiece </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>str</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs from a NUL-terminated const char * pointer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>a NUL-terminated const char * pointer </td></tr>
</table>
</dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000795">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
</div>
</div>
<a id="a25b121ccdf279b0cd241431964ada557"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25b121ccdf279b0cd241431964ada557">◆ </a></span>StringPiece() <span class="overload">[3/11]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">icu::StringPiece::StringPiece </td>
<td>(</td>
<td class="paramtype">const char8_t * </td>
<td class="paramname"><em>str</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs from a NUL-terminated const char8_t * pointer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>a NUL-terminated const char8_t * pointer </td></tr>
</table>
</dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000796">Stable:</a></b></dt><dd>ICU 67 </dd></dl>
<p class="definition">Definition at line <a class="el" href="stringpiece_8h_source.html#l00084">84</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p>
</div>
</div>
<a id="a958d13378a809ac220bd867a60d52c99"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a958d13378a809ac220bd867a60d52c99">◆ </a></span>StringPiece() <span class="overload">[4/11]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">icu::StringPiece::StringPiece </td>
<td>(</td>
<td class="paramtype">std::nullptr_t </td>
<td class="paramname"><em>p</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs an empty <a class="el" href="classicu_1_1StringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a>. </p>
<p>Needed for type disambiguation from multiple other overloads. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">p</td><td>nullptr </td></tr>
</table>
</dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000797">Stable:</a></b></dt><dd>ICU 67 </dd></dl>
<p class="definition">Definition at line <a class="el" href="stringpiece_8h_source.html#l00092">92</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p>
</div>
</div>
<a id="ae52992082e683c5a8206ac3ec040f4aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae52992082e683c5a8206ac3ec040f4aa">◆ </a></span>StringPiece() <span class="overload">[5/11]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">icu::StringPiece::StringPiece </td>
<td>(</td>
<td class="paramtype">const std::string & </td>
<td class="paramname"><em>str</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs from a std::string. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000798">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
<p class="definition">Definition at line <a class="el" href="stringpiece_8h_source.html#l00098">98</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p>
</div>
</div>
<a id="a35f4dd3da9d40eb99de966e9e52b4fa6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35f4dd3da9d40eb99de966e9e52b4fa6">◆ </a></span>StringPiece() <span class="overload">[6/11]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">icu::StringPiece::StringPiece </td>
<td>(</td>
<td class="paramtype">const std::u8string & </td>
<td class="paramname"><em>str</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs from a std::u8string. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000799">Stable:</a></b></dt><dd>ICU 67 </dd></dl>
<p class="definition">Definition at line <a class="el" href="stringpiece_8h_source.html#l00105">105</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p>
</div>
</div>
<a id="a254a4f27616857af98f9ecf384a6e865"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a254a4f27616857af98f9ecf384a6e865">◆ </a></span>StringPiece() <span class="overload">[7/11]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T , typename = typename std::enable_if< (std::is_same<decltype(T().data()), const char*>::value ) && std::is_same<decltype(T().size()), size_t>::value>::type> </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">icu::StringPiece::StringPiece </td>
<td>(</td>
<td class="paramtype">T </td>
<td class="paramname"><em>str</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs from some other implementation of a string piece class, from any C++ record type that has these two methods: </p>
<div class="fragment"><div class="line"><span class="keyword">struct </span>OtherStringPieceClass {</div>
<div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classicu_1_1StringPiece.html#a1f4a1c4931d9c82baa7276c08ba65cff">data</a>(); <span class="comment">// or const char8_t*</span></div>
<div class="line"> <span class="keywordtype">size_t</span> <a class="code" href="classicu_1_1StringPiece.html#ab7704c0a02079a1d96b13d3011a888e2">size</a>();</div>
<div class="line">};</div>
<div class="ttc" id="aclassicu_1_1StringPiece_html_a1f4a1c4931d9c82baa7276c08ba65cff"><div class="ttname"><a href="classicu_1_1StringPiece.html#a1f4a1c4931d9c82baa7276c08ba65cff">icu::StringPiece::data</a></div><div class="ttdeci">const char * data() const</div><div class="ttdoc">Returns the string pointer.</div><div class="ttdef"><b>Definition:</b> <a href="stringpiece_8h_source.html#l00189">stringpiece.h:189</a></div></div>
<div class="ttc" id="aclassicu_1_1StringPiece_html_ab7704c0a02079a1d96b13d3011a888e2"><div class="ttname"><a href="classicu_1_1StringPiece.html#ab7704c0a02079a1d96b13d3011a888e2">icu::StringPiece::size</a></div><div class="ttdeci">int32_t size() const</div><div class="ttdoc">Returns the string length.</div><div class="ttdef"><b>Definition:</b> <a href="stringpiece_8h_source.html#l00195">stringpiece.h:195</a></div></div>
</div><!-- fragment --><p>The other string piece class will typically be std::string_view from C++17 or absl::string_view from Abseil.</p>
<p>Starting with C++20, <a class="el" href="classicu_1_1StringPiece.html#a1f4a1c4931d9c82baa7276c08ba65cff" title="Returns the string pointer.">data()</a> may also return a const char8_t* pointer, as from std::u8string_view.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>the other string piece </td></tr>
</table>
</dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000800">Stable:</a></b></dt><dd>ICU 65 </dd></dl>
<p class="definition">Definition at line <a class="el" href="stringpiece_8h_source.html#l00140">140</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p>
</div>
</div>
<a id="af97f22b270d21d5c97337d5d58966a59"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af97f22b270d21d5c97337d5d58966a59">◆ </a></span>StringPiece() <span class="overload">[8/11]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">icu::StringPiece::StringPiece </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>offset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>len</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs from a const char * pointer and a specified length. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">offset</td><td>a const char * pointer (need not be terminated) </td></tr>
<tr><td class="paramname">len</td><td>the length of the string; must be non-negative </td></tr>
</table>
</dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000801">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
<p class="definition">Definition at line <a class="el" href="stringpiece_8h_source.html#l00150">150</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p>
</div>
</div>
<a id="ac749de6914d0f02082bc002dded7f927"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac749de6914d0f02082bc002dded7f927">◆ </a></span>StringPiece() <span class="overload">[9/11]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">icu::StringPiece::StringPiece </td>
<td>(</td>
<td class="paramtype">const char8_t * </td>
<td class="paramname"><em>str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>len</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs from a const char8_t * pointer and a specified length. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>a const char8_t * pointer (need not be terminated) </td></tr>
<tr><td class="paramname">len</td><td>the length of the string; must be non-negative </td></tr>
</table>
</dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000802">Stable:</a></b></dt><dd>ICU 67 </dd></dl>
<p class="definition">Definition at line <a class="el" href="stringpiece_8h_source.html#l00158">158</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p>
</div>
</div>
<a id="ad864469d0ed57bf15e1378076b3d16fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad864469d0ed57bf15e1378076b3d16fb">◆ </a></span>StringPiece() <span class="overload">[10/11]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">icu::StringPiece::StringPiece </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classicu_1_1StringPiece.html">StringPiece</a> & </td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>pos</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Substring of another <a class="el" href="classicu_1_1StringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>the other <a class="el" href="classicu_1_1StringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a> </td></tr>
<tr><td class="paramname">pos</td><td>start position in x; must be non-negative and <= x.length(). </td></tr>
</table>
</dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000803">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
</div>
</div>
<a id="a1b793f69feffef74ea5027095c64aab2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b793f69feffef74ea5027095c64aab2">◆ </a></span>StringPiece() <span class="overload">[11/11]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">icu::StringPiece::StringPiece </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classicu_1_1StringPiece.html">StringPiece</a> & </td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>pos</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>len</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Substring of another <a class="el" href="classicu_1_1StringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>the other <a class="el" href="classicu_1_1StringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a> </td></tr>
<tr><td class="paramname">pos</td><td>start position in x; must be non-negative and <= x.length(). </td></tr>
<tr><td class="paramname">len</td><td>length of the substring; must be non-negative and will be pinned to at most x.length() - pos. </td></tr>
</table>
</dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000804">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a556a1c4776319a54048f3017b6426d6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a556a1c4776319a54048f3017b6426d6a">◆ </a></span>clear()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void icu::StringPiece::clear </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets to an empty string. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000809">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
<p class="definition">Definition at line <a class="el" href="stringpiece_8h_source.html#l00213">213</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p>
</div>
</div>
<a id="abed8fcf3ba90e7076b68120e8beeccc4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abed8fcf3ba90e7076b68120e8beeccc4">◆ </a></span>compare()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t icu::StringPiece::compare </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classicu_1_1StringPiece.html">StringPiece</a> </td>
<td class="paramname"><em>other</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Compares this <a class="el" href="classicu_1_1StringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a> with the other <a class="el" href="classicu_1_1StringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a>, with semantics similar to std::string::compare(). </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>The string to compare to. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>below zero if this < other; above zero if this > other; 0 if this == other. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000817">Stable:</a></b></dt><dd>ICU 67 </dd></dl>
</div>
</div>
<a id="a1f4a1c4931d9c82baa7276c08ba65cff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f4a1c4931d9c82baa7276c08ba65cff">◆ </a></span>data()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const char* icu::StringPiece::data </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the string pointer. </p>
<p>May be nullptr if it is empty.</p>
<p><a class="el" href="classicu_1_1StringPiece.html#a1f4a1c4931d9c82baa7276c08ba65cff" title="Returns the string pointer.">data()</a> 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 <a class="el" href="classicu_1_1StringPiece.html#a1f4a1c4931d9c82baa7276c08ba65cff" title="Returns the string pointer.">data()</a> to a routine that expects a NUL terminated string. </p><dl class="section return"><dt>Returns</dt><dd>the string pointer </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000805">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
<p class="definition">Definition at line <a class="el" href="stringpiece_8h_source.html#l00189">189</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p>
</div>
</div>
<a id="a0513410ed8444fcbe3d8cb9c7fb1ebd6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0513410ed8444fcbe3d8cb9c7fb1ebd6">◆ </a></span>empty()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> icu::StringPiece::empty </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns whether the string is empty. </p>
<dl class="section return"><dt>Returns</dt><dd>true if the string is empty </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000808">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
<p class="definition">Definition at line <a class="el" href="stringpiece_8h_source.html#l00207">207</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p>
</div>
</div>
<a id="a471e53374b7e3219adc83854e4638d18"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a471e53374b7e3219adc83854e4638d18">◆ </a></span>find()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t icu::StringPiece::find </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classicu_1_1StringPiece.html">StringPiece</a> </td>
<td class="paramname"><em>needle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>offset</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Searches the <a class="el" href="classicu_1_1StringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a> for the given search string (needle);. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">needle</td><td>The string for which to search. </td></tr>
<tr><td class="paramname">offset</td><td>Where to start searching within this string (haystack). </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The offset of needle in haystack, or -1 if not found. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000816">Stable:</a></b></dt><dd>ICU 67 </dd></dl>
</div>
</div>
<a id="ad6f5f2eacf062a300706a8c5f7da85cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6f5f2eacf062a300706a8c5f7da85cc">◆ </a></span>length()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int32_t icu::StringPiece::length </td>
<td>(</td>
<td class="paramtype">void </td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the string length. </p>
<p>Same as <a class="el" href="classicu_1_1StringPiece.html#ab7704c0a02079a1d96b13d3011a888e2" title="Returns the string length.">size()</a>. </p><dl class="section return"><dt>Returns</dt><dd>the string length </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000807">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
<p class="definition">Definition at line <a class="el" href="stringpiece_8h_source.html#l00201">201</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p>
</div>
</div>
<a id="abd554715ec521ecf2413923c8429c4b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd554715ec521ecf2413923c8429c4b5">◆ </a></span>remove_prefix()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void icu::StringPiece::remove_prefix </td>
<td>(</td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>n</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Removes the first n string units. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">n</td><td>prefix length, must be non-negative and <=<a class="el" href="classicu_1_1StringPiece.html#ad6f5f2eacf062a300706a8c5f7da85cc" title="Returns the string length.">length()</a> </td></tr>
</table>
</dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000814">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
<p class="definition">Definition at line <a class="el" href="stringpiece_8h_source.html#l00256">256</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p>
</div>
</div>
<a id="ac53d760ea1e9655cff791779fee49f58"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac53d760ea1e9655cff791779fee49f58">◆ </a></span>remove_suffix()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void icu::StringPiece::remove_suffix </td>
<td>(</td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>n</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Removes the last n string units. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">n</td><td>suffix length, must be non-negative and <=<a class="el" href="classicu_1_1StringPiece.html#ad6f5f2eacf062a300706a8c5f7da85cc" title="Returns the string length.">length()</a> </td></tr>
</table>
</dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000815">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
<p class="definition">Definition at line <a class="el" href="stringpiece_8h_source.html#l00271">271</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p>
</div>
</div>
<a id="a13add7445082965d9eeaa1ebc5d9bc7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13add7445082965d9eeaa1ebc5d9bc7a">◆ </a></span>set() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void icu::StringPiece::set </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>str</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Reset the stringpiece to refer to new data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>a pointer to a NUL-terminated string. </td></tr>
</table>
</dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000811">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</div>
</div>
<a id="aa9fb8d13c5903207142dff23f7cf21bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9fb8d13c5903207142dff23f7cf21bc">◆ </a></span>set() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void icu::StringPiece::set </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>xdata</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>len</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reset the stringpiece to refer to new data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">xdata</td><td>pointer the new string data. Need not be nul terminated. </td></tr>
<tr><td class="paramname">len</td><td>the length of the new data </td></tr>
</table>
</dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000810">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
<p class="definition">Definition at line <a class="el" href="stringpiece_8h_source.html#l00221">221</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p>
</div>
</div>
<a id="aa3267fbc0ae7eff7360d1578f4fe9d0e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa3267fbc0ae7eff7360d1578f4fe9d0e">◆ </a></span>set() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void icu::StringPiece::set </td>
<td>(</td>
<td class="paramtype">const char8_t * </td>
<td class="paramname"><em>str</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Resets the stringpiece to refer to new data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>a pointer to a NUL-terminated string. </td></tr>
</table>
</dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000813">Stable:</a></b></dt><dd>ICU 67 </dd></dl>
<p class="definition">Definition at line <a class="el" href="stringpiece_8h_source.html#l00246">246</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p>
</div>
</div>
<a id="a56c189120008fdae16fdfaa2c05d39ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56c189120008fdae16fdfaa2c05d39ca">◆ </a></span>set() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void icu::StringPiece::set </td>
<td>(</td>
<td class="paramtype">const char8_t * </td>
<td class="paramname"><em>xdata</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>len</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Resets the stringpiece to refer to new data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">xdata</td><td>pointer the new string data. Need not be NUL-terminated. </td></tr>
<tr><td class="paramname">len</td><td>the length of the new data </td></tr>
</table>
</dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000812">Stable:</a></b></dt><dd>ICU 67 </dd></dl>
<p class="definition">Definition at line <a class="el" href="stringpiece_8h_source.html#l00237">237</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p>
</div>
</div>
<a id="ab7704c0a02079a1d96b13d3011a888e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7704c0a02079a1d96b13d3011a888e2">◆ </a></span>size()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int32_t icu::StringPiece::size </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the string length. </p>
<p>Same as <a class="el" href="classicu_1_1StringPiece.html#ad6f5f2eacf062a300706a8c5f7da85cc" title="Returns the string length.">length()</a>. </p><dl class="section return"><dt>Returns</dt><dd>the string length </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000806">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
<p class="definition">Definition at line <a class="el" href="stringpiece_8h_source.html#l00195">195</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p>
</div>
</div>
<a id="a03b1fd6a19bb0e8cbde5ce25064c3c33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03b1fd6a19bb0e8cbde5ce25064c3c33">◆ </a></span>substr()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classicu_1_1StringPiece.html">StringPiece</a> icu::StringPiece::substr </td>
<td>(</td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>pos</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>len</em> = <code><a class="el" href="classicu_1_1StringPiece.html#a495638fbbd40637881ee185bd3413720">npos</a></code> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a substring of this <a class="el" href="classicu_1_1StringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pos</td><td>start position; must be non-negative and <= <a class="el" href="classicu_1_1StringPiece.html#ad6f5f2eacf062a300706a8c5f7da85cc" title="Returns the string length.">length()</a>. </td></tr>
<tr><td class="paramname">len</td><td>length of the substring; must be non-negative and will be pinned to at most <a class="el" href="classicu_1_1StringPiece.html#ad6f5f2eacf062a300706a8c5f7da85cc" title="Returns the string length.">length()</a> - pos. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the substring <a class="el" href="classicu_1_1StringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000819">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
<p class="definition">Definition at line <a class="el" href="stringpiece_8h_source.html#l00313">313</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Field Documentation</h2>
<a id="a495638fbbd40637881ee185bd3413720"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a495638fbbd40637881ee185bd3413720">◆ </a></span>npos</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const int32_t icu::StringPiece::npos</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Maximum integer, used as a default value for substring methods. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000818">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>
<p class="definition">Definition at line <a class="el" href="stringpiece_8h_source.html#l00303">303</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>common/unicode/<a class="el" href="stringpiece_8h_source.html">stringpiece.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>