| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704 |
- <!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.6"/>
- <title>GRPC C++: grpc::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/search.js"></script>
- <script type="text/javascript">
- $(document).ready(function() { searchBox.OnSelectItem(0); });
- </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 style="padding-left: 0.5em;">
- <div id="projectname">GRPC C++
-  <span id="projectnumber">1.8.0</span>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- end header part -->
- <!-- Generated by Doxygen 1.8.6 -->
- <script type="text/javascript">
- var searchBox = new SearchBox("searchBox", "search",false,'Search');
- </script>
- <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>
- <li>
- <div id="MSearchBox" class="MSearchBoxInactive">
- <span class="left">
- <img id="MSearchSelect" src="search/mag_sel.png"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- alt=""/>
- <input type="text" id="MSearchField" value="Search" accesskey="S"
- onfocus="searchBox.OnSearchFieldFocus(true)"
- onblur="searchBox.OnSearchFieldFocus(false)"
- onkeyup="searchBox.OnSearchFieldChange(event)"/>
- </span><span class="right">
- <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
- </span>
- </div>
- </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>
- <!-- window showing the filter options -->
- <div id="MSearchSelectWindow"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- onkeydown="return searchBox.OnSearchSelectKey(event)">
- <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></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="namespacegrpc.html">grpc</a></li><li class="navelem"><a class="el" href="classgrpc_1_1_slice.html">Slice</a></li> </ul>
- </div>
- </div><!-- top -->
- <div class="header">
- <div class="summary">
- <a href="#pub-types">Public Types</a> |
- <a href="#pub-methods">Public Member Functions</a> |
- <a href="#friends">Friends</a> </div>
- <div class="headertitle">
- <div class="title">grpc::Slice Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div> </div>
- </div><!--header-->
- <div class="contents">
- <p>A wrapper around <em><a class="el" href="structgrpc__slice.html" title="A grpc_slice s, if initialized, represents the byte range s.bytes[0..s.length-1]. ...">grpc_slice</a></em>.
- <a href="classgrpc_1_1_slice.html#details">More...</a></p>
- <p><code>#include <<a class="el" href="grpc_09_09_2impl_2codegen_2slice_8h_source.html">slice.h</a>></code></p>
- <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:ac1e8469bbb6dfa9ab9e646e0b48f5fe2"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_slice.html#ac1e8469bbb6dfa9ab9e646e0b48f5fe2">AddRef</a> { <a class="el" href="classgrpc_1_1_slice.html#ac1e8469bbb6dfa9ab9e646e0b48f5fe2a2ea965f79036dea69221557ec04580b2">ADD_REF</a>
- }</td></tr>
- <tr class="separator:ac1e8469bbb6dfa9ab9e646e0b48f5fe2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a13fbbec0e9121a8b948d563f9730d75a"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_slice.html#a13fbbec0e9121a8b948d563f9730d75a">StealRef</a> { <a class="el" href="classgrpc_1_1_slice.html#a13fbbec0e9121a8b948d563f9730d75aae0777a96d69fe69aec2acd1f0f9cefb7">STEAL_REF</a>
- }</td></tr>
- <tr class="separator:a13fbbec0e9121a8b948d563f9730d75a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a61a6b4f8f10e5b90a99a5d09b8fdc498"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_slice.html#a61a6b4f8f10e5b90a99a5d09b8fdc498">StaticSlice</a> { <a class="el" href="classgrpc_1_1_slice.html#a61a6b4f8f10e5b90a99a5d09b8fdc498a162100d1059f54ba91c6803865effe10">STATIC_SLICE</a>
- }</td></tr>
- <tr class="separator:a61a6b4f8f10e5b90a99a5d09b8fdc498"><td class="memSeparator" colspan="2"> </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:a8c5179cf7a39f66d65887bf298dc548f"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_slice.html#a8c5179cf7a39f66d65887bf298dc548f">Slice</a> ()</td></tr>
- <tr class="memdesc:a8c5179cf7a39f66d65887bf298dc548f"><td class="mdescLeft"> </td><td class="mdescRight">Construct an empty slice. <a href="#a8c5179cf7a39f66d65887bf298dc548f">More...</a><br/></td></tr>
- <tr class="separator:a8c5179cf7a39f66d65887bf298dc548f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a1f89af608ad9e5bbc2870d4ee7140c94"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_slice.html#a1f89af608ad9e5bbc2870d4ee7140c94">~Slice</a> ()</td></tr>
- <tr class="memdesc:a1f89af608ad9e5bbc2870d4ee7140c94"><td class="mdescLeft"> </td><td class="mdescRight">Destructor - drops one reference. <a href="#a1f89af608ad9e5bbc2870d4ee7140c94">More...</a><br/></td></tr>
- <tr class="separator:a1f89af608ad9e5bbc2870d4ee7140c94"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a5e3c4a94b5de9e66f2328039233e3873"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_slice.html#a5e3c4a94b5de9e66f2328039233e3873">Slice</a> (<a class="el" href="structgrpc__slice.html">grpc_slice</a> slice, <a class="el" href="classgrpc_1_1_slice.html#ac1e8469bbb6dfa9ab9e646e0b48f5fe2">AddRef</a>)</td></tr>
- <tr class="memdesc:a5e3c4a94b5de9e66f2328039233e3873"><td class="mdescLeft"> </td><td class="mdescRight">Construct a slice from <em>slice</em>, adding a reference. <a href="#a5e3c4a94b5de9e66f2328039233e3873">More...</a><br/></td></tr>
- <tr class="separator:a5e3c4a94b5de9e66f2328039233e3873"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:af3fece4a2e6c2be33631c295c5ea3418"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_slice.html#af3fece4a2e6c2be33631c295c5ea3418">Slice</a> (<a class="el" href="structgrpc__slice.html">grpc_slice</a> slice, <a class="el" href="classgrpc_1_1_slice.html#a13fbbec0e9121a8b948d563f9730d75a">StealRef</a>)</td></tr>
- <tr class="memdesc:af3fece4a2e6c2be33631c295c5ea3418"><td class="mdescLeft"> </td><td class="mdescRight">Construct a slice from <em>slice</em>, stealing a reference. <a href="#af3fece4a2e6c2be33631c295c5ea3418">More...</a><br/></td></tr>
- <tr class="separator:af3fece4a2e6c2be33631c295c5ea3418"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac7fd05a7ad8edb55c163b544e7878bf9"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_slice.html#ac7fd05a7ad8edb55c163b544e7878bf9">Slice</a> (size_t len)</td></tr>
- <tr class="memdesc:ac7fd05a7ad8edb55c163b544e7878bf9"><td class="mdescLeft"> </td><td class="mdescRight">Allocate a slice of specified size. <a href="#ac7fd05a7ad8edb55c163b544e7878bf9">More...</a><br/></td></tr>
- <tr class="separator:ac7fd05a7ad8edb55c163b544e7878bf9"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ad180398d3b0a83a1c8fbff9aed4aff48"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_slice.html#ad180398d3b0a83a1c8fbff9aed4aff48">Slice</a> (const void *buf, size_t len)</td></tr>
- <tr class="memdesc:ad180398d3b0a83a1c8fbff9aed4aff48"><td class="mdescLeft"> </td><td class="mdescRight">Construct a slice from a copied buffer. <a href="#ad180398d3b0a83a1c8fbff9aed4aff48">More...</a><br/></td></tr>
- <tr class="separator:ad180398d3b0a83a1c8fbff9aed4aff48"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2329ec18d0d60515dca1c0c29237822c"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_slice.html#a2329ec18d0d60515dca1c0c29237822c">Slice</a> (const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &str)</td></tr>
- <tr class="memdesc:a2329ec18d0d60515dca1c0c29237822c"><td class="mdescLeft"> </td><td class="mdescRight">Construct a slice from a copied string. <a href="#a2329ec18d0d60515dca1c0c29237822c">More...</a><br/></td></tr>
- <tr class="separator:a2329ec18d0d60515dca1c0c29237822c"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a4ee777ba961557d8e0bc39c15e749a6e"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_slice.html#a4ee777ba961557d8e0bc39c15e749a6e">Slice</a> (const void *buf, size_t len, <a class="el" href="classgrpc_1_1_slice.html#a61a6b4f8f10e5b90a99a5d09b8fdc498">StaticSlice</a>)</td></tr>
- <tr class="memdesc:a4ee777ba961557d8e0bc39c15e749a6e"><td class="mdescLeft"> </td><td class="mdescRight">Construct a slice from a static buffer. <a href="#a4ee777ba961557d8e0bc39c15e749a6e">More...</a><br/></td></tr>
- <tr class="separator:a4ee777ba961557d8e0bc39c15e749a6e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a0a6b936d72f7ae35f083d003d3e0c8a3"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_slice.html#a0a6b936d72f7ae35f083d003d3e0c8a3">Slice</a> (const <a class="el" href="classgrpc_1_1_slice.html">Slice</a> &other)</td></tr>
- <tr class="memdesc:a0a6b936d72f7ae35f083d003d3e0c8a3"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor, adds a reference. <a href="#a0a6b936d72f7ae35f083d003d3e0c8a3">More...</a><br/></td></tr>
- <tr class="separator:a0a6b936d72f7ae35f083d003d3e0c8a3"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac5a109779239ed4d3fd58e8124abdba1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_slice.html">Slice</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_slice.html#ac5a109779239ed4d3fd58e8124abdba1">operator=</a> (<a class="el" href="classgrpc_1_1_slice.html">Slice</a> other)</td></tr>
- <tr class="memdesc:ac5a109779239ed4d3fd58e8124abdba1"><td class="mdescLeft"> </td><td class="mdescRight">Assignment, reference count is unchanged. <a href="#ac5a109779239ed4d3fd58e8124abdba1">More...</a><br/></td></tr>
- <tr class="separator:ac5a109779239ed4d3fd58e8124abdba1"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a4168ed1092cd945f605335ab3081b3d9"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_slice.html#a4168ed1092cd945f605335ab3081b3d9">Slice</a> (void *buf, size_t len, void(*destroy)(void *), void *user_data)</td></tr>
- <tr class="memdesc:a4168ed1092cd945f605335ab3081b3d9"><td class="mdescLeft"> </td><td class="mdescRight">Create a slice pointing at some data. <a href="#a4168ed1092cd945f605335ab3081b3d9">More...</a><br/></td></tr>
- <tr class="separator:a4168ed1092cd945f605335ab3081b3d9"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:abb151a6538ee47812bbe0e98330c799e"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_slice.html#abb151a6538ee47812bbe0e98330c799e">Slice</a> (void *buf, size_t len, void(*destroy)(void *))</td></tr>
- <tr class="memdesc:abb151a6538ee47812bbe0e98330c799e"><td class="mdescLeft"> </td><td class="mdescRight">Specialization of above for common case where buf == user_data. <a href="#abb151a6538ee47812bbe0e98330c799e">More...</a><br/></td></tr>
- <tr class="separator:abb151a6538ee47812bbe0e98330c799e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aa015b3afa75bc3238c5e68147e4e3020"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_slice.html#aa015b3afa75bc3238c5e68147e4e3020">Slice</a> (void *buf, size_t len, void(*destroy)(void *, size_t))</td></tr>
- <tr class="memdesc:aa015b3afa75bc3238c5e68147e4e3020"><td class="mdescLeft"> </td><td class="mdescRight">Similar to the above but has a destroy that also takes slice length. <a href="#aa015b3afa75bc3238c5e68147e4e3020">More...</a><br/></td></tr>
- <tr class="separator:aa015b3afa75bc3238c5e68147e4e3020"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aa216fa6d6e98e5e2677b7d33fb4af724"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_slice.html#aa216fa6d6e98e5e2677b7d33fb4af724">size</a> () const </td></tr>
- <tr class="memdesc:aa216fa6d6e98e5e2677b7d33fb4af724"><td class="mdescLeft"> </td><td class="mdescRight">Byte size. <a href="#aa216fa6d6e98e5e2677b7d33fb4af724">More...</a><br/></td></tr>
- <tr class="separator:aa216fa6d6e98e5e2677b7d33fb4af724"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:af5dff4917f91b67d7fc18ddc789cc893"><td class="memItemLeft" align="right" valign="top">const uint8_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_slice.html#af5dff4917f91b67d7fc18ddc789cc893">begin</a> () const </td></tr>
- <tr class="memdesc:af5dff4917f91b67d7fc18ddc789cc893"><td class="mdescLeft"> </td><td class="mdescRight">Raw pointer to the beginning (first element) of the slice. <a href="#af5dff4917f91b67d7fc18ddc789cc893">More...</a><br/></td></tr>
- <tr class="separator:af5dff4917f91b67d7fc18ddc789cc893"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a61a8cc0f3ccffcd6ab53dd660bdbaa79"><td class="memItemLeft" align="right" valign="top">const uint8_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_slice.html#a61a8cc0f3ccffcd6ab53dd660bdbaa79">end</a> () const </td></tr>
- <tr class="memdesc:a61a8cc0f3ccffcd6ab53dd660bdbaa79"><td class="mdescLeft"> </td><td class="mdescRight">Raw pointer to the end (one byte <em>past</em> the last element) of the slice. <a href="#a61a8cc0f3ccffcd6ab53dd660bdbaa79">More...</a><br/></td></tr>
- <tr class="separator:a61a8cc0f3ccffcd6ab53dd660bdbaa79"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ad104691f0410004542b38396511b34f3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgrpc__slice.html">grpc_slice</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_slice.html#ad104691f0410004542b38396511b34f3">c_slice</a> () const </td></tr>
- <tr class="memdesc:ad104691f0410004542b38396511b34f3"><td class="mdescLeft"> </td><td class="mdescRight">Raw C slice. Caller needs to call grpc_slice_unref when done. <a href="#ad104691f0410004542b38396511b34f3">More...</a><br/></td></tr>
- <tr class="separator:ad104691f0410004542b38396511b34f3"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
- Friends</h2></td></tr>
- <tr class="memitem:ac6c83f28f4b17ae317094a794e92e99e"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_slice.html#ac6c83f28f4b17ae317094a794e92e99e">ByteBuffer</a></td></tr>
- <tr class="separator:ac6c83f28f4b17ae317094a794e92e99e"><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 wrapper around <em><a class="el" href="structgrpc__slice.html" title="A grpc_slice s, if initialized, represents the byte range s.bytes[0..s.length-1]. ...">grpc_slice</a></em>. </p>
- <p>A slice represents a contiguous reference counted array of bytes. It is cheap to take references to a slice, and it is cheap to create a slice pointing to a subset of another slice. </p>
- </div><h2 class="groupheader">Member Enumeration Documentation</h2>
- <a class="anchor" id="ac1e8469bbb6dfa9ab9e646e0b48f5fe2"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="classgrpc_1_1_slice.html#ac1e8469bbb6dfa9ab9e646e0b48f5fe2">grpc::Slice::AddRef</a></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <table class="fieldtable">
- <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ac1e8469bbb6dfa9ab9e646e0b48f5fe2a2ea965f79036dea69221557ec04580b2"></a>ADD_REF</em> </td><td class="fielddoc">
- </td></tr>
- </table>
- </div>
- </div>
- <a class="anchor" id="a61a6b4f8f10e5b90a99a5d09b8fdc498"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="classgrpc_1_1_slice.html#a61a6b4f8f10e5b90a99a5d09b8fdc498">grpc::Slice::StaticSlice</a></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <table class="fieldtable">
- <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a61a6b4f8f10e5b90a99a5d09b8fdc498a162100d1059f54ba91c6803865effe10"></a>STATIC_SLICE</em> </td><td class="fielddoc">
- </td></tr>
- </table>
- </div>
- </div>
- <a class="anchor" id="a13fbbec0e9121a8b948d563f9730d75a"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="classgrpc_1_1_slice.html#a13fbbec0e9121a8b948d563f9730d75a">grpc::Slice::StealRef</a></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <table class="fieldtable">
- <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a13fbbec0e9121a8b948d563f9730d75aae0777a96d69fe69aec2acd1f0f9cefb7"></a>STEAL_REF</em> </td><td class="fielddoc">
- </td></tr>
- </table>
- </div>
- </div>
- <h2 class="groupheader">Constructor & Destructor Documentation</h2>
- <a class="anchor" id="a8c5179cf7a39f66d65887bf298dc548f"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">grpc::Slice::Slice </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Construct an empty slice. </p>
- </div>
- </div>
- <a class="anchor" id="a1f89af608ad9e5bbc2870d4ee7140c94"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">grpc::Slice::~Slice </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Destructor - drops one reference. </p>
- </div>
- </div>
- <a class="anchor" id="a5e3c4a94b5de9e66f2328039233e3873"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">grpc::Slice::Slice </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structgrpc__slice.html">grpc_slice</a> </td>
- <td class="paramname"><em>slice</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classgrpc_1_1_slice.html#ac1e8469bbb6dfa9ab9e646e0b48f5fe2">AddRef</a> </td>
- <td class="paramname"> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Construct a slice from <em>slice</em>, adding a reference. </p>
- </div>
- </div>
- <a class="anchor" id="af3fece4a2e6c2be33631c295c5ea3418"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">grpc::Slice::Slice </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structgrpc__slice.html">grpc_slice</a> </td>
- <td class="paramname"><em>slice</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classgrpc_1_1_slice.html#a13fbbec0e9121a8b948d563f9730d75a">StealRef</a> </td>
- <td class="paramname"> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Construct a slice from <em>slice</em>, stealing a reference. </p>
- </div>
- </div>
- <a class="anchor" id="ac7fd05a7ad8edb55c163b544e7878bf9"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">grpc::Slice::Slice </td>
- <td>(</td>
- <td class="paramtype">size_t </td>
- <td class="paramname"><em>len</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Allocate a slice of specified size. </p>
- </div>
- </div>
- <a class="anchor" id="ad180398d3b0a83a1c8fbff9aed4aff48"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">grpc::Slice::Slice </td>
- <td>(</td>
- <td class="paramtype">const void * </td>
- <td class="paramname"><em>buf</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_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>Construct a slice from a copied buffer. </p>
- </div>
- </div>
- <a class="anchor" id="a2329ec18d0d60515dca1c0c29237822c"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">grpc::Slice::Slice </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> & </td>
- <td class="paramname"><em>str</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Construct a slice from a copied string. </p>
- </div>
- </div>
- <a class="anchor" id="a4ee777ba961557d8e0bc39c15e749a6e"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">grpc::Slice::Slice </td>
- <td>(</td>
- <td class="paramtype">const void * </td>
- <td class="paramname"><em>buf</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t </td>
- <td class="paramname"><em>len</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classgrpc_1_1_slice.html#a61a6b4f8f10e5b90a99a5d09b8fdc498">StaticSlice</a> </td>
- <td class="paramname"> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Construct a slice from a static buffer. </p>
- </div>
- </div>
- <a class="anchor" id="a0a6b936d72f7ae35f083d003d3e0c8a3"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">grpc::Slice::Slice </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classgrpc_1_1_slice.html">Slice</a> & </td>
- <td class="paramname"><em>other</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Copy constructor, adds a reference. </p>
- </div>
- </div>
- <a class="anchor" id="a4168ed1092cd945f605335ab3081b3d9"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">grpc::Slice::Slice </td>
- <td>(</td>
- <td class="paramtype">void * </td>
- <td class="paramname"><em>buf</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t </td>
- <td class="paramname"><em>len</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void(*)(void *) </td>
- <td class="paramname"><em>destroy</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void * </td>
- <td class="paramname"><em>user_data</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Create a slice pointing at some data. </p>
- <p>Calls malloc to allocate a refcount for the object, and arranges that destroy will be called with the user data pointer passed in at destruction. Can be the same as buf or different (e.g., if data is part of a larger structure that must be destroyed when the data is no longer needed) </p>
- </div>
- </div>
- <a class="anchor" id="abb151a6538ee47812bbe0e98330c799e"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">grpc::Slice::Slice </td>
- <td>(</td>
- <td class="paramtype">void * </td>
- <td class="paramname"><em>buf</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t </td>
- <td class="paramname"><em>len</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void(*)(void *) </td>
- <td class="paramname"><em>destroy</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>Specialization of above for common case where buf == user_data. </p>
- </div>
- </div>
- <a class="anchor" id="aa015b3afa75bc3238c5e68147e4e3020"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">grpc::Slice::Slice </td>
- <td>(</td>
- <td class="paramtype">void * </td>
- <td class="paramname"><em>buf</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t </td>
- <td class="paramname"><em>len</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void(*)(void *, size_t) </td>
- <td class="paramname"><em>destroy</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Similar to the above but has a destroy that also takes slice length. </p>
- </div>
- </div>
- <h2 class="groupheader">Member Function Documentation</h2>
- <a class="anchor" id="af5dff4917f91b67d7fc18ddc789cc893"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">const uint8_t* grpc::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">inline</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Raw pointer to the beginning (first element) of the slice. </p>
- </div>
- </div>
- <a class="anchor" id="ad104691f0410004542b38396511b34f3"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structgrpc__slice.html">grpc_slice</a> grpc::Slice::c_slice </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Raw C slice. Caller needs to call grpc_slice_unref when done. </p>
- </div>
- </div>
- <a class="anchor" id="a61a8cc0f3ccffcd6ab53dd660bdbaa79"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">const uint8_t* grpc::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">inline</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Raw pointer to the end (one byte <em>past</em> the last element) of the slice. </p>
- </div>
- </div>
- <a class="anchor" id="ac5a109779239ed4d3fd58e8124abdba1"></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="classgrpc_1_1_slice.html">Slice</a>& grpc::Slice::operator= </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classgrpc_1_1_slice.html">Slice</a> </td>
- <td class="paramname"><em>other</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>Assignment, reference count is unchanged. </p>
- </div>
- </div>
- <a class="anchor" id="aa216fa6d6e98e5e2677b7d33fb4af724"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">size_t grpc::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">inline</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Byte size. </p>
- </div>
- </div>
- <h2 class="groupheader">Friends And Related Function Documentation</h2>
- <a class="anchor" id="ac6c83f28f4b17ae317094a794e92e99e"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">friend class <a class="el" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">friend</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- </div>
- </div>
- <hr/>The documentation for this class was generated from the following file:<ul>
- <li>include/grpc++/impl/codegen/<a class="el" href="grpc_09_09_2impl_2codegen_2slice_8h_source.html">slice.h</a></li>
- </ul>
- </div><!-- contents -->
- <!-- start footer part -->
- <hr class="footer"/><address class="footer"><small>
- Generated on Tue Dec 12 2017 18:36:13 for GRPC C++ by  <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/>
- </a> 1.8.6
- </small></address>
- </body>
- </html>
|