<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.8.11"/> <title>ICU 58.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 58.2  <span id="projectnumber">58.2</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.11 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="classes.html"><span>Data Structure Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul> </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="#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="#a0f1f4a00c258d3ab74fb3df3d0c9b72a">More...</a><br /></td></tr> <tr class="separator:a0f1f4a00c258d3ab74fb3df3d0c9b72a"><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="#ae52992082e683c5a8206ac3ec040f4aa">More...</a><br /></td></tr> <tr class="separator:ae52992082e683c5a8206ac3ec040f4aa"><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="#af97f22b270d21d5c97337d5d58966a59">More...</a><br /></td></tr> <tr class="separator:af97f22b270d21d5c97337d5d58966a59"><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="#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="#a1b793f69feffef74ea5027095c64aab2">More...</a><br /></td></tr> <tr class="separator:a1b793f69feffef74ea5027095c64aab2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a25c65704b79b214d7ee450a896855742"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#a25c65704b79b214d7ee450a896855742">data</a> () const </td></tr> <tr class="memdesc:a25c65704b79b214d7ee450a896855742"><td class="mdescLeft"> </td><td class="mdescRight">Returns the string pointer. <a href="#a25c65704b79b214d7ee450a896855742">More...</a><br /></td></tr> <tr class="separator:a25c65704b79b214d7ee450a896855742"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa06529e989075b4d80040252f9b476d2"><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#aa06529e989075b4d80040252f9b476d2">size</a> () const </td></tr> <tr class="memdesc:aa06529e989075b4d80040252f9b476d2"><td class="mdescLeft"> </td><td class="mdescRight">Returns the string length. <a href="#aa06529e989075b4d80040252f9b476d2">More...</a><br /></td></tr> <tr class="separator:aa06529e989075b4d80040252f9b476d2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a046b60b753e7015e327ffca3541d5f1d"><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1StringPiece.html#a046b60b753e7015e327ffca3541d5f1d">length</a> () const </td></tr> <tr class="memdesc:a046b60b753e7015e327ffca3541d5f1d"><td class="mdescLeft"> </td><td class="mdescRight">Returns the string length. <a href="#a046b60b753e7015e327ffca3541d5f1d">More...</a><br /></td></tr> <tr class="separator:a046b60b753e7015e327ffca3541d5f1d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae8f070ad6e9426d9eb49220cfc55b89f"><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#ae8f070ad6e9426d9eb49220cfc55b89f">empty</a> () const </td></tr> <tr class="memdesc:ae8f070ad6e9426d9eb49220cfc55b89f"><td class="mdescLeft"> </td><td class="mdescRight">Returns whether the string is empty. <a href="#ae8f070ad6e9426d9eb49220cfc55b89f">More...</a><br /></td></tr> <tr class="separator:ae8f070ad6e9426d9eb49220cfc55b89f"><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="#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="#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="#a13add7445082965d9eeaa1ebc5d9bc7a">More...</a><br /></td></tr> <tr class="separator:a13add7445082965d9eeaa1ebc5d9bc7a"><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="#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="#ac53d760ea1e9655cff791779fee49f58">More...</a><br /></td></tr> <tr class="separator:ac53d760ea1e9655cff791779fee49f58"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae01471f3f3fbacd8c5397c48a663448f"><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#ae01471f3f3fbacd8c5397c48a663448f">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:ae01471f3f3fbacd8c5397c48a663448f"><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="#ae01471f3f3fbacd8c5397c48a663448f">More...</a><br /></td></tr> <tr class="separator:ae01471f3f3fbacd8c5397c48a663448f"><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="#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#_stable000594">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl> <p>Definition at line <a class="el" href="stringpiece_8h_source.html#l00054">54</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p> </div><h2 class="groupheader">Constructor & Destructor Documentation</h2> <a class="anchor" id="a883ea13586812cd22afd092f8d9dadf6"></a> <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#_stable000597">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl> <p>Definition at line <a class="el" href="stringpiece_8h_source.html#l00064">64</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p> </div> </div> <a class="anchor" id="a0f1f4a00c258d3ab74fb3df3d0c9b72a"></a> <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#_stable000598">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl> </div> </div> <a class="anchor" id="ae52992082e683c5a8206ac3ec040f4aa"></a> <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#_stable000599">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl> <p>Definition at line <a class="el" href="stringpiece_8h_source.html#l00076">76</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p> </div> </div> <a class="anchor" id="af97f22b270d21d5c97337d5d58966a59"></a> <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#_stable000600">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl> <p>Definition at line <a class="el" href="stringpiece_8h_source.html#l00085">85</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p> </div> </div> <a class="anchor" id="ad864469d0ed57bf15e1378076b3d16fb"></a> <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#_stable000601">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl> </div> </div> <a class="anchor" id="a1b793f69feffef74ea5027095c64aab2"></a> <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#_stable000602">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="a556a1c4776319a54048f3017b6426d6a"></a> <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#_stable000607">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl> <p>Definition at line <a class="el" href="stringpiece_8h_source.html#l00137">137</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p> <p>References <a class="el" href="utypes_8h_source.html#l00188">NULL</a>.</p> </div> </div> <a class="anchor" id="a25c65704b79b214d7ee450a896855742"></a> <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 NULL if it is empty.</p> <p><a class="el" href="classicu_1_1StringPiece.html#a25c65704b79b214d7ee450a896855742" 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#a25c65704b79b214d7ee450a896855742" 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#_stable000603">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl> <p>Definition at line <a class="el" href="stringpiece_8h_source.html#l00113">113</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p> </div> </div> <a class="anchor" id="ae8f070ad6e9426d9eb49220cfc55b89f"></a> <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#_stable000606">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl> <p>Definition at line <a class="el" href="stringpiece_8h_source.html#l00131">131</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p> </div> </div> <a class="anchor" id="a046b60b753e7015e327ffca3541d5f1d"></a> <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#aa06529e989075b4d80040252f9b476d2" 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#_stable000605">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl> <p>Definition at line <a class="el" href="stringpiece_8h_source.html#l00125">125</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p> </div> </div> <a class="anchor" id="abd554715ec521ecf2413923c8429c4b5"></a> <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#a046b60b753e7015e327ffca3541d5f1d" title="Returns the string length. ">length()</a> </td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable000610">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl> <p>Definition at line <a class="el" href="stringpiece_8h_source.html#l00159">159</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p> </div> </div> <a class="anchor" id="ac53d760ea1e9655cff791779fee49f58"></a> <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#a046b60b753e7015e327ffca3541d5f1d" title="Returns the string length. ">length()</a> </td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable000611">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl> <p>Definition at line <a class="el" href="stringpiece_8h_source.html#l00174">174</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p> </div> </div> <a class="anchor" id="aa9fb8d13c5903207142dff23f7cf21bc"></a> <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#_stable000608">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl> <p>Definition at line <a class="el" href="stringpiece_8h_source.html#l00145">145</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p> </div> </div> <a class="anchor" id="a13add7445082965d9eeaa1ebc5d9bc7a"></a> <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#_stable000609">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl> </div> </div> <a class="anchor" id="aa06529e989075b4d80040252f9b476d2"></a> <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#a046b60b753e7015e327ffca3541d5f1d" 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#_stable000604">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl> <p>Definition at line <a class="el" href="stringpiece_8h_source.html#l00119">119</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p> </div> </div> <a class="anchor" id="ae01471f3f3fbacd8c5397c48a663448f"></a> <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#a046b60b753e7015e327ffca3541d5f1d" 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#a046b60b753e7015e327ffca3541d5f1d" 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#_stable000613">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl> <p>Definition at line <a class="el" href="stringpiece_8h_source.html#l00198">198</a> of file <a class="el" href="stringpiece_8h_source.html">stringpiece.h</a>.</p> <p>References <a class="el" href="namespaceicu.html#a1c2f6ca43e636f38d1a3291eb851e9f0">icu::operator==()</a>, and <a class="el" href="platform_8h_source.html#l00816">U_EXPORT</a>.</p> </div> </div> <h2 class="groupheader">Field Documentation</h2> <a class="anchor" id="a495638fbbd40637881ee185bd3413720"></a> <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#_stable000612">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl> <p>Definition at line <a class="el" href="stringpiece_8h_source.html#l00188">188</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><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="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.11 </small></address> </body> </html>