Micro template library A library for building device drivers
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 

1010 lignes
55 KiB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.14"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>uTL: utl::inbuf_dev&lt; impl_t, data_t, streamsize &gt; Class Template Reference</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <link href="navtree.css" rel="stylesheet" type="text/css"/>
  13. <script type="text/javascript" src="resize.js"></script>
  14. <script type="text/javascript" src="navtreedata.js"></script>
  15. <script type="text/javascript" src="navtree.js"></script>
  16. <script type="text/javascript">
  17. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  18. $(document).ready(initResizable);
  19. /* @license-end */</script>
  20. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  21. <script type="text/javascript" src="search/searchdata.js"></script>
  22. <script type="text/javascript" src="search/search.js"></script>
  23. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  24. </head>
  25. <body>
  26. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  27. <div id="titlearea">
  28. <table cellspacing="0" cellpadding="0">
  29. <tbody>
  30. <tr style="height: 56px;">
  31. <td id="projectalign" style="padding-left: 0.5em;">
  32. <div id="projectname">uTL
  33. </div>
  34. <div id="projectbrief">micro Template library</div>
  35. </td>
  36. </tr>
  37. </tbody>
  38. </table>
  39. </div>
  40. <!-- end header part -->
  41. <!-- Generated by Doxygen 1.8.14 -->
  42. <script type="text/javascript">
  43. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  44. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  45. /* @license-end */
  46. </script>
  47. <script type="text/javascript" src="menudata.js"></script>
  48. <script type="text/javascript" src="menu.js"></script>
  49. <script type="text/javascript">
  50. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  51. $(function() {
  52. initMenu('',true,false,'search.php','Search');
  53. $(document).ready(function() { init_search(); });
  54. });
  55. /* @license-end */</script>
  56. <div id="main-nav"></div>
  57. </div><!-- top -->
  58. <div id="side-nav" class="ui-resizable side-nav-resizable">
  59. <div id="nav-tree">
  60. <div id="nav-tree-contents">
  61. <div id="nav-sync" class="sync"></div>
  62. </div>
  63. </div>
  64. <div id="splitbar" style="-moz-user-select:none;"
  65. class="ui-resizable-handle">
  66. </div>
  67. </div>
  68. <script type="text/javascript">
  69. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  70. $(document).ready(function(){initNavTree('classutl_1_1inbuf__dev.html','');});
  71. /* @license-end */
  72. </script>
  73. <div id="doc-content">
  74. <!-- window showing the filter options -->
  75. <div id="MSearchSelectWindow"
  76. onmouseover="return searchBox.OnSearchSelectShow()"
  77. onmouseout="return searchBox.OnSearchSelectHide()"
  78. onkeydown="return searchBox.OnSearchSelectKey(event)">
  79. </div>
  80. <!-- iframe showing the search results (closed by default) -->
  81. <div id="MSearchResultsWindow">
  82. <iframe src="javascript:void(0)" frameborder="0"
  83. name="MSearchResults" id="MSearchResults">
  84. </iframe>
  85. </div>
  86. <div class="header">
  87. <div class="summary">
  88. <a href="#pub-types">Public Types</a> &#124;
  89. <a href="#pri-types">Private Types</a> &#124;
  90. <a href="#pri-methods">Private Member Functions</a> &#124;
  91. <a href="classutl_1_1inbuf__dev-members.html">List of all members</a> </div>
  92. <div class="headertitle">
  93. <div class="title">utl::inbuf_dev&lt; impl_t, data_t, streamsize &gt; Class Template Reference</div> </div>
  94. </div><!--header-->
  95. <div class="contents">
  96. <p>Abstract base class for input buffered devices.
  97. <a href="classutl_1_1inbuf__dev.html#details">More...</a></p>
  98. <p><code>#include &lt;<a class="el" href="inbuf__dev_8h_source.html">inbuf_dev.h</a>&gt;</code></p>
  99. <table class="memberdecls">
  100. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
  101. Public Types</h2></td></tr>
  102. <tr class="memitem:ae429fbf167bbd96b2cc46094f3540b10"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#ae429fbf167bbd96b2cc46094f3540b10">type</a> = <a class="el" href="classutl_1_1inbuf__dev.html#abd832bf35fa1ae0881e8cd86386e5b6b">inbuf_dev_t</a></td></tr>
  103. <tr class="memdesc:ae429fbf167bbd96b2cc46094f3540b10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Export type as identity meta-function. <a href="#ae429fbf167bbd96b2cc46094f3540b10">More...</a><br /></td></tr>
  104. <tr class="separator:ae429fbf167bbd96b2cc46094f3540b10"><td class="memSeparator" colspan="2">&#160;</td></tr>
  105. <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
  106. <tr class="memitem:ae660dce5b5111b0ea4743e32b3d2c3aa"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#ae660dce5b5111b0ea4743e32b3d2c3aa">data_type</a> = data_t</td></tr>
  107. <tr class="separator:ae660dce5b5111b0ea4743e32b3d2c3aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
  108. <tr class="memitem:a345d3b465e9cf57ebe3a8df31b67fec7"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#a345d3b465e9cf57ebe3a8df31b67fec7">pointer_type</a> = data_t *</td></tr>
  109. <tr class="separator:a345d3b465e9cf57ebe3a8df31b67fec7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  110. </table><table class="memberdecls">
  111. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  112. Public Member Functions</h2></td></tr>
  113. <tr><td colspan="2"><div class="groupHeader">Public Get interface</div></td></tr>
  114. <tr class="memitem:aa5b71a9b0c989c4686a053e9d5df9251"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#aa5b71a9b0c989c4686a053e9d5df9251">in_avail</a> ()</td></tr>
  115. <tr class="separator:aa5b71a9b0c989c4686a053e9d5df9251"><td class="memSeparator" colspan="2">&#160;</td></tr>
  116. <tr class="memitem:a7856963b0bb0bf294be53ea20f3564d0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#a7856963b0bb0bf294be53ea20f3564d0">get</a> (data_t &amp;data)</td></tr>
  117. <tr class="memdesc:a7856963b0bb0bf294be53ea20f3564d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The base get interface. This function should read a single data_t object from device usually in non-blocking mode. <a href="#a7856963b0bb0bf294be53ea20f3564d0">More...</a><br /></td></tr>
  118. <tr class="separator:a7856963b0bb0bf294be53ea20f3564d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  119. <tr class="memitem:a9290fbfeebac0d161f800bc1522ea5a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#a9290fbfeebac0d161f800bc1522ea5a6">get</a> (data_t *data, <a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> n)</td></tr>
  120. <tr class="memdesc:a9290fbfeebac0d161f800bc1522ea5a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Old stile get functionality using free standing data_t*. This function should return a stream of data from device. <a href="#a9290fbfeebac0d161f800bc1522ea5a6">More...</a><br /></td></tr>
  121. <tr class="separator:a9290fbfeebac0d161f800bc1522ea5a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  122. <tr><td colspan="2"><div class="groupHeader">Stream operator &gt;&gt; interface</div></td></tr>
  123. <tr class="memitem:aca17fb240dfe221effa5a2092563d185"><td class="memTemplParams" colspan="2">template&lt;typename _Dst_t &gt; </td></tr>
  124. <tr class="memitem:aca17fb240dfe221effa5a2092563d185"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1inbuf__dev.html#abd832bf35fa1ae0881e8cd86386e5b6b">inbuf_dev_t</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#aca17fb240dfe221effa5a2092563d185">operator&gt;&gt;</a> (_Dst_t &amp;dst)</td></tr>
  125. <tr class="memdesc:aca17fb240dfe221effa5a2092563d185"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template operator &gt;&gt; implementation for for all by value/ref parameters. <a href="#aca17fb240dfe221effa5a2092563d185">More...</a><br /></td></tr>
  126. <tr class="separator:aca17fb240dfe221effa5a2092563d185"><td class="memSeparator" colspan="2">&#160;</td></tr>
  127. <tr class="memitem:a48a8160d1dce4542b0b09cff3f6a488b"><td class="memTemplParams" colspan="2">template&lt;typename _Dst_t &gt; </td></tr>
  128. <tr class="memitem:a48a8160d1dce4542b0b09cff3f6a488b"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1inbuf__dev.html#abd832bf35fa1ae0881e8cd86386e5b6b">inbuf_dev_t</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#a48a8160d1dce4542b0b09cff3f6a488b">operator&gt;&gt;</a> (_Dst_t *dst)=delete</td></tr>
  129. <tr class="memdesc:a48a8160d1dce4542b0b09cff3f6a488b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization to disallow pointer types as destination. <a href="#a48a8160d1dce4542b0b09cff3f6a488b">More...</a><br /></td></tr>
  130. <tr class="separator:a48a8160d1dce4542b0b09cff3f6a488b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  131. <tr class="memitem:a6b11ed7628520b4dfe0bd438ccc58197"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1inbuf__dev.html#abd832bf35fa1ae0881e8cd86386e5b6b">inbuf_dev_t</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#a6b11ed7628520b4dfe0bd438ccc58197">operator&gt;&gt;</a> (data_t &amp;dst)</td></tr>
  132. <tr class="memdesc:a6b11ed7628520b4dfe0bd438ccc58197"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overload for single data_t object. <a href="#a6b11ed7628520b4dfe0bd438ccc58197">More...</a><br /></td></tr>
  133. <tr class="separator:a6b11ed7628520b4dfe0bd438ccc58197"><td class="memSeparator" colspan="2">&#160;</td></tr>
  134. <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
  135. <tr class="memitem:aea05a40b3c8966d1dd3978b40e0c6ac8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1inbuf__dev.html#a0c0827ae69fac778cec3abb179bfc0f3">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#aea05a40b3c8966d1dd3978b40e0c6ac8">end</a> () noexcept</td></tr>
  136. <tr class="separator:aea05a40b3c8966d1dd3978b40e0c6ac8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  137. <tr class="memitem:aa862f748551da0bd92341f8f125b8aa3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1inbuf__dev.html#a173c37503cdd40e7ac1be25759553c24">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#aa862f748551da0bd92341f8f125b8aa3">end</a> () const noexcept</td></tr>
  138. <tr class="separator:aa862f748551da0bd92341f8f125b8aa3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  139. <tr class="memitem:a4b51121e0ecc1d43fd3fe7d05bb6fa56"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1inbuf__dev.html#a173c37503cdd40e7ac1be25759553c24">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#a4b51121e0ecc1d43fd3fe7d05bb6fa56">cend</a> () const noexcept</td></tr>
  140. <tr class="separator:a4b51121e0ecc1d43fd3fe7d05bb6fa56"><td class="memSeparator" colspan="2">&#160;</td></tr>
  141. </table><table class="memberdecls">
  142. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
  143. Protected Member Functions</h2></td></tr>
  144. <tr><td colspan="2"><div class="groupHeader">Constructor / Destructor</div></td></tr>
  145. <tr class="memitem:a55763f1c3ba5610404df70bda1abe75b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#a55763f1c3ba5610404df70bda1abe75b">~inbuf_dev</a> ()=default</td></tr>
  146. <tr class="memdesc:a55763f1c3ba5610404df70bda1abe75b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow destructor from derived only. <a href="#a55763f1c3ba5610404df70bda1abe75b">More...</a><br /></td></tr>
  147. <tr class="separator:a55763f1c3ba5610404df70bda1abe75b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  148. <tr class="memitem:a9bc1f15ed57132539749d390d5bb03b9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#a9bc1f15ed57132539749d390d5bb03b9">inbuf_dev</a> ()=default</td></tr>
  149. <tr class="memdesc:a9bc1f15ed57132539749d390d5bb03b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">A default constructor from derived only. <a href="#a9bc1f15ed57132539749d390d5bb03b9">More...</a><br /></td></tr>
  150. <tr class="separator:a9bc1f15ed57132539749d390d5bb03b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  151. <tr class="memitem:a0fe7d9f726d8a0f2b23df6d9520b58ed"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#a0fe7d9f726d8a0f2b23df6d9520b58ed">inbuf_dev</a> (const <a class="el" href="classutl_1_1inbuf__dev.html#abd832bf35fa1ae0881e8cd86386e5b6b">inbuf_dev_t</a> &amp;)=delete</td></tr>
  152. <tr class="memdesc:a0fe7d9f726d8a0f2b23df6d9520b58ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">No copies. <a href="#a0fe7d9f726d8a0f2b23df6d9520b58ed">More...</a><br /></td></tr>
  153. <tr class="separator:a0fe7d9f726d8a0f2b23df6d9520b58ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
  154. <tr class="memitem:a7aaf5bc892d6247cb6bb547cf331704c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1inbuf__dev.html#abd832bf35fa1ae0881e8cd86386e5b6b">inbuf_dev_t</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#a7aaf5bc892d6247cb6bb547cf331704c">operator=</a> (const <a class="el" href="classutl_1_1inbuf__dev.html#abd832bf35fa1ae0881e8cd86386e5b6b">inbuf_dev_t</a> &amp;)=delete</td></tr>
  155. <tr class="separator:a7aaf5bc892d6247cb6bb547cf331704c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  156. </table><table class="memberdecls">
  157. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-types"></a>
  158. Private Types</h2></td></tr>
  159. <tr class="memitem:abd832bf35fa1ae0881e8cd86386e5b6b"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#abd832bf35fa1ae0881e8cd86386e5b6b">inbuf_dev_t</a> = <a class="el" href="classutl_1_1inbuf__dev.html">inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;</td></tr>
  160. <tr class="memdesc:abd832bf35fa1ae0881e8cd86386e5b6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">class type syntactic sugar <a href="#abd832bf35fa1ae0881e8cd86386e5b6b">More...</a><br /></td></tr>
  161. <tr class="separator:abd832bf35fa1ae0881e8cd86386e5b6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  162. </table><table class="memberdecls">
  163. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
  164. Private Member Functions</h2></td></tr>
  165. <tr class="memitem:a6fe2f35813f2b4e94d8d21a4403c8221"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#a6fe2f35813f2b4e94d8d21a4403c8221">_CRTP_IMPL</a> (impl_t)</td></tr>
  166. <tr class="separator:a6fe2f35813f2b4e94d8d21a4403c8221"><td class="memSeparator" colspan="2">&#160;</td></tr>
  167. <tr><td colspan="2"><div class="groupHeader">Common input device interface requirements</div></td></tr>
  168. <tr class="memitem:ac7af0c7df9eee2bcf02579b0fd1d8dea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#ac7af0c7df9eee2bcf02579b0fd1d8dea">in_avail_</a> ()</td></tr>
  169. <tr class="separator:ac7af0c7df9eee2bcf02579b0fd1d8dea"><td class="memSeparator" colspan="2">&#160;</td></tr>
  170. <tr class="memitem:ab2be58702c31d59e02683d5ff43c9dd6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#ab2be58702c31d59e02683d5ff43c9dd6">get_</a> (data_t &amp;data)</td></tr>
  171. <tr class="separator:ab2be58702c31d59e02683d5ff43c9dd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  172. <tr class="memitem:a2f835b56beec0efc5d1cd2088e6a40cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#a2f835b56beec0efc5d1cd2088e6a40cb">get_</a> (data_t *data, <a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> n)</td></tr>
  173. <tr class="separator:a2f835b56beec0efc5d1cd2088e6a40cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  174. </table><table class="memberdecls">
  175. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
  176. STL-like Input iterator interface</h2></td></tr>
  177. <tr class="memitem:a0c0827ae69fac778cec3abb179bfc0f3"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#a0c0827ae69fac778cec3abb179bfc0f3">iterator</a> = <a class="el" href="classutl_1_1indev__it.html">indev_it</a>&lt; <a class="el" href="classutl_1_1inbuf__dev.html#abd832bf35fa1ae0881e8cd86386e5b6b">inbuf_dev_t</a>, data_t *, streamsize &gt;</td></tr>
  178. <tr class="memdesc:a0c0827ae69fac778cec3abb179bfc0f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterator. <a href="#a0c0827ae69fac778cec3abb179bfc0f3">More...</a><br /></td></tr>
  179. <tr class="separator:a0c0827ae69fac778cec3abb179bfc0f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  180. <tr class="memitem:a173c37503cdd40e7ac1be25759553c24"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#a173c37503cdd40e7ac1be25759553c24">const_iterator</a> = <a class="el" href="classutl_1_1indev__it.html">indev_it</a>&lt; <a class="el" href="classutl_1_1inbuf__dev.html#abd832bf35fa1ae0881e8cd86386e5b6b">inbuf_dev_t</a>, const data_t *, streamsize &gt;</td></tr>
  181. <tr class="memdesc:a173c37503cdd40e7ac1be25759553c24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Const iterator. <a href="#a173c37503cdd40e7ac1be25759553c24">More...</a><br /></td></tr>
  182. <tr class="separator:a173c37503cdd40e7ac1be25759553c24"><td class="memSeparator" colspan="2">&#160;</td></tr>
  183. <tr class="memitem:a0b7b02345e2306dc9f62a75029de71fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1inbuf__dev.html#a0c0827ae69fac778cec3abb179bfc0f3">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#a0b7b02345e2306dc9f62a75029de71fb">begin</a> () noexcept</td></tr>
  184. <tr class="memdesc:a0b7b02345e2306dc9f62a75029de71fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">.begin implementation <a href="#a0b7b02345e2306dc9f62a75029de71fb">More...</a><br /></td></tr>
  185. <tr class="separator:a0b7b02345e2306dc9f62a75029de71fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  186. <tr class="memitem:acf6f21857302843661cdbbbeea61f05b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1inbuf__dev.html#a173c37503cdd40e7ac1be25759553c24">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#acf6f21857302843661cdbbbeea61f05b">begin</a> () const noexcept</td></tr>
  187. <tr class="separator:acf6f21857302843661cdbbbeea61f05b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  188. <tr class="memitem:a3c24ad3be57e15019e3fbd579e5fccb3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1inbuf__dev.html#a173c37503cdd40e7ac1be25759553c24">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1inbuf__dev.html#a3c24ad3be57e15019e3fbd579e5fccb3">cbegin</a> () const noexcept</td></tr>
  189. <tr class="separator:a3c24ad3be57e15019e3fbd579e5fccb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  190. </table>
  191. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  192. <div class="textblock"><h3>template&lt;typename impl_t, typename data_t, size_t streamsize = 0&gt;<br />
  193. class utl::inbuf_dev&lt; impl_t, data_t, streamsize &gt;</h3>
  194. <p>Abstract base class for input buffered devices. </p>
  195. <p>Template base class for buffered input buffered devices. using CRTP</p>
  196. <p>This class force a common interface for input, buffered devices. By using this common interface the class implements</p><ul>
  197. <li>Stream-like extracting operator</li>
  198. <li>Input iterator</li>
  199. <li>Const input iterator to inherit to implementation.</li>
  200. </ul>
  201. <dl class="params"><dt>Parameters</dt><dd>
  202. <table class="params">
  203. <tr><td class="paramname">impl_t</td><td>The CRTP type (the derived/implementation class typename). </td></tr>
  204. <tr><td class="paramname">data_t</td><td>The devices base type of data </td></tr>
  205. <tr><td class="paramname">streamsize</td><td>The number of elements to indicate eos. <ul>
  206. <li>None or 0 Stream only. No iterator as <a class="el" href="classutl_1_1inbuf__dev.html#a0b7b02345e2306dc9f62a75029de71fb" title=".begin implementation ">begin()</a> now equals <a class="el" href="classutl_1_1inbuf__dev.html#aea05a40b3c8966d1dd3978b40e0c6ac8">end()</a>. </li>
  207. </ul>
  208. </td></tr>
  209. </table>
  210. </dd>
  211. </dl>
  212. <p class="definition">Definition at line <a class="el" href="inbuf__dev_8h_source.html#l00055">55</a> of file <a class="el" href="inbuf__dev_8h_source.html">inbuf_dev.h</a>.</p>
  213. </div><h2 class="groupheader">Member Typedef Documentation</h2>
  214. <a id="a173c37503cdd40e7ac1be25759553c24"></a>
  215. <h2 class="memtitle"><span class="permalink"><a href="#a173c37503cdd40e7ac1be25759553c24">&#9670;&nbsp;</a></span>const_iterator</h2>
  216. <div class="memitem">
  217. <div class="memproto">
  218. <div class="memtemplate">
  219. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  220. <table class="memname">
  221. <tr>
  222. <td class="memname">using <a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::<a class="el" href="classutl_1_1inbuf__dev.html#a173c37503cdd40e7ac1be25759553c24">const_iterator</a> = <a class="el" href="classutl_1_1indev__it.html">indev_it</a> &lt;<a class="el" href="classutl_1_1inbuf__dev.html#abd832bf35fa1ae0881e8cd86386e5b6b">inbuf_dev_t</a>, const data_t*, streamsize&gt;</td>
  223. </tr>
  224. </table>
  225. </div><div class="memdoc">
  226. <p>Const iterator. </p>
  227. <p class="definition">Definition at line <a class="el" href="inbuf__dev_8h_source.html#l00162">162</a> of file <a class="el" href="inbuf__dev_8h_source.html">inbuf_dev.h</a>.</p>
  228. </div>
  229. </div>
  230. <a id="ae660dce5b5111b0ea4743e32b3d2c3aa"></a>
  231. <h2 class="memtitle"><span class="permalink"><a href="#ae660dce5b5111b0ea4743e32b3d2c3aa">&#9670;&nbsp;</a></span>data_type</h2>
  232. <div class="memitem">
  233. <div class="memproto">
  234. <div class="memtemplate">
  235. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  236. <table class="memname">
  237. <tr>
  238. <td class="memname">using <a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::<a class="el" href="classutl_1_1inbuf__dev.html#ae660dce5b5111b0ea4743e32b3d2c3aa">data_type</a> = data_t</td>
  239. </tr>
  240. </table>
  241. </div><div class="memdoc">
  242. <p>Export types as input device concept demands </p>
  243. <p class="definition">Definition at line <a class="el" href="inbuf__dev_8h_source.html#l00062">62</a> of file <a class="el" href="inbuf__dev_8h_source.html">inbuf_dev.h</a>.</p>
  244. </div>
  245. </div>
  246. <a id="abd832bf35fa1ae0881e8cd86386e5b6b"></a>
  247. <h2 class="memtitle"><span class="permalink"><a href="#abd832bf35fa1ae0881e8cd86386e5b6b">&#9670;&nbsp;</a></span>inbuf_dev_t</h2>
  248. <div class="memitem">
  249. <div class="memproto">
  250. <div class="memtemplate">
  251. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  252. <table class="mlabels">
  253. <tr>
  254. <td class="mlabels-left">
  255. <table class="memname">
  256. <tr>
  257. <td class="memname">using <a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::<a class="el" href="classutl_1_1inbuf__dev.html#abd832bf35fa1ae0881e8cd86386e5b6b">inbuf_dev_t</a> = <a class="el" href="classutl_1_1inbuf__dev.html">inbuf_dev</a> &lt;impl_t, data_t, streamsize&gt;</td>
  258. </tr>
  259. </table>
  260. </td>
  261. <td class="mlabels-right">
  262. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  263. </tr>
  264. </table>
  265. </div><div class="memdoc">
  266. <p>class type syntactic sugar </p>
  267. <p class="definition">Definition at line <a class="el" href="inbuf__dev_8h_source.html#l00057">57</a> of file <a class="el" href="inbuf__dev_8h_source.html">inbuf_dev.h</a>.</p>
  268. </div>
  269. </div>
  270. <a id="a0c0827ae69fac778cec3abb179bfc0f3"></a>
  271. <h2 class="memtitle"><span class="permalink"><a href="#a0c0827ae69fac778cec3abb179bfc0f3">&#9670;&nbsp;</a></span>iterator</h2>
  272. <div class="memitem">
  273. <div class="memproto">
  274. <div class="memtemplate">
  275. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  276. <table class="memname">
  277. <tr>
  278. <td class="memname">using <a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::<a class="el" href="classutl_1_1inbuf__dev.html#a0c0827ae69fac778cec3abb179bfc0f3">iterator</a> = <a class="el" href="classutl_1_1indev__it.html">indev_it</a> &lt;<a class="el" href="classutl_1_1inbuf__dev.html#abd832bf35fa1ae0881e8cd86386e5b6b">inbuf_dev_t</a>, data_t*, streamsize&gt;</td>
  279. </tr>
  280. </table>
  281. </div><div class="memdoc">
  282. <p>Iterator. </p>
  283. <p class="definition">Definition at line <a class="el" href="inbuf__dev_8h_source.html#l00161">161</a> of file <a class="el" href="inbuf__dev_8h_source.html">inbuf_dev.h</a>.</p>
  284. </div>
  285. </div>
  286. <a id="a345d3b465e9cf57ebe3a8df31b67fec7"></a>
  287. <h2 class="memtitle"><span class="permalink"><a href="#a345d3b465e9cf57ebe3a8df31b67fec7">&#9670;&nbsp;</a></span>pointer_type</h2>
  288. <div class="memitem">
  289. <div class="memproto">
  290. <div class="memtemplate">
  291. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  292. <table class="memname">
  293. <tr>
  294. <td class="memname">using <a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::<a class="el" href="classutl_1_1inbuf__dev.html#a345d3b465e9cf57ebe3a8df31b67fec7">pointer_type</a> = data_t*</td>
  295. </tr>
  296. </table>
  297. </div><div class="memdoc">
  298. <p class="definition">Definition at line <a class="el" href="inbuf__dev_8h_source.html#l00063">63</a> of file <a class="el" href="inbuf__dev_8h_source.html">inbuf_dev.h</a>.</p>
  299. </div>
  300. </div>
  301. <a id="ae429fbf167bbd96b2cc46094f3540b10"></a>
  302. <h2 class="memtitle"><span class="permalink"><a href="#ae429fbf167bbd96b2cc46094f3540b10">&#9670;&nbsp;</a></span>type</h2>
  303. <div class="memitem">
  304. <div class="memproto">
  305. <div class="memtemplate">
  306. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  307. <table class="memname">
  308. <tr>
  309. <td class="memname">using <a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::<a class="el" href="classutl_1_1inbuf__dev.html#ae429fbf167bbd96b2cc46094f3540b10">type</a> = <a class="el" href="classutl_1_1inbuf__dev.html#abd832bf35fa1ae0881e8cd86386e5b6b">inbuf_dev_t</a></td>
  310. </tr>
  311. </table>
  312. </div><div class="memdoc">
  313. <p>Export type as identity meta-function. </p>
  314. <p class="definition">Definition at line <a class="el" href="inbuf__dev_8h_source.html#l00065">65</a> of file <a class="el" href="inbuf__dev_8h_source.html">inbuf_dev.h</a>.</p>
  315. </div>
  316. </div>
  317. <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
  318. <a id="a55763f1c3ba5610404df70bda1abe75b"></a>
  319. <h2 class="memtitle"><span class="permalink"><a href="#a55763f1c3ba5610404df70bda1abe75b">&#9670;&nbsp;</a></span>~inbuf_dev()</h2>
  320. <div class="memitem">
  321. <div class="memproto">
  322. <div class="memtemplate">
  323. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  324. <table class="mlabels">
  325. <tr>
  326. <td class="mlabels-left">
  327. <table class="memname">
  328. <tr>
  329. <td class="memname"><a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::~<a class="el" href="classutl_1_1inbuf__dev.html">inbuf_dev</a> </td>
  330. <td>(</td>
  331. <td class="paramname"></td><td>)</td>
  332. <td></td>
  333. </tr>
  334. </table>
  335. </td>
  336. <td class="mlabels-right">
  337. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">default</span></span> </td>
  338. </tr>
  339. </table>
  340. </div><div class="memdoc">
  341. <p>Allow destructor from derived only. </p>
  342. </div>
  343. </div>
  344. <a id="a9bc1f15ed57132539749d390d5bb03b9"></a>
  345. <h2 class="memtitle"><span class="permalink"><a href="#a9bc1f15ed57132539749d390d5bb03b9">&#9670;&nbsp;</a></span>inbuf_dev() <span class="overload">[1/2]</span></h2>
  346. <div class="memitem">
  347. <div class="memproto">
  348. <div class="memtemplate">
  349. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  350. <table class="mlabels">
  351. <tr>
  352. <td class="mlabels-left">
  353. <table class="memname">
  354. <tr>
  355. <td class="memname"><a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::<a class="el" href="classutl_1_1inbuf__dev.html">inbuf_dev</a> </td>
  356. <td>(</td>
  357. <td class="paramname"></td><td>)</td>
  358. <td></td>
  359. </tr>
  360. </table>
  361. </td>
  362. <td class="mlabels-right">
  363. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">default</span></span> </td>
  364. </tr>
  365. </table>
  366. </div><div class="memdoc">
  367. <p>A default constructor from derived only. </p>
  368. </div>
  369. </div>
  370. <a id="a0fe7d9f726d8a0f2b23df6d9520b58ed"></a>
  371. <h2 class="memtitle"><span class="permalink"><a href="#a0fe7d9f726d8a0f2b23df6d9520b58ed">&#9670;&nbsp;</a></span>inbuf_dev() <span class="overload">[2/2]</span></h2>
  372. <div class="memitem">
  373. <div class="memproto">
  374. <div class="memtemplate">
  375. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  376. <table class="mlabels">
  377. <tr>
  378. <td class="mlabels-left">
  379. <table class="memname">
  380. <tr>
  381. <td class="memname"><a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::<a class="el" href="classutl_1_1inbuf__dev.html">inbuf_dev</a> </td>
  382. <td>(</td>
  383. <td class="paramtype">const <a class="el" href="classutl_1_1inbuf__dev.html#abd832bf35fa1ae0881e8cd86386e5b6b">inbuf_dev_t</a> &amp;&#160;</td>
  384. <td class="paramname"></td><td>)</td>
  385. <td></td>
  386. </tr>
  387. </table>
  388. </td>
  389. <td class="mlabels-right">
  390. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">delete</span></span> </td>
  391. </tr>
  392. </table>
  393. </div><div class="memdoc">
  394. <p>No copies. </p>
  395. </div>
  396. </div>
  397. <h2 class="groupheader">Member Function Documentation</h2>
  398. <a id="a6fe2f35813f2b4e94d8d21a4403c8221"></a>
  399. <h2 class="memtitle"><span class="permalink"><a href="#a6fe2f35813f2b4e94d8d21a4403c8221">&#9670;&nbsp;</a></span>_CRTP_IMPL()</h2>
  400. <div class="memitem">
  401. <div class="memproto">
  402. <div class="memtemplate">
  403. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  404. <table class="mlabels">
  405. <tr>
  406. <td class="mlabels-left">
  407. <table class="memname">
  408. <tr>
  409. <td class="memname"><a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::_CRTP_IMPL </td>
  410. <td>(</td>
  411. <td class="paramtype">impl_t&#160;</td>
  412. <td class="paramname"></td><td>)</td>
  413. <td></td>
  414. </tr>
  415. </table>
  416. </td>
  417. <td class="mlabels-right">
  418. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  419. </tr>
  420. </table>
  421. </div><div class="memdoc">
  422. </div>
  423. </div>
  424. <a id="a0b7b02345e2306dc9f62a75029de71fb"></a>
  425. <h2 class="memtitle"><span class="permalink"><a href="#a0b7b02345e2306dc9f62a75029de71fb">&#9670;&nbsp;</a></span>begin() <span class="overload">[1/2]</span></h2>
  426. <div class="memitem">
  427. <div class="memproto">
  428. <div class="memtemplate">
  429. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  430. <table class="mlabels">
  431. <tr>
  432. <td class="mlabels-left">
  433. <table class="memname">
  434. <tr>
  435. <td class="memname"><a class="el" href="classutl_1_1inbuf__dev.html#a0c0827ae69fac778cec3abb179bfc0f3">iterator</a> <a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::begin </td>
  436. <td>(</td>
  437. <td class="paramname"></td><td>)</td>
  438. <td></td>
  439. </tr>
  440. </table>
  441. </td>
  442. <td class="mlabels-right">
  443. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  444. </tr>
  445. </table>
  446. </div><div class="memdoc">
  447. <p>.begin implementation </p>
  448. <p class="definition">Definition at line <a class="el" href="inbuf__dev_8h_source.html#l00165">165</a> of file <a class="el" href="inbuf__dev_8h_source.html">inbuf_dev.h</a>.</p>
  449. </div>
  450. </div>
  451. <a id="acf6f21857302843661cdbbbeea61f05b"></a>
  452. <h2 class="memtitle"><span class="permalink"><a href="#acf6f21857302843661cdbbbeea61f05b">&#9670;&nbsp;</a></span>begin() <span class="overload">[2/2]</span></h2>
  453. <div class="memitem">
  454. <div class="memproto">
  455. <div class="memtemplate">
  456. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  457. <table class="mlabels">
  458. <tr>
  459. <td class="mlabels-left">
  460. <table class="memname">
  461. <tr>
  462. <td class="memname"><a class="el" href="classutl_1_1inbuf__dev.html#a173c37503cdd40e7ac1be25759553c24">const_iterator</a> <a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::begin </td>
  463. <td>(</td>
  464. <td class="paramname"></td><td>)</td>
  465. <td> const</td>
  466. </tr>
  467. </table>
  468. </td>
  469. <td class="mlabels-right">
  470. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  471. </tr>
  472. </table>
  473. </div><div class="memdoc">
  474. <p class="definition">Definition at line <a class="el" href="inbuf__dev_8h_source.html#l00166">166</a> of file <a class="el" href="inbuf__dev_8h_source.html">inbuf_dev.h</a>.</p>
  475. </div>
  476. </div>
  477. <a id="a3c24ad3be57e15019e3fbd579e5fccb3"></a>
  478. <h2 class="memtitle"><span class="permalink"><a href="#a3c24ad3be57e15019e3fbd579e5fccb3">&#9670;&nbsp;</a></span>cbegin()</h2>
  479. <div class="memitem">
  480. <div class="memproto">
  481. <div class="memtemplate">
  482. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  483. <table class="mlabels">
  484. <tr>
  485. <td class="mlabels-left">
  486. <table class="memname">
  487. <tr>
  488. <td class="memname"><a class="el" href="classutl_1_1inbuf__dev.html#a173c37503cdd40e7ac1be25759553c24">const_iterator</a> <a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::cbegin </td>
  489. <td>(</td>
  490. <td class="paramname"></td><td>)</td>
  491. <td> const</td>
  492. </tr>
  493. </table>
  494. </td>
  495. <td class="mlabels-right">
  496. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  497. </tr>
  498. </table>
  499. </div><div class="memdoc">
  500. <p class="definition">Definition at line <a class="el" href="inbuf__dev_8h_source.html#l00167">167</a> of file <a class="el" href="inbuf__dev_8h_source.html">inbuf_dev.h</a>.</p>
  501. </div>
  502. </div>
  503. <a id="a4b51121e0ecc1d43fd3fe7d05bb6fa56"></a>
  504. <h2 class="memtitle"><span class="permalink"><a href="#a4b51121e0ecc1d43fd3fe7d05bb6fa56">&#9670;&nbsp;</a></span>cend()</h2>
  505. <div class="memitem">
  506. <div class="memproto">
  507. <div class="memtemplate">
  508. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  509. <table class="mlabels">
  510. <tr>
  511. <td class="mlabels-left">
  512. <table class="memname">
  513. <tr>
  514. <td class="memname"><a class="el" href="classutl_1_1inbuf__dev.html#a173c37503cdd40e7ac1be25759553c24">const_iterator</a> <a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::cend </td>
  515. <td>(</td>
  516. <td class="paramname"></td><td>)</td>
  517. <td> const</td>
  518. </tr>
  519. </table>
  520. </td>
  521. <td class="mlabels-right">
  522. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  523. </tr>
  524. </table>
  525. </div><div class="memdoc">
  526. <p class="definition">Definition at line <a class="el" href="inbuf__dev_8h_source.html#l00172">172</a> of file <a class="el" href="inbuf__dev_8h_source.html">inbuf_dev.h</a>.</p>
  527. </div>
  528. </div>
  529. <a id="aea05a40b3c8966d1dd3978b40e0c6ac8"></a>
  530. <h2 class="memtitle"><span class="permalink"><a href="#aea05a40b3c8966d1dd3978b40e0c6ac8">&#9670;&nbsp;</a></span>end() <span class="overload">[1/2]</span></h2>
  531. <div class="memitem">
  532. <div class="memproto">
  533. <div class="memtemplate">
  534. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  535. <table class="mlabels">
  536. <tr>
  537. <td class="mlabels-left">
  538. <table class="memname">
  539. <tr>
  540. <td class="memname"><a class="el" href="classutl_1_1inbuf__dev.html#a0c0827ae69fac778cec3abb179bfc0f3">iterator</a> <a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::end </td>
  541. <td>(</td>
  542. <td class="paramname"></td><td>)</td>
  543. <td></td>
  544. </tr>
  545. </table>
  546. </td>
  547. <td class="mlabels-right">
  548. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  549. </tr>
  550. </table>
  551. </div><div class="memdoc">
  552. <p>.end implementation </p>
  553. <p class="definition">Definition at line <a class="el" href="inbuf__dev_8h_source.html#l00170">170</a> of file <a class="el" href="inbuf__dev_8h_source.html">inbuf_dev.h</a>.</p>
  554. </div>
  555. </div>
  556. <a id="aa862f748551da0bd92341f8f125b8aa3"></a>
  557. <h2 class="memtitle"><span class="permalink"><a href="#aa862f748551da0bd92341f8f125b8aa3">&#9670;&nbsp;</a></span>end() <span class="overload">[2/2]</span></h2>
  558. <div class="memitem">
  559. <div class="memproto">
  560. <div class="memtemplate">
  561. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  562. <table class="mlabels">
  563. <tr>
  564. <td class="mlabels-left">
  565. <table class="memname">
  566. <tr>
  567. <td class="memname"><a class="el" href="classutl_1_1inbuf__dev.html#a173c37503cdd40e7ac1be25759553c24">const_iterator</a> <a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::end </td>
  568. <td>(</td>
  569. <td class="paramname"></td><td>)</td>
  570. <td> const</td>
  571. </tr>
  572. </table>
  573. </td>
  574. <td class="mlabels-right">
  575. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  576. </tr>
  577. </table>
  578. </div><div class="memdoc">
  579. <p class="definition">Definition at line <a class="el" href="inbuf__dev_8h_source.html#l00171">171</a> of file <a class="el" href="inbuf__dev_8h_source.html">inbuf_dev.h</a>.</p>
  580. </div>
  581. </div>
  582. <a id="a7856963b0bb0bf294be53ea20f3564d0"></a>
  583. <h2 class="memtitle"><span class="permalink"><a href="#a7856963b0bb0bf294be53ea20f3564d0">&#9670;&nbsp;</a></span>get() <span class="overload">[1/2]</span></h2>
  584. <div class="memitem">
  585. <div class="memproto">
  586. <div class="memtemplate">
  587. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  588. <table class="mlabels">
  589. <tr>
  590. <td class="mlabels-left">
  591. <table class="memname">
  592. <tr>
  593. <td class="memname"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> <a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::get </td>
  594. <td>(</td>
  595. <td class="paramtype">data_t &amp;&#160;</td>
  596. <td class="paramname"><em>data</em></td><td>)</td>
  597. <td></td>
  598. </tr>
  599. </table>
  600. </td>
  601. <td class="mlabels-right">
  602. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  603. </tr>
  604. </table>
  605. </div><div class="memdoc">
  606. <p>The base get interface. This function should read a single data_t object from device usually in non-blocking mode. </p>
  607. <dl class="params"><dt>Parameters</dt><dd>
  608. <table class="params">
  609. <tr><td class="paramname">data</td><td>Reference to data output from device. </td></tr>
  610. </table>
  611. </dd>
  612. </dl>
  613. <dl class="section return"><dt>Returns</dt><dd>Number of data read from device </dd></dl>
  614. <dl class="section note"><dt>Note</dt><dd>A successful call should return 1 </dd></dl>
  615. <p class="definition">Definition at line <a class="el" href="inbuf__dev_8h_source.html#l00108">108</a> of file <a class="el" href="inbuf__dev_8h_source.html">inbuf_dev.h</a>.</p>
  616. </div>
  617. </div>
  618. <a id="a9290fbfeebac0d161f800bc1522ea5a6"></a>
  619. <h2 class="memtitle"><span class="permalink"><a href="#a9290fbfeebac0d161f800bc1522ea5a6">&#9670;&nbsp;</a></span>get() <span class="overload">[2/2]</span></h2>
  620. <div class="memitem">
  621. <div class="memproto">
  622. <div class="memtemplate">
  623. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  624. <table class="mlabels">
  625. <tr>
  626. <td class="mlabels-left">
  627. <table class="memname">
  628. <tr>
  629. <td class="memname"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> <a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::get </td>
  630. <td>(</td>
  631. <td class="paramtype">data_t *&#160;</td>
  632. <td class="paramname"><em>data</em>, </td>
  633. </tr>
  634. <tr>
  635. <td class="paramkey"></td>
  636. <td></td>
  637. <td class="paramtype"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a>&#160;</td>
  638. <td class="paramname"><em>n</em>&#160;</td>
  639. </tr>
  640. <tr>
  641. <td></td>
  642. <td>)</td>
  643. <td></td><td></td>
  644. </tr>
  645. </table>
  646. </td>
  647. <td class="mlabels-right">
  648. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  649. </tr>
  650. </table>
  651. </div><div class="memdoc">
  652. <p>Old stile get functionality using free standing data_t*. This function should return a stream of data from device. </p>
  653. <dl class="params"><dt>Parameters</dt><dd>
  654. <table class="params">
  655. <tr><td class="paramname">data</td><td>Pointer to buffer to write the data from device. </td></tr>
  656. <tr><td class="paramname">n</td><td>The number of data of type data_t to read </td></tr>
  657. </table>
  658. </dd>
  659. </dl>
  660. <dl class="section return"><dt>Returns</dt><dd>The read data items. </dd></dl>
  661. <p class="definition">Definition at line <a class="el" href="inbuf__dev_8h_source.html#l00120">120</a> of file <a class="el" href="inbuf__dev_8h_source.html">inbuf_dev.h</a>.</p>
  662. </div>
  663. </div>
  664. <a id="ab2be58702c31d59e02683d5ff43c9dd6"></a>
  665. <h2 class="memtitle"><span class="permalink"><a href="#ab2be58702c31d59e02683d5ff43c9dd6">&#9670;&nbsp;</a></span>get_() <span class="overload">[1/2]</span></h2>
  666. <div class="memitem">
  667. <div class="memproto">
  668. <div class="memtemplate">
  669. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  670. <table class="mlabels">
  671. <tr>
  672. <td class="mlabels-left">
  673. <table class="memname">
  674. <tr>
  675. <td class="memname"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> <a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::get_ </td>
  676. <td>(</td>
  677. <td class="paramtype">data_t &amp;&#160;</td>
  678. <td class="paramname"><em>data</em></td><td>)</td>
  679. <td></td>
  680. </tr>
  681. </table>
  682. </td>
  683. <td class="mlabels-right">
  684. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
  685. </tr>
  686. </table>
  687. </div><div class="memdoc">
  688. <p class="definition">Definition at line <a class="el" href="inbuf__dev_8h_source.html#l00082">82</a> of file <a class="el" href="inbuf__dev_8h_source.html">inbuf_dev.h</a>.</p>
  689. </div>
  690. </div>
  691. <a id="a2f835b56beec0efc5d1cd2088e6a40cb"></a>
  692. <h2 class="memtitle"><span class="permalink"><a href="#a2f835b56beec0efc5d1cd2088e6a40cb">&#9670;&nbsp;</a></span>get_() <span class="overload">[2/2]</span></h2>
  693. <div class="memitem">
  694. <div class="memproto">
  695. <div class="memtemplate">
  696. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  697. <table class="mlabels">
  698. <tr>
  699. <td class="mlabels-left">
  700. <table class="memname">
  701. <tr>
  702. <td class="memname"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> <a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::get_ </td>
  703. <td>(</td>
  704. <td class="paramtype">data_t *&#160;</td>
  705. <td class="paramname"><em>data</em>, </td>
  706. </tr>
  707. <tr>
  708. <td class="paramkey"></td>
  709. <td></td>
  710. <td class="paramtype"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a>&#160;</td>
  711. <td class="paramname"><em>n</em>&#160;</td>
  712. </tr>
  713. <tr>
  714. <td></td>
  715. <td>)</td>
  716. <td></td><td></td>
  717. </tr>
  718. </table>
  719. </td>
  720. <td class="mlabels-right">
  721. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
  722. </tr>
  723. </table>
  724. </div><div class="memdoc">
  725. <p class="definition">Definition at line <a class="el" href="inbuf__dev_8h_source.html#l00083">83</a> of file <a class="el" href="inbuf__dev_8h_source.html">inbuf_dev.h</a>.</p>
  726. </div>
  727. </div>
  728. <a id="aa5b71a9b0c989c4686a053e9d5df9251"></a>
  729. <h2 class="memtitle"><span class="permalink"><a href="#aa5b71a9b0c989c4686a053e9d5df9251">&#9670;&nbsp;</a></span>in_avail()</h2>
  730. <div class="memitem">
  731. <div class="memproto">
  732. <div class="memtemplate">
  733. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  734. <table class="mlabels">
  735. <tr>
  736. <td class="mlabels-left">
  737. <table class="memname">
  738. <tr>
  739. <td class="memname"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> <a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::in_avail </td>
  740. <td>(</td>
  741. <td class="paramname"></td><td>)</td>
  742. <td></td>
  743. </tr>
  744. </table>
  745. </td>
  746. <td class="mlabels-right">
  747. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  748. </tr>
  749. </table>
  750. </div><div class="memdoc">
  751. <dl class="section return"><dt>Returns</dt><dd>The available <em>data_t</em> typed items in input buffer. </dd></dl>
  752. <p class="definition">Definition at line <a class="el" href="inbuf__dev_8h_source.html#l00095">95</a> of file <a class="el" href="inbuf__dev_8h_source.html">inbuf_dev.h</a>.</p>
  753. </div>
  754. </div>
  755. <a id="ac7af0c7df9eee2bcf02579b0fd1d8dea"></a>
  756. <h2 class="memtitle"><span class="permalink"><a href="#ac7af0c7df9eee2bcf02579b0fd1d8dea">&#9670;&nbsp;</a></span>in_avail_()</h2>
  757. <div class="memitem">
  758. <div class="memproto">
  759. <div class="memtemplate">
  760. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  761. <table class="mlabels">
  762. <tr>
  763. <td class="mlabels-left">
  764. <table class="memname">
  765. <tr>
  766. <td class="memname"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> <a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::in_avail_ </td>
  767. <td>(</td>
  768. <td class="paramname"></td><td>)</td>
  769. <td></td>
  770. </tr>
  771. </table>
  772. </td>
  773. <td class="mlabels-right">
  774. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
  775. </tr>
  776. </table>
  777. </div><div class="memdoc">
  778. <p class="definition">Definition at line <a class="el" href="inbuf__dev_8h_source.html#l00081">81</a> of file <a class="el" href="inbuf__dev_8h_source.html">inbuf_dev.h</a>.</p>
  779. </div>
  780. </div>
  781. <a id="a7aaf5bc892d6247cb6bb547cf331704c"></a>
  782. <h2 class="memtitle"><span class="permalink"><a href="#a7aaf5bc892d6247cb6bb547cf331704c">&#9670;&nbsp;</a></span>operator=()</h2>
  783. <div class="memitem">
  784. <div class="memproto">
  785. <div class="memtemplate">
  786. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  787. <table class="mlabels">
  788. <tr>
  789. <td class="mlabels-left">
  790. <table class="memname">
  791. <tr>
  792. <td class="memname"><a class="el" href="classutl_1_1inbuf__dev.html#abd832bf35fa1ae0881e8cd86386e5b6b">inbuf_dev_t</a>&amp; <a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::operator= </td>
  793. <td>(</td>
  794. <td class="paramtype">const <a class="el" href="classutl_1_1inbuf__dev.html#abd832bf35fa1ae0881e8cd86386e5b6b">inbuf_dev_t</a> &amp;&#160;</td>
  795. <td class="paramname"></td><td>)</td>
  796. <td></td>
  797. </tr>
  798. </table>
  799. </td>
  800. <td class="mlabels-right">
  801. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">delete</span></span> </td>
  802. </tr>
  803. </table>
  804. </div><div class="memdoc">
  805. <p>No copy assignments </p>
  806. </div>
  807. </div>
  808. <a id="aca17fb240dfe221effa5a2092563d185"></a>
  809. <h2 class="memtitle"><span class="permalink"><a href="#aca17fb240dfe221effa5a2092563d185">&#9670;&nbsp;</a></span>operator&gt;&gt;() <span class="overload">[1/3]</span></h2>
  810. <div class="memitem">
  811. <div class="memproto">
  812. <div class="memtemplate">
  813. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  814. <div class="memtemplate">
  815. template&lt;typename _Dst_t &gt; </div>
  816. <table class="mlabels">
  817. <tr>
  818. <td class="mlabels-left">
  819. <table class="memname">
  820. <tr>
  821. <td class="memname"><a class="el" href="classutl_1_1inbuf__dev.html#abd832bf35fa1ae0881e8cd86386e5b6b">inbuf_dev_t</a>&amp; <a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::operator&gt;&gt; </td>
  822. <td>(</td>
  823. <td class="paramtype">_Dst_t &amp;&#160;</td>
  824. <td class="paramname"><em>dst</em></td><td>)</td>
  825. <td></td>
  826. </tr>
  827. </table>
  828. </td>
  829. <td class="mlabels-right">
  830. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  831. </tr>
  832. </table>
  833. </div><div class="memdoc">
  834. <p>Template operator &gt;&gt; implementation for for all by value/ref parameters. </p>
  835. <dl class="section note"><dt>Note</dt><dd>In the case _Dst_t size is not a integer multiple of device's data size this will fail by static assertion </dd></dl>
  836. <dl class="params"><dt>Parameters</dt><dd>
  837. <table class="params">
  838. <tr><td class="paramname">dst</td><td>Reference to destination </td></tr>
  839. </table>
  840. </dd>
  841. </dl>
  842. <dl class="section return"><dt>Returns</dt><dd>Reference to this device for chaining </dd></dl>
  843. <p class="definition">Definition at line <a class="el" href="inbuf__dev_8h_source.html#l00140">140</a> of file <a class="el" href="inbuf__dev_8h_source.html">inbuf_dev.h</a>.</p>
  844. </div>
  845. </div>
  846. <a id="a48a8160d1dce4542b0b09cff3f6a488b"></a>
  847. <h2 class="memtitle"><span class="permalink"><a href="#a48a8160d1dce4542b0b09cff3f6a488b">&#9670;&nbsp;</a></span>operator&gt;&gt;() <span class="overload">[2/3]</span></h2>
  848. <div class="memitem">
  849. <div class="memproto">
  850. <div class="memtemplate">
  851. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  852. <div class="memtemplate">
  853. template&lt;typename _Dst_t &gt; </div>
  854. <table class="mlabels">
  855. <tr>
  856. <td class="mlabels-left">
  857. <table class="memname">
  858. <tr>
  859. <td class="memname"><a class="el" href="classutl_1_1inbuf__dev.html#abd832bf35fa1ae0881e8cd86386e5b6b">inbuf_dev_t</a>&amp; <a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::operator&gt;&gt; </td>
  860. <td>(</td>
  861. <td class="paramtype">_Dst_t *&#160;</td>
  862. <td class="paramname"><em>dst</em></td><td>)</td>
  863. <td></td>
  864. </tr>
  865. </table>
  866. </td>
  867. <td class="mlabels-right">
  868. <span class="mlabels"><span class="mlabel">delete</span></span> </td>
  869. </tr>
  870. </table>
  871. </div><div class="memdoc">
  872. <p>Specialization to disallow pointer types as destination. </p>
  873. </div>
  874. </div>
  875. <a id="a6b11ed7628520b4dfe0bd438ccc58197"></a>
  876. <h2 class="memtitle"><span class="permalink"><a href="#a6b11ed7628520b4dfe0bd438ccc58197">&#9670;&nbsp;</a></span>operator&gt;&gt;() <span class="overload">[3/3]</span></h2>
  877. <div class="memitem">
  878. <div class="memproto">
  879. <div class="memtemplate">
  880. template&lt;typename impl_t , typename data_t , size_t streamsize = 0&gt; </div>
  881. <table class="mlabels">
  882. <tr>
  883. <td class="mlabels-left">
  884. <table class="memname">
  885. <tr>
  886. <td class="memname"><a class="el" href="classutl_1_1inbuf__dev.html#abd832bf35fa1ae0881e8cd86386e5b6b">inbuf_dev_t</a>&amp; <a class="el" href="classutl_1_1inbuf__dev.html">utl::inbuf_dev</a>&lt; impl_t, data_t, streamsize &gt;::operator&gt;&gt; </td>
  887. <td>(</td>
  888. <td class="paramtype">data_t &amp;&#160;</td>
  889. <td class="paramname"><em>dst</em></td><td>)</td>
  890. <td></td>
  891. </tr>
  892. </table>
  893. </td>
  894. <td class="mlabels-right">
  895. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  896. </tr>
  897. </table>
  898. </div><div class="memdoc">
  899. <p>Overload for single data_t object. </p>
  900. <p class="definition">Definition at line <a class="el" href="inbuf__dev_8h_source.html#l00151">151</a> of file <a class="el" href="inbuf__dev_8h_source.html">inbuf_dev.h</a>.</p>
  901. </div>
  902. </div>
  903. <hr/>The documentation for this class was generated from the following file:<ul>
  904. <li>include/utl/dev/<a class="el" href="inbuf__dev_8h_source.html">inbuf_dev.h</a></li>
  905. </ul>
  906. </div><!-- contents -->
  907. </div><!-- doc-content -->
  908. <!-- start footer part -->
  909. <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  910. <ul>
  911. <li class="navelem"><a class="el" href="namespaceutl.html">utl</a></li><li class="navelem"><a class="el" href="classutl_1_1inbuf__dev.html">inbuf_dev</a></li>
  912. <li class="footer">Generated by
  913. <a href="http://www.doxygen.org/index.html">
  914. <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
  915. </ul>
  916. </div>
  917. </body>
  918. </html>