486 lines
36 KiB
HTML
486 lines
36 KiB
HTML
<!-- HTML header for doxygen 1.9.1-->
|
|
<!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.15.0"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>L4Re Operating System Framework: cxx::String 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="navtree.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="navtreedata.js"></script>
|
|
<script type="text/javascript" src="navtree.js"></script>
|
|
<script type="text/javascript" src="cookie.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
<link href="l4re-awesome.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="projectlogo"><img alt="Logo" src="L4Re_rgb_logo_quer_hg_h55.png"/></td>
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">L4Re Operating System Framework
|
|
</div>
|
|
<div id="projectbrief">Interface and Usage Documentation</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.15.0 -->
|
|
<script type="text/javascript">
|
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
</script>
|
|
<script type="text/javascript">
|
|
$(function() { codefold.init(); });
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search',true);
|
|
$(function() { init_search(); });
|
|
});
|
|
</script>
|
|
<div id="main-nav"></div>
|
|
</div><!-- top -->
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
<div id="nav-tree">
|
|
<div id="nav-tree-contents">
|
|
<div id="nav-sync" class="sync"></div>
|
|
</div>
|
|
</div>
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
|
class="ui-resizable-handle">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
$(function(){initNavTree('classcxx_1_1String.html','',''); });
|
|
</script>
|
|
<div id="container">
|
|
<div id="doc-content">
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<div id="MSearchResults">
|
|
<div class="SRPage">
|
|
<div id="SRIndex">
|
|
<div id="SRResults"></div>
|
|
<div class="SRStatus" id="Loading">Loading...</div>
|
|
<div class="SRStatus" id="Searching">Searching...</div>
|
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="headertitle"><div class="title">cxx::String Class Reference</div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Allocation free string class with explicit length field.
|
|
<a href="#details">More...</a></p>
|
|
|
|
<p><code>#include <<a class="el" href="string_source.html">string</a>></code></p>
|
|
<div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Inheritance diagram for cxx::String:</div>
|
|
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="classcxx_1_1String__inherit__graph.svg" width="190" height="390"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
<div id="dynsection-1" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Collaboration diagram for cxx::String:</div>
|
|
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="classcxx_1_1String__coll__graph.svg" width="134" height="276"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-pub-types" class="groupheader"><a id="pub-types" name="pub-types"></a>
|
|
Public Types</h2></td></tr>
|
|
<tr class="memitem:aaa82be3d198c9d251fa7a19bf4312c02" id="r_aaa82be3d198c9d251fa7a19bf4312c02"><td class="memItemLeft" align="right" valign="top"><a id="aaa82be3d198c9d251fa7a19bf4312c02" name="aaa82be3d198c9d251fa7a19bf4312c02"></a>
|
|
typedef char const * </td><td class="memItemRight" valign="bottom"><b>Index</b></td></tr>
|
|
<tr class="memdesc:aaa82be3d198c9d251fa7a19bf4312c02"><td class="mdescLeft"> </td><td class="mdescRight">Character index type. <br /></td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-pub-methods" class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a32db3cec27d33e9dc9f4a4a962ca16ff" id="r_a32db3cec27d33e9dc9f4a4a962ca16ff"><td class="memItemLeft" align="right" valign="top"><a id="a32db3cec27d33e9dc9f4a4a962ca16ff" name="a32db3cec27d33e9dc9f4a4a962ca16ff"></a>
|
|
 </td><td class="memItemRight" valign="bottom"><b>String</b> (char const *s) noexcept</td></tr>
|
|
<tr class="memdesc:a32db3cec27d33e9dc9f4a4a962ca16ff"><td class="mdescLeft"> </td><td class="mdescRight">Initialize from a zero-terminated string. <br /></td></tr>
|
|
<tr class="memitem:a5401d05ab00be6ca91e5d0339bd06a31" id="r_a5401d05ab00be6ca91e5d0339bd06a31"><td class="memItemLeft" align="right" valign="top"><a id="a5401d05ab00be6ca91e5d0339bd06a31" name="a5401d05ab00be6ca91e5d0339bd06a31"></a>
|
|
 </td><td class="memItemRight" valign="bottom"><b>String</b> (char const *s, unsigned long <a class="el" href="#ae9a00f2167b423168cfa89e318d2c67f">len</a>) noexcept</td></tr>
|
|
<tr class="memdesc:a5401d05ab00be6ca91e5d0339bd06a31"><td class="mdescLeft"> </td><td class="mdescRight">Initialize from a pointer to first character and a length. <br /></td></tr>
|
|
<tr class="memitem:a330f61518c97af0b09f52e534cddd96f" id="r_a330f61518c97af0b09f52e534cddd96f"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a330f61518c97af0b09f52e534cddd96f">String</a> (char const *s, char const *e) noexcept</td></tr>
|
|
<tr class="memdesc:a330f61518c97af0b09f52e534cddd96f"><td class="mdescLeft"> </td><td class="mdescRight">Initialize with start and end pointer. <br /></td></tr>
|
|
<tr class="memitem:aea53999e715a2ede6f7811db1eb1ff1c" id="r_aea53999e715a2ede6f7811db1eb1ff1c"><td class="memItemLeft" align="right" valign="top"><a id="aea53999e715a2ede6f7811db1eb1ff1c" name="aea53999e715a2ede6f7811db1eb1ff1c"></a>
|
|
 </td><td class="memItemRight" valign="bottom"><b>String</b> ()</td></tr>
|
|
<tr class="memdesc:aea53999e715a2ede6f7811db1eb1ff1c"><td class="mdescLeft"> </td><td class="mdescRight">Zero-initialize. Create an invalid string. <br /></td></tr>
|
|
<tr class="memitem:a101fd26cc3e799be32f027cd52a5da90" id="r_a101fd26cc3e799be32f027cd52a5da90"><td class="memItemLeft" align="right" valign="top"><a id="a101fd26cc3e799be32f027cd52a5da90" name="a101fd26cc3e799be32f027cd52a5da90"></a>
|
|
<a class="el" href="#aaa82be3d198c9d251fa7a19bf4312c02">Index</a> </td><td class="memItemRight" valign="bottom"><b>start</b> () const</td></tr>
|
|
<tr class="memdesc:a101fd26cc3e799be32f027cd52a5da90"><td class="mdescLeft"> </td><td class="mdescRight">Pointer to first character. <br /></td></tr>
|
|
<tr class="memitem:a21ab9dc0ee0f3971d9f858c54dcec286" id="r_a21ab9dc0ee0f3971d9f858c54dcec286"><td class="memItemLeft" align="right" valign="top"><a id="a21ab9dc0ee0f3971d9f858c54dcec286" name="a21ab9dc0ee0f3971d9f858c54dcec286"></a>
|
|
<a class="el" href="#aaa82be3d198c9d251fa7a19bf4312c02">Index</a> </td><td class="memItemRight" valign="bottom"><b>end</b> () const</td></tr>
|
|
<tr class="memdesc:a21ab9dc0ee0f3971d9f858c54dcec286"><td class="mdescLeft"> </td><td class="mdescRight">Pointer to first byte behind the string. <br /></td></tr>
|
|
<tr class="memitem:ae9a00f2167b423168cfa89e318d2c67f" id="r_ae9a00f2167b423168cfa89e318d2c67f"><td class="memItemLeft" align="right" valign="top"><a id="ae9a00f2167b423168cfa89e318d2c67f" name="ae9a00f2167b423168cfa89e318d2c67f"></a>
|
|
int </td><td class="memItemRight" valign="bottom"><b>len</b> () const</td></tr>
|
|
<tr class="memdesc:ae9a00f2167b423168cfa89e318d2c67f"><td class="mdescLeft"> </td><td class="mdescRight">Length. <br /></td></tr>
|
|
<tr class="memitem:abde47cddc7b4c30561240335c46800bf" id="r_abde47cddc7b4c30561240335c46800bf"><td class="memItemLeft" align="right" valign="top"><a id="abde47cddc7b4c30561240335c46800bf" name="abde47cddc7b4c30561240335c46800bf"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><b>start</b> (char const *s)</td></tr>
|
|
<tr class="memdesc:abde47cddc7b4c30561240335c46800bf"><td class="mdescLeft"> </td><td class="mdescRight">Set start. <br /></td></tr>
|
|
<tr class="memitem:a398f5a0f1a5ca3faedbd923c3931225f" id="r_a398f5a0f1a5ca3faedbd923c3931225f"><td class="memItemLeft" align="right" valign="top"><a id="a398f5a0f1a5ca3faedbd923c3931225f" name="a398f5a0f1a5ca3faedbd923c3931225f"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><b>len</b> (unsigned long len)</td></tr>
|
|
<tr class="memdesc:a398f5a0f1a5ca3faedbd923c3931225f"><td class="mdescLeft"> </td><td class="mdescRight">Set length. <br /></td></tr>
|
|
<tr class="memitem:a3cb65a77948ef2f1d61b136bb148756b" id="r_a3cb65a77948ef2f1d61b136bb148756b"><td class="memItemLeft" align="right" valign="top"><a id="a3cb65a77948ef2f1d61b136bb148756b" name="a3cb65a77948ef2f1d61b136bb148756b"></a>
|
|
bool </td><td class="memItemRight" valign="bottom"><b>empty</b> () const</td></tr>
|
|
<tr class="memdesc:a3cb65a77948ef2f1d61b136bb148756b"><td class="mdescLeft"> </td><td class="mdescRight">Check if the string has length zero. <br /></td></tr>
|
|
<tr class="memitem:a9f934027aff4124f03aafc4a480cadac" id="r_a9f934027aff4124f03aafc4a480cadac"><td class="memItemLeft" align="right" valign="top"><a id="a9f934027aff4124f03aafc4a480cadac" name="a9f934027aff4124f03aafc4a480cadac"></a>
|
|
<a class="el" href="classcxx_1_1String.html">String</a> </td><td class="memItemRight" valign="bottom"><b>head</b> (<a class="el" href="#aaa82be3d198c9d251fa7a19bf4312c02">Index</a> <a class="el" href="#a21ab9dc0ee0f3971d9f858c54dcec286">end</a>) const</td></tr>
|
|
<tr class="memdesc:a9f934027aff4124f03aafc4a480cadac"><td class="mdescLeft"> </td><td class="mdescRight">Return prefix up to index. <br /></td></tr>
|
|
<tr class="memitem:a0fd99de38f6d5f113a7eb764906173b0" id="r_a0fd99de38f6d5f113a7eb764906173b0"><td class="memItemLeft" align="right" valign="top"><a id="a0fd99de38f6d5f113a7eb764906173b0" name="a0fd99de38f6d5f113a7eb764906173b0"></a>
|
|
<a class="el" href="classcxx_1_1String.html">String</a> </td><td class="memItemRight" valign="bottom"><b>head</b> (unsigned long <a class="el" href="#a21ab9dc0ee0f3971d9f858c54dcec286">end</a>) const</td></tr>
|
|
<tr class="memdesc:a0fd99de38f6d5f113a7eb764906173b0"><td class="mdescLeft"> </td><td class="mdescRight">Prefix of length <span class="tt"><a class="el" href="#a21ab9dc0ee0f3971d9f858c54dcec286" title="Pointer to first byte behind the string.">end</a></span>. <br /></td></tr>
|
|
<tr class="memitem:a6f501d9ccb1c93cf26db6c33c847b5a3" id="r_a6f501d9ccb1c93cf26db6c33c847b5a3"><td class="memItemLeft" align="right" valign="top"><a id="a6f501d9ccb1c93cf26db6c33c847b5a3" name="a6f501d9ccb1c93cf26db6c33c847b5a3"></a>
|
|
<a class="el" href="classcxx_1_1String.html">String</a> </td><td class="memItemRight" valign="bottom"><b>substr</b> (unsigned long idx, unsigned long <a class="el" href="#ae9a00f2167b423168cfa89e318d2c67f">len</a>=~0UL) const</td></tr>
|
|
<tr class="memdesc:a6f501d9ccb1c93cf26db6c33c847b5a3"><td class="mdescLeft"> </td><td class="mdescRight">Substring of length <span class="tt"><a class="el" href="#ae9a00f2167b423168cfa89e318d2c67f" title="Length.">len</a></span> starting at <span class="tt">idx</span>. <br /></td></tr>
|
|
<tr class="memitem:aec45ef479a03d9924891a4fd60668e76" id="r_aec45ef479a03d9924891a4fd60668e76"><td class="memItemLeft" align="right" valign="top"><a id="aec45ef479a03d9924891a4fd60668e76" name="aec45ef479a03d9924891a4fd60668e76"></a>
|
|
<a class="el" href="classcxx_1_1String.html">String</a> </td><td class="memItemRight" valign="bottom"><b>substr</b> (char const *<a class="el" href="#a101fd26cc3e799be32f027cd52a5da90">start</a>, unsigned long <a class="el" href="#ae9a00f2167b423168cfa89e318d2c67f">len</a>=0) const</td></tr>
|
|
<tr class="memdesc:aec45ef479a03d9924891a4fd60668e76"><td class="mdescLeft"> </td><td class="mdescRight">Substring of length <span class="tt"><a class="el" href="#ae9a00f2167b423168cfa89e318d2c67f" title="Length.">len</a></span> starting at <span class="tt"><a class="el" href="#a101fd26cc3e799be32f027cd52a5da90" title="Pointer to first character.">start</a></span>. <br /></td></tr>
|
|
<tr class="memitem:a710106287b118da2d224d68fa35ceae2" id="r_a710106287b118da2d224d68fa35ceae2"><td class="memTemplParams" colspan="2"><a id="a710106287b118da2d224d68fa35ceae2" name="a710106287b118da2d224d68fa35ceae2"></a>
|
|
template<typename F> </td></tr>
|
|
<tr class="memitem:a710106287b118da2d224d68fa35ceae2 template"><td class="memItemLeft" align="right" valign="top">char const * </td><td class="memItemRight" valign="bottom"><b>find_match</b> (F &&match) const</td></tr>
|
|
<tr class="memdesc:a710106287b118da2d224d68fa35ceae2"><td class="mdescLeft"> </td><td class="mdescRight">Find matching character. <span class="tt">match</span> should be a function such as <span class="tt">isspace</span>. <br /></td></tr>
|
|
<tr class="memitem:a539e3b3931789d610a016a969e0a0b6b" id="r_a539e3b3931789d610a016a969e0a0b6b"><td class="memItemLeft" align="right" valign="top"><a id="a539e3b3931789d610a016a969e0a0b6b" name="a539e3b3931789d610a016a969e0a0b6b"></a>
|
|
char const * </td><td class="memItemRight" valign="bottom"><b>find</b> (char const *c) const</td></tr>
|
|
<tr class="memdesc:a539e3b3931789d610a016a969e0a0b6b"><td class="mdescLeft"> </td><td class="mdescRight">Find character. Return <a class="el" href="#a21ab9dc0ee0f3971d9f858c54dcec286" title="Pointer to first byte behind the string.">end()</a> if not found. <br /></td></tr>
|
|
<tr class="memitem:a86779b315abba011b860bfa9510342f8" id="r_a86779b315abba011b860bfa9510342f8"><td class="memItemLeft" align="right" valign="top"><a id="a86779b315abba011b860bfa9510342f8" name="a86779b315abba011b860bfa9510342f8"></a>
|
|
char const * </td><td class="memItemRight" valign="bottom"><b>find</b> (int c) const</td></tr>
|
|
<tr class="memdesc:a86779b315abba011b860bfa9510342f8"><td class="mdescLeft"> </td><td class="mdescRight">Find character. Return <a class="el" href="#a21ab9dc0ee0f3971d9f858c54dcec286" title="Pointer to first byte behind the string.">end()</a> if not found. <br /></td></tr>
|
|
<tr class="memitem:ada1e2dd87bc20cb5bb893735e4db1849" id="r_ada1e2dd87bc20cb5bb893735e4db1849"><td class="memItemLeft" align="right" valign="top"><a id="ada1e2dd87bc20cb5bb893735e4db1849" name="ada1e2dd87bc20cb5bb893735e4db1849"></a>
|
|
char const * </td><td class="memItemRight" valign="bottom"><b>rfind</b> (char const *c) const</td></tr>
|
|
<tr class="memdesc:ada1e2dd87bc20cb5bb893735e4db1849"><td class="mdescLeft"> </td><td class="mdescRight">Find right-most character. Return <a class="el" href="#a21ab9dc0ee0f3971d9f858c54dcec286" title="Pointer to first byte behind the string.">end()</a> if not found. <br /></td></tr>
|
|
<tr class="memitem:ad519bb907167fe695cd0ddfc7b8563cc" id="r_ad519bb907167fe695cd0ddfc7b8563cc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#aaa82be3d198c9d251fa7a19bf4312c02">Index</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad519bb907167fe695cd0ddfc7b8563cc">starts_with</a> (<a class="el" href="classcxx_1_1String.html">cxx::String</a> const &c) const</td></tr>
|
|
<tr class="memdesc:ad519bb907167fe695cd0ddfc7b8563cc"><td class="mdescLeft"> </td><td class="mdescRight">Check if <span class="tt">c</span> is a prefix of string. <br /></td></tr>
|
|
<tr class="memitem:a35a0167968441c39a63392bd4e28c209" id="r_a35a0167968441c39a63392bd4e28c209"><td class="memItemLeft" align="right" valign="top"><a id="a35a0167968441c39a63392bd4e28c209" name="a35a0167968441c39a63392bd4e28c209"></a>
|
|
char const * </td><td class="memItemRight" valign="bottom"><b>find</b> (int c, char const *s) const</td></tr>
|
|
<tr class="memdesc:a35a0167968441c39a63392bd4e28c209"><td class="mdescLeft"> </td><td class="mdescRight">Find character <span class="tt">c</span> starting at position <span class="tt">s</span>. Return <a class="el" href="#a21ab9dc0ee0f3971d9f858c54dcec286" title="Pointer to first byte behind the string.">end()</a> if not found. <br /></td></tr>
|
|
<tr class="memitem:a2cad6ae423b1a22dc50322150d625bc8" id="r_a2cad6ae423b1a22dc50322150d625bc8"><td class="memItemLeft" align="right" valign="top">char const * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2cad6ae423b1a22dc50322150d625bc8">find</a> (char const *c, char const *s) const</td></tr>
|
|
<tr class="memdesc:a2cad6ae423b1a22dc50322150d625bc8"><td class="mdescLeft"> </td><td class="mdescRight">Find character set at position. <br /></td></tr>
|
|
<tr class="memitem:ae3c9d475d73c844d83d4ee78871470bf" id="r_ae3c9d475d73c844d83d4ee78871470bf"><td class="memItemLeft" align="right" valign="top"><a id="ae3c9d475d73c844d83d4ee78871470bf" name="ae3c9d475d73c844d83d4ee78871470bf"></a>
|
|
char const & </td><td class="memItemRight" valign="bottom"><b>operator[]</b> (unsigned long idx) const</td></tr>
|
|
<tr class="memdesc:ae3c9d475d73c844d83d4ee78871470bf"><td class="mdescLeft"> </td><td class="mdescRight">Get character at <span class="tt">idx</span>. <br /></td></tr>
|
|
<tr class="memitem:a239553688ef20df5e0e8f4c00bb4ed54" id="r_a239553688ef20df5e0e8f4c00bb4ed54"><td class="memItemLeft" align="right" valign="top"><a id="a239553688ef20df5e0e8f4c00bb4ed54" name="a239553688ef20df5e0e8f4c00bb4ed54"></a>
|
|
char const & </td><td class="memItemRight" valign="bottom"><b>operator[]</b> (int idx) const</td></tr>
|
|
<tr class="memdesc:a239553688ef20df5e0e8f4c00bb4ed54"><td class="mdescLeft"> </td><td class="mdescRight">Get character at <span class="tt">idx</span>. <br /></td></tr>
|
|
<tr class="memitem:a554ac949338f934a8d6d1a6ccf199ed1" id="r_a554ac949338f934a8d6d1a6ccf199ed1"><td class="memItemLeft" align="right" valign="top"><a id="a554ac949338f934a8d6d1a6ccf199ed1" name="a554ac949338f934a8d6d1a6ccf199ed1"></a>
|
|
char const & </td><td class="memItemRight" valign="bottom"><b>operator[]</b> (<a class="el" href="#aaa82be3d198c9d251fa7a19bf4312c02">Index</a> idx) const</td></tr>
|
|
<tr class="memdesc:a554ac949338f934a8d6d1a6ccf199ed1"><td class="mdescLeft"> </td><td class="mdescRight">Get character at <span class="tt">idx</span>. <br /></td></tr>
|
|
<tr class="memitem:a5368753551d0792f7a6688831f11c8ea" id="r_a5368753551d0792f7a6688831f11c8ea"><td class="memItemLeft" align="right" valign="top"><a id="a5368753551d0792f7a6688831f11c8ea" name="a5368753551d0792f7a6688831f11c8ea"></a>
|
|
bool </td><td class="memItemRight" valign="bottom"><b>eof</b> (char const *s) const</td></tr>
|
|
<tr class="memdesc:a5368753551d0792f7a6688831f11c8ea"><td class="mdescLeft"> </td><td class="mdescRight">Check if pointer <span class="tt">s</span> points behind string. <br /></td></tr>
|
|
<tr class="memitem:aac6be707bbccd6ceca800a91d622499d" id="r_aac6be707bbccd6ceca800a91d622499d"><td class="memTemplParams" colspan="2">template<typename INT> </td></tr>
|
|
<tr class="memitem:aac6be707bbccd6ceca800a91d622499d template"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#aac6be707bbccd6ceca800a91d622499d">from_dec</a> (INT *v) const</td></tr>
|
|
<tr class="memdesc:aac6be707bbccd6ceca800a91d622499d"><td class="mdescLeft"> </td><td class="mdescRight">Convert decimal string to integer. <br /></td></tr>
|
|
<tr class="memitem:a313732e3babe0af919d52c269a0f3421" id="r_a313732e3babe0af919d52c269a0f3421"><td class="memTemplParams" colspan="2">template<typename INT> </td></tr>
|
|
<tr class="memitem:a313732e3babe0af919d52c269a0f3421 template"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#a313732e3babe0af919d52c269a0f3421">from_hex</a> (INT *v) const</td></tr>
|
|
<tr class="memdesc:a313732e3babe0af919d52c269a0f3421"><td class="mdescLeft"> </td><td class="mdescRight">Convert hex string to integer. <br /></td></tr>
|
|
<tr class="memitem:a330429e4e2b79ce768f6894d698c0cc7" id="r_a330429e4e2b79ce768f6894d698c0cc7"><td class="memItemLeft" align="right" valign="top"><a id="a330429e4e2b79ce768f6894d698c0cc7" name="a330429e4e2b79ce768f6894d698c0cc7"></a>
|
|
bool </td><td class="memItemRight" valign="bottom"><b>operator==</b> (<a class="el" href="classcxx_1_1String.html">String</a> const &o) const</td></tr>
|
|
<tr class="memdesc:a330429e4e2b79ce768f6894d698c0cc7"><td class="mdescLeft"> </td><td class="mdescRight">Equality. <br /></td></tr>
|
|
<tr class="memitem:aad2a0d5e7ed3dc296934591850092edc" id="r_aad2a0d5e7ed3dc296934591850092edc"><td class="memItemLeft" align="right" valign="top"><a id="aad2a0d5e7ed3dc296934591850092edc" name="aad2a0d5e7ed3dc296934591850092edc"></a>
|
|
bool </td><td class="memItemRight" valign="bottom"><b>operator!=</b> (<a class="el" href="classcxx_1_1String.html">String</a> const &o) const</td></tr>
|
|
<tr class="memdesc:aad2a0d5e7ed3dc296934591850092edc"><td class="mdescLeft"> </td><td class="mdescRight">Inequality. <br /></td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>Allocation free string class with explicit length field. </p>
|
|
<p>This class is used to group characters of a string which belong to one syntactical token types number, identifier, string, whitespace or another single character.</p>
|
|
<p>Stings in this class can contain null bytes and may denote parts of other strings. </p>
|
|
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="tmpfs_2lib_2src_2fs_8cc-example.html#_a2">tmpfs/lib/src/fs.cc</a>.</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="string_source.html#l00030">30</a> of file <a class="el" href="string_source.html">string</a>.</p>
|
|
</div><a name="doc-constructors" id="doc-constructors"></a><h2 id="header-doc-constructors" class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a id="a330f61518c97af0b09f52e534cddd96f" name="a330f61518c97af0b09f52e534cddd96f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a330f61518c97af0b09f52e534cddd96f">◆ </a></span>String()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">cxx::String::String </td>
|
|
<td>(</td>
|
|
<td class="paramtype">char const *</td> <td class="paramname"><span class="paramname"><em>s</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">char const *</td> <td class="paramname"><span class="paramname"><em>e</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel noexcept">noexcept</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Initialize with start and end pointer. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">s</td><td>first character of the string </td></tr>
|
|
<tr><td class="paramname">e</td><td>pointer to first byte behind the string </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="string_source.html#l00048">48</a> of file <a class="el" href="string_source.html">string</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Member Function Documentation</h2>
|
|
<a id="a2cad6ae423b1a22dc50322150d625bc8" name="a2cad6ae423b1a22dc50322150d625bc8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2cad6ae423b1a22dc50322150d625bc8">◆ </a></span>find()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">char const * cxx::String::find </td>
|
|
<td>(</td>
|
|
<td class="paramtype">char const *</td> <td class="paramname"><span class="paramname"><em>c</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">char const *</td> <td class="paramname"><span class="paramname"><em>s</em></span> ) const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Find character set at position. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">c</td><td>zero-terminated string of characters to search for </td></tr>
|
|
<tr><td class="paramname">s</td><td>start position of search in string</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="retval"><dt>Return values</dt><dd>
|
|
<table class="retval">
|
|
<tr><td class="paramname"><a class="el" href="#a21ab9dc0ee0f3971d9f858c54dcec286" title="Pointer to first byte behind the string.">end()</a></td><td>if no char in <span class="tt">c</span> is contained in string at or behind <span class="tt">s</span>. </td></tr>
|
|
<tr><td class="paramname">position</td><td>in string of some character in <span class="tt">c</span>. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="string_source.html#l00191">191</a> of file <a class="el" href="string_source.html">string</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="string_source.html#l00056">end()</a>, and <a class="el" href="string_source.html#l00217">eof()</a>.</p>
|
|
<div id="dynsection-2" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the call graph for this function:</div>
|
|
<div id="dynsection-2-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-2-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="classcxx_1_1String_a2cad6ae423b1a22dc50322150d625bc8_cgraph.svg" width="304" height="86"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aac6be707bbccd6ceca800a91d622499d" name="aac6be707bbccd6ceca800a91d622499d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aac6be707bbccd6ceca800a91d622499d">◆ </a></span>from_dec()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename INT> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int cxx::String::from_dec </td>
|
|
<td>(</td>
|
|
<td class="paramtype">INT *</td> <td class="paramname"><span class="paramname"><em>v</em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Convert decimal string to integer. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">INT</td><td>result integer type </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>conversion result</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>position of first character not converted. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="string_source.html#l00228">228</a> of file <a class="el" href="string_source.html">string</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="string_source.html#l00217">eof()</a>, and <a class="el" href="string_source.html#l00054">start()</a>.</p>
|
|
<div id="dynsection-3" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the call graph for this function:</div>
|
|
<div id="dynsection-3-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-3-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="classcxx_1_1String_aac6be707bbccd6ceca800a91d622499d_cgraph.svg" width="348" height="86"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a313732e3babe0af919d52c269a0f3421" name="a313732e3babe0af919d52c269a0f3421"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a313732e3babe0af919d52c269a0f3421">◆ </a></span>from_hex()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename INT> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int cxx::String::from_hex </td>
|
|
<td>(</td>
|
|
<td class="paramtype">INT *</td> <td class="paramname"><span class="paramname"><em>v</em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Convert hex string to integer. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">INT</td><td>result integer type </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>conversion result</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="retval"><dt>Return values</dt><dd>
|
|
<table class="retval">
|
|
<tr><td class="paramname">-1</td><td>if the maximal amount of digits fitting into <span class="tt">INT</span> have been read, </td></tr>
|
|
<tr><td class="paramname">position</td><td>of first character not converted otherwise. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="string_source.html#l00257">257</a> of file <a class="el" href="string_source.html">string</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="string_source.html#l00217">eof()</a>, and <a class="el" href="string_source.html#l00054">start()</a>.</p>
|
|
<div id="dynsection-4" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the call graph for this function:</div>
|
|
<div id="dynsection-4-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-4-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="classcxx_1_1String_a313732e3babe0af919d52c269a0f3421_cgraph.svg" width="350" height="86"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad519bb907167fe695cd0ddfc7b8563cc" name="ad519bb907167fe695cd0ddfc7b8563cc"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad519bb907167fe695cd0ddfc7b8563cc">◆ </a></span>starts_with()</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="#aaa82be3d198c9d251fa7a19bf4312c02">Index</a> cxx::String::starts_with </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classcxx_1_1String.html">cxx::String</a> const &</td> <td class="paramname"><span class="paramname"><em>c</em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Check if <span class="tt">c</span> is a prefix of string. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>0 if <span class="tt">c</span> is not a prefix, if it is a prefix, return first position not in <span class="tt">c</span> (which might be <a class="el" href="#a21ab9dc0ee0f3971d9f858c54dcec286" title="Pointer to first byte behind the string.">end()</a>). </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="string_source.html#l00155">155</a> of file <a class="el" href="string_source.html">string</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="string_source.html#l00054">start()</a>.</p>
|
|
<div id="dynsection-5" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the call graph for this function:</div>
|
|
<div id="dynsection-5-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-5-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="classcxx_1_1String_ad519bb907167fe695cd0ddfc7b8563cc_cgraph.svg" width="359" height="36"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
|
<li>l4/cxx/<a class="el" href="string_source.html">string</a></li>
|
|
</ul>
|
|
</div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<div id="page-nav" class="page-nav-panel">
|
|
<div id="page-nav-resize-handle"></div>
|
|
<div id="page-nav-tree">
|
|
<div id="page-nav-contents">
|
|
</div><!-- page-nav-contents -->
|
|
</div><!-- page-nav-tree -->
|
|
</div><!-- page-nav -->
|
|
</div><!-- container -->
|
|
<!-- HTML footer for doxygen 1.9.1-->
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="navelem"><a href="namespacecxx.html">cxx</a></li><li class="navelem"><a href="classcxx_1_1String.html">String</a></li>
|
|
<li class="footer">Generated on <span class="timestamp"></span> for L4Re Operating System Framework by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0 </li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|