Files
rippled/classripple_1_1Slice.html
2022-07-19 15:12:23 +00:00

759 lines
40 KiB
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.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>rippled: ripple::Slice 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="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" />
</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">rippled
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<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&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- 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">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespaceripple.html">ripple</a></li><li class="navelem"><a class="el" href="classripple_1_1Slice.html">Slice</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classripple_1_1Slice-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ripple::Slice Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>An immutable linear range of bytes.
<a href="classripple_1_1Slice.html#details">More...</a></p>
<div class="dynheader">
Collaboration diagram for ripple::Slice:</div>
<div class="dyncontent">
<div class="center"><img src="classripple_1_1Slice__coll__graph.png" border="0" usemap="#ripple_1_1Slice_coll__map" alt="Collaboration graph"/></div>
<map name="ripple_1_1Slice_coll__map" id="ripple_1_1Slice_coll__map">
<area shape="rect" title="An immutable linear range of bytes." alt="" coords="61,95,159,121"/>
<area shape="rect" href="http://en.cppreference.com/w/cpp/types/integer.html" title=" " alt="" coords="5,5,100,32"/>
<area shape="rect" href="http://en.cppreference.com/w/cpp/types/size_t.html" title=" " alt="" coords="125,5,213,32"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a77d74884c6cdda148bccb3c539da6804"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Slice.html#a77d74884c6cdda148bccb3c539da6804">value_type</a> = <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint8_t</a></td></tr>
<tr class="separator:a77d74884c6cdda148bccb3c539da6804"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f70574ecc6a44893f01134750f03afb"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Slice.html#a6f70574ecc6a44893f01134750f03afb">const_iterator</a> = <a class="el" href="classripple_1_1Slice.html#a77d74884c6cdda148bccb3c539da6804">value_type</a> const *</td></tr>
<tr class="separator:a6f70574ecc6a44893f01134750f03afb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:a5a14d5d1e5aac5e2c6300f04709aaa42"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Slice.html#a5a14d5d1e5aac5e2c6300f04709aaa42">Slice</a> () noexcept=default</td></tr>
<tr class="memdesc:a5a14d5d1e5aac5e2c6300f04709aaa42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructed <a class="el" href="classripple_1_1Slice.html" title="An immutable linear range of bytes.">Slice</a> has length 0. <a href="classripple_1_1Slice.html#a5a14d5d1e5aac5e2c6300f04709aaa42">More...</a><br /></td></tr>
<tr class="separator:a5a14d5d1e5aac5e2c6300f04709aaa42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada896db9af14b2b214876bebca5402fd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Slice.html#ada896db9af14b2b214876bebca5402fd">Slice</a> (<a class="el" href="classripple_1_1Slice.html">Slice</a> const &amp;) noexcept=default</td></tr>
<tr class="separator:ada896db9af14b2b214876bebca5402fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5eec44c840ecca8f01e23ebd61f0ff36"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1Slice.html">Slice</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Slice.html#a5eec44c840ecca8f01e23ebd61f0ff36">operator=</a> (<a class="el" href="classripple_1_1Slice.html">Slice</a> const &amp;) noexcept=default</td></tr>
<tr class="separator:a5eec44c840ecca8f01e23ebd61f0ff36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0bd936527d4a3ee83733aabe2734641"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Slice.html#af0bd936527d4a3ee83733aabe2734641">Slice</a> (void const *<a class="el" href="classripple_1_1Slice.html#a9d49708cd15d24841b78dc0a9ecaac26">data</a>, <a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> <a class="el" href="classripple_1_1Slice.html#aa6faa586508e0f849d4591d807353825">size</a>) noexcept</td></tr>
<tr class="memdesc:af0bd936527d4a3ee83733aabe2734641"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a slice pointing to existing memory. <a href="classripple_1_1Slice.html#af0bd936527d4a3ee83733aabe2734641">More...</a><br /></td></tr>
<tr class="separator:af0bd936527d4a3ee83733aabe2734641"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38d951bc2f27aaf89c3fdb5914c7e169"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Slice.html#a38d951bc2f27aaf89c3fdb5914c7e169">empty</a> () const noexcept</td></tr>
<tr class="memdesc:a38d951bc2f27aaf89c3fdb5914c7e169"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return <code>true</code> if the byte range is empty. <a href="classripple_1_1Slice.html#a38d951bc2f27aaf89c3fdb5914c7e169">More...</a><br /></td></tr>
<tr class="separator:a38d951bc2f27aaf89c3fdb5914c7e169"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d49708cd15d24841b78dc0a9ecaac26"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint8_t</a> const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Slice.html#a9d49708cd15d24841b78dc0a9ecaac26">data</a> () const noexcept</td></tr>
<tr class="memdesc:a9d49708cd15d24841b78dc0a9ecaac26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a pointer to beginning of the storage. <a href="classripple_1_1Slice.html#a9d49708cd15d24841b78dc0a9ecaac26">More...</a><br /></td></tr>
<tr class="separator:a9d49708cd15d24841b78dc0a9ecaac26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89da47ac8d086cb6ecd1858e922657a6"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Slice.html#a89da47ac8d086cb6ecd1858e922657a6">operator[]</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> i) const noexcept</td></tr>
<tr class="memdesc:a89da47ac8d086cb6ecd1858e922657a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access raw bytes. <a href="classripple_1_1Slice.html#a89da47ac8d086cb6ecd1858e922657a6">More...</a><br /></td></tr>
<tr class="separator:a89da47ac8d086cb6ecd1858e922657a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60d6d55a9111d4eb9173875a4af505a8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Slice.html#a60d6d55a9111d4eb9173875a4af505a8">remove_prefix</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> n)</td></tr>
<tr class="memdesc:a60d6d55a9111d4eb9173875a4af505a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shrinks the slice by moving its start forward by n characters. <a href="classripple_1_1Slice.html#a60d6d55a9111d4eb9173875a4af505a8">More...</a><br /></td></tr>
<tr class="separator:a60d6d55a9111d4eb9173875a4af505a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e8d0e9da187938baa8fd4f3e7051867"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Slice.html#a4e8d0e9da187938baa8fd4f3e7051867">remove_suffix</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> n)</td></tr>
<tr class="memdesc:a4e8d0e9da187938baa8fd4f3e7051867"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shrinks the slice by moving its end backward by n characters. <a href="classripple_1_1Slice.html#a4e8d0e9da187938baa8fd4f3e7051867">More...</a><br /></td></tr>
<tr class="separator:a4e8d0e9da187938baa8fd4f3e7051867"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ae79b3980ca850a6070e9dda9c19679"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1Slice.html#a6f70574ecc6a44893f01134750f03afb">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Slice.html#a3ae79b3980ca850a6070e9dda9c19679">begin</a> () const noexcept</td></tr>
<tr class="separator:a3ae79b3980ca850a6070e9dda9c19679"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bd58d1949a0ff8d1ff226f1a8a82fc6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1Slice.html#a6f70574ecc6a44893f01134750f03afb">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Slice.html#a6bd58d1949a0ff8d1ff226f1a8a82fc6">cbegin</a> () const noexcept</td></tr>
<tr class="separator:a6bd58d1949a0ff8d1ff226f1a8a82fc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40d87684d01acbc62ec048ffae21b7d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1Slice.html#a6f70574ecc6a44893f01134750f03afb">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Slice.html#a40d87684d01acbc62ec048ffae21b7d3">end</a> () const noexcept</td></tr>
<tr class="separator:a40d87684d01acbc62ec048ffae21b7d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3dfd26fc868ea74a200ef6ad27298b9a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1Slice.html#a6f70574ecc6a44893f01134750f03afb">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Slice.html#a3dfd26fc868ea74a200ef6ad27298b9a">cend</a> () const noexcept</td></tr>
<tr class="separator:a3dfd26fc868ea74a200ef6ad27298b9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0789f9e98153bd7c63d63000decb3b1b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1Slice.html">Slice</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Slice.html#a0789f9e98153bd7c63d63000decb3b1b">substr</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> pos, <a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> count=<a class="elRef" href="http://en.cppreference.com/w/cpp/types/numeric_limits.html">std::numeric_limits</a>&lt; <a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> &gt;::max()) const</td></tr>
<tr class="memdesc:a0789f9e98153bd7c63d63000decb3b1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a "sub slice" of given length starting at the given position. <a href="classripple_1_1Slice.html#a0789f9e98153bd7c63d63000decb3b1b">More...</a><br /></td></tr>
<tr class="separator:a0789f9e98153bd7c63d63000decb3b1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:aa6faa586508e0f849d4591d807353825"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Slice.html#aa6faa586508e0f849d4591d807353825">size</a> () const noexcept</td></tr>
<tr class="memdesc:aa6faa586508e0f849d4591d807353825"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of bytes in the storage. <a href="classripple_1_1Slice.html#aa6faa586508e0f849d4591d807353825">More...</a><br /></td></tr>
<tr class="separator:aa6faa586508e0f849d4591d807353825"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab09b683271821364a5e2a908021b879e"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Slice.html#ab09b683271821364a5e2a908021b879e">length</a> () const noexcept</td></tr>
<tr class="separator:ab09b683271821364a5e2a908021b879e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:ae33433b0d5df247d5f004b9e3d0e38aa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1Slice.html">Slice</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Slice.html#ae33433b0d5df247d5f004b9e3d0e38aa">operator+=</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> n)</td></tr>
<tr class="memdesc:ae33433b0d5df247d5f004b9e3d0e38aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advance the buffer. <a href="classripple_1_1Slice.html#ae33433b0d5df247d5f004b9e3d0e38aa">More...</a><br /></td></tr>
<tr class="separator:ae33433b0d5df247d5f004b9e3d0e38aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bcf94a83d3ec64eebdc564dcd7acf98"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1Slice.html">Slice</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Slice.html#a6bcf94a83d3ec64eebdc564dcd7acf98">operator+</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> n) const</td></tr>
<tr class="separator:a6bcf94a83d3ec64eebdc564dcd7acf98"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a350ba5f9052ff273a428c3ce07b21e07"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint8_t</a> const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Slice.html#a350ba5f9052ff273a428c3ce07b21e07">data_</a> = nullptr</td></tr>
<tr class="separator:a350ba5f9052ff273a428c3ce07b21e07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a1dc9f632889c271419c35318124001"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Slice.html#a4a1dc9f632889c271419c35318124001">size_</a> = 0</td></tr>
<tr class="separator:a4a1dc9f632889c271419c35318124001"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>An immutable linear range of bytes. </p>
<p>A fully constructed <a class="el" href="classripple_1_1Slice.html" title="An immutable linear range of bytes.">Slice</a> is guaranteed to be in a valid state. A <a class="el" href="classripple_1_1Slice.html" title="An immutable linear range of bytes.">Slice</a> is lightweight and copyable, it retains no ownership of the underlying memory. </p>
<p class="definition">Definition at line <a class="el" href="Slice_8h_source.html#l00044">44</a> of file <a class="el" href="Slice_8h_source.html">Slice.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a77d74884c6cdda148bccb3c539da6804"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77d74884c6cdda148bccb3c539da6804">&#9670;&nbsp;</a></span>value_type</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classripple_1_1Slice.html#a77d74884c6cdda148bccb3c539da6804">ripple::Slice::value_type</a> = <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint8_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Slice_8h_source.html#l00051">51</a> of file <a class="el" href="Slice_8h_source.html">Slice.h</a>.</p>
</div>
</div>
<a id="a6f70574ecc6a44893f01134750f03afb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f70574ecc6a44893f01134750f03afb">&#9670;&nbsp;</a></span>const_iterator</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classripple_1_1Slice.html#a6f70574ecc6a44893f01134750f03afb">ripple::Slice::const_iterator</a> = <a class="el" href="classripple_1_1Slice.html#a77d74884c6cdda148bccb3c539da6804">value_type</a> const*</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Slice_8h_source.html#l00052">52</a> of file <a class="el" href="Slice_8h_source.html">Slice.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a5a14d5d1e5aac5e2c6300f04709aaa42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a14d5d1e5aac5e2c6300f04709aaa42">&#9670;&nbsp;</a></span>Slice() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ripple::Slice::Slice </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Default constructed <a class="el" href="classripple_1_1Slice.html" title="An immutable linear range of bytes.">Slice</a> has length 0. </p>
</div>
</div>
<a id="ada896db9af14b2b214876bebca5402fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada896db9af14b2b214876bebca5402fd">&#9670;&nbsp;</a></span>Slice() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ripple::Slice::Slice </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1Slice.html">Slice</a> const &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af0bd936527d4a3ee83733aabe2734641"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0bd936527d4a3ee83733aabe2734641">&#9670;&nbsp;</a></span>Slice() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ripple::Slice::Slice </td>
<td>(</td>
<td class="paramtype">void const *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a>&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a slice pointing to existing memory. </p>
<p class="definition">Definition at line <a class="el" href="Slice_8h_source.html#l00062">62</a> of file <a class="el" href="Slice_8h_source.html">Slice.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a5eec44c840ecca8f01e23ebd61f0ff36"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5eec44c840ecca8f01e23ebd61f0ff36">&#9670;&nbsp;</a></span>operator=()</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="classripple_1_1Slice.html">Slice</a>&amp; ripple::Slice::operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1Slice.html">Slice</a> const &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a38d951bc2f27aaf89c3fdb5914c7e169"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38d951bc2f27aaf89c3fdb5914c7e169">&#9670;&nbsp;</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">bool ripple::Slice::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">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return <code>true</code> if the byte range is empty. </p>
<p class="definition">Definition at line <a class="el" href="Slice_8h_source.html#l00069">69</a> of file <a class="el" href="Slice_8h_source.html">Slice.h</a>.</p>
</div>
</div>
<a id="aa6faa586508e0f849d4591d807353825"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6faa586508e0f849d4591d807353825">&#9670;&nbsp;</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"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> ripple::Slice::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">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the number of bytes in the storage. </p>
<p>This may be zero for an empty range. </p>
<p class="definition">Definition at line <a class="el" href="Slice_8h_source.html#l00080">80</a> of file <a class="el" href="Slice_8h_source.html">Slice.h</a>.</p>
</div>
</div>
<a id="ab09b683271821364a5e2a908021b879e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab09b683271821364a5e2a908021b879e">&#9670;&nbsp;</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"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> ripple::Slice::length </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">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Slice_8h_source.html#l00086">86</a> of file <a class="el" href="Slice_8h_source.html">Slice.h</a>.</p>
</div>
</div>
<a id="a9d49708cd15d24841b78dc0a9ecaac26"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d49708cd15d24841b78dc0a9ecaac26">&#9670;&nbsp;</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"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint8_t</a> const* ripple::Slice::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">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return a pointer to beginning of the storage. </p>
<dl class="section note"><dt>Note</dt><dd>The return type is guaranteed to be a pointer to a single byte, to facilitate pointer arithmetic. </dd></dl>
<p class="definition">Definition at line <a class="el" href="Slice_8h_source.html#l00097">97</a> of file <a class="el" href="Slice_8h_source.html">Slice.h</a>.</p>
</div>
</div>
<a id="a89da47ac8d086cb6ecd1858e922657a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89da47ac8d086cb6ecd1858e922657a6">&#9670;&nbsp;</a></span>operator[]()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint8_t</a> ripple::Slice::operator[] </td>
<td>(</td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a>&#160;</td>
<td class="paramname"><em>i</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Access raw bytes. </p>
<p class="definition">Definition at line <a class="el" href="Slice_8h_source.html#l00104">104</a> of file <a class="el" href="Slice_8h_source.html">Slice.h</a>.</p>
</div>
</div>
<a id="ae33433b0d5df247d5f004b9e3d0e38aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae33433b0d5df247d5f004b9e3d0e38aa">&#9670;&nbsp;</a></span>operator+=()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1Slice.html">Slice</a>&amp; ripple::Slice::operator+= </td>
<td>(</td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a>&#160;</td>
<td class="paramname"><em>n</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Advance the buffer. </p>
<p class="definition">Definition at line <a class="el" href="Slice_8h_source.html#l00113">113</a> of file <a class="el" href="Slice_8h_source.html">Slice.h</a>.</p>
</div>
</div>
<a id="a6bcf94a83d3ec64eebdc564dcd7acf98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6bcf94a83d3ec64eebdc564dcd7acf98">&#9670;&nbsp;</a></span>operator+()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1Slice.html">Slice</a> ripple::Slice::operator+ </td>
<td>(</td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a>&#160;</td>
<td class="paramname"><em>n</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Slice_8h_source.html#l00123">123</a> of file <a class="el" href="Slice_8h_source.html">Slice.h</a>.</p>
</div>
</div>
<a id="a60d6d55a9111d4eb9173875a4af505a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60d6d55a9111d4eb9173875a4af505a8">&#9670;&nbsp;</a></span>remove_prefix()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ripple::Slice::remove_prefix </td>
<td>(</td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a>&#160;</td>
<td class="paramname"><em>n</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Shrinks the slice by moving its start forward by n characters. </p>
<p class="definition">Definition at line <a class="el" href="Slice_8h_source.html#l00132">132</a> of file <a class="el" href="Slice_8h_source.html">Slice.h</a>.</p>
</div>
</div>
<a id="a4e8d0e9da187938baa8fd4f3e7051867"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4e8d0e9da187938baa8fd4f3e7051867">&#9670;&nbsp;</a></span>remove_suffix()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ripple::Slice::remove_suffix </td>
<td>(</td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a>&#160;</td>
<td class="paramname"><em>n</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Shrinks the slice by moving its end backward by n characters. </p>
<p class="definition">Definition at line <a class="el" href="Slice_8h_source.html#l00140">140</a> of file <a class="el" href="Slice_8h_source.html">Slice.h</a>.</p>
</div>
</div>
<a id="a3ae79b3980ca850a6070e9dda9c19679"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ae79b3980ca850a6070e9dda9c19679">&#9670;&nbsp;</a></span>begin()</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="classripple_1_1Slice.html#a6f70574ecc6a44893f01134750f03afb">const_iterator</a> ripple::Slice::begin </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">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Slice_8h_source.html#l00146">146</a> of file <a class="el" href="Slice_8h_source.html">Slice.h</a>.</p>
</div>
</div>
<a id="a6bd58d1949a0ff8d1ff226f1a8a82fc6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6bd58d1949a0ff8d1ff226f1a8a82fc6">&#9670;&nbsp;</a></span>cbegin()</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="classripple_1_1Slice.html#a6f70574ecc6a44893f01134750f03afb">const_iterator</a> ripple::Slice::cbegin </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">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Slice_8h_source.html#l00152">152</a> of file <a class="el" href="Slice_8h_source.html">Slice.h</a>.</p>
</div>
</div>
<a id="a40d87684d01acbc62ec048ffae21b7d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a40d87684d01acbc62ec048ffae21b7d3">&#9670;&nbsp;</a></span>end()</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="classripple_1_1Slice.html#a6f70574ecc6a44893f01134750f03afb">const_iterator</a> ripple::Slice::end </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">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Slice_8h_source.html#l00158">158</a> of file <a class="el" href="Slice_8h_source.html">Slice.h</a>.</p>
</div>
</div>
<a id="a3dfd26fc868ea74a200ef6ad27298b9a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3dfd26fc868ea74a200ef6ad27298b9a">&#9670;&nbsp;</a></span>cend()</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="classripple_1_1Slice.html#a6f70574ecc6a44893f01134750f03afb">const_iterator</a> ripple::Slice::cend </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">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Slice_8h_source.html#l00164">164</a> of file <a class="el" href="Slice_8h_source.html">Slice.h</a>.</p>
</div>
</div>
<a id="a0789f9e98153bd7c63d63000decb3b1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0789f9e98153bd7c63d63000decb3b1b">&#9670;&nbsp;</a></span>substr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1Slice.html">Slice</a> ripple::Slice::substr </td>
<td>(</td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a>&#160;</td>
<td class="paramname"><em>pos</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a>&#160;</td>
<td class="paramname"><em>count</em> = <code><a class="elRef" href="http://en.cppreference.com/w/cpp/types/numeric_limits.html">std::numeric_limits</a>&lt;<a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a>&gt;::max()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Return a "sub slice" of given length starting at the given position. </p>
<p>Note that the subslice encompasses the range [pos, pos + rcount), where rcount is the smaller of count and <a class="el" href="classripple_1_1Slice.html#aa6faa586508e0f849d4591d807353825" title="Returns the number of bytes in the storage.">size()</a> - pos.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pos</td><td>position of the first character @count requested length</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The requested subslice, if the request is valid. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname"><a class="elRef" href="http://en.cppreference.com/w/cpp/error/out_of_range.html" title="STL class.">std::out_of_range</a></td><td>if pos &gt; <a class="el" href="classripple_1_1Slice.html#aa6faa586508e0f849d4591d807353825" title="Returns the number of bytes in the storage.">size()</a> </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="Slice_8h_source.html#l00181">181</a> of file <a class="el" href="Slice_8h_source.html">Slice.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a350ba5f9052ff273a428c3ce07b21e07"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a350ba5f9052ff273a428c3ce07b21e07">&#9670;&nbsp;</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"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint8_t</a> const* ripple::Slice::data_ = nullptr</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Slice_8h_source.html#l00047">47</a> of file <a class="el" href="Slice_8h_source.html">Slice.h</a>.</p>
</div>
</div>
<a id="a4a1dc9f632889c271419c35318124001"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a1dc9f632889c271419c35318124001">&#9670;&nbsp;</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"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> ripple::Slice::size_ = 0</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Slice_8h_source.html#l00048">48</a> of file <a class="el" href="Slice_8h_source.html">Slice.h</a>.</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>