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.
 
 
 
 

943 lignes
50 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::ostream_dev&lt; impl_t, data_t &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_1ostream__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_1ostream__dev-members.html">List of all members</a> </div>
  92. <div class="headertitle">
  93. <div class="title">utl::ostream_dev&lt; impl_t, data_t &gt; Class Template Reference</div> </div>
  94. </div><!--header-->
  95. <div class="contents">
  96. <p>Abstract base classes for output stream devices.
  97. <a href="classutl_1_1ostream__dev.html#details">More...</a></p>
  98. <p><code>#include &lt;<a class="el" href="ostream__dev_8h_source.html">ostream_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:ac7169419677c70f4811803828b826351"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1ostream__dev.html#ac7169419677c70f4811803828b826351">type</a> = <a class="el" href="classutl_1_1ostream__dev.html#adc4bbb5e81e6d612937bca9a84c950ca">ostream_dev_t</a></td></tr>
  103. <tr class="memdesc:ac7169419677c70f4811803828b826351"><td class="mdescLeft">&#160;</td><td class="mdescRight">Export type as identity meta-function. <a href="#ac7169419677c70f4811803828b826351">More...</a><br /></td></tr>
  104. <tr class="separator:ac7169419677c70f4811803828b826351"><td class="memSeparator" colspan="2">&#160;</td></tr>
  105. <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
  106. <tr class="memitem:af333211e6a4c20b86c35a1d4fd15b9c5"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1ostream__dev.html#af333211e6a4c20b86c35a1d4fd15b9c5">data_type</a> = data_t</td></tr>
  107. <tr class="separator:af333211e6a4c20b86c35a1d4fd15b9c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  108. <tr class="memitem:a4d60fb31555306bf52a88889db1c8739"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1ostream__dev.html#a4d60fb31555306bf52a88889db1c8739">pointer_type</a> = data_t *</td></tr>
  109. <tr class="separator:a4d60fb31555306bf52a88889db1c8739"><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">Common output device interface</div></td></tr>
  114. <tr class="memitem:a70a8d008d93a5a3f50de63dc70b7b4e4"><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_1ostream__dev.html#a70a8d008d93a5a3f50de63dc70b7b4e4">put</a> (const data_t &amp;data)</td></tr>
  115. <tr class="memdesc:a70a8d008d93a5a3f50de63dc70b7b4e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put interface. This function should send a single data_t object to device. <a href="#a70a8d008d93a5a3f50de63dc70b7b4e4">More...</a><br /></td></tr>
  116. <tr class="separator:a70a8d008d93a5a3f50de63dc70b7b4e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  117. <tr class="memitem:a29f2cad2b83c801cfdab235c880e528b"><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_1ostream__dev.html#a29f2cad2b83c801cfdab235c880e528b">put</a> (const data_t *data, <a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> n)</td></tr>
  118. <tr class="memdesc:a29f2cad2b83c801cfdab235c880e528b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put interface. This function should send a stream of data_t objects to device. <a href="#a29f2cad2b83c801cfdab235c880e528b">More...</a><br /></td></tr>
  119. <tr class="separator:a29f2cad2b83c801cfdab235c880e528b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  120. <tr><td colspan="2"><div class="groupHeader">Stream operator &lt;&lt; interface</div></td></tr>
  121. <tr class="memitem:a4ab9729e2a50b797bcd939c840685b48"><td class="memTemplParams" colspan="2">template&lt;typename _Src_t &gt; </td></tr>
  122. <tr class="memitem:a4ab9729e2a50b797bcd939c840685b48"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1ostream__dev.html#adc4bbb5e81e6d612937bca9a84c950ca">ostream_dev_t</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classutl_1_1ostream__dev.html#a4ab9729e2a50b797bcd939c840685b48">operator&lt;&lt;</a> (const _Src_t &amp;src)</td></tr>
  123. <tr class="memdesc:a4ab9729e2a50b797bcd939c840685b48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template operator&lt;&lt; implementation for for all by value/ref parameters. <a href="#a4ab9729e2a50b797bcd939c840685b48">More...</a><br /></td></tr>
  124. <tr class="separator:a4ab9729e2a50b797bcd939c840685b48"><td class="memSeparator" colspan="2">&#160;</td></tr>
  125. <tr class="memitem:a17b6362ea015437b1cd3f4b9122c4e35"><td class="memTemplParams" colspan="2">template&lt;typename _Src_t &gt; </td></tr>
  126. <tr class="memitem:a17b6362ea015437b1cd3f4b9122c4e35"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1ostream__dev.html#adc4bbb5e81e6d612937bca9a84c950ca">ostream_dev_t</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classutl_1_1ostream__dev.html#a17b6362ea015437b1cd3f4b9122c4e35">operator&lt;&lt;</a> (_Src_t *src)=delete</td></tr>
  127. <tr class="memdesc:a17b6362ea015437b1cd3f4b9122c4e35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overload to disallow pointer types as source. <a href="#a17b6362ea015437b1cd3f4b9122c4e35">More...</a><br /></td></tr>
  128. <tr class="separator:a17b6362ea015437b1cd3f4b9122c4e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
  129. <tr class="memitem:a776a690023246345f1af2991f1b3b206"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1ostream__dev.html#adc4bbb5e81e6d612937bca9a84c950ca">ostream_dev_t</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1ostream__dev.html#a776a690023246345f1af2991f1b3b206">operator&lt;&lt;</a> (const data_t &amp;src)</td></tr>
  130. <tr class="memdesc:a776a690023246345f1af2991f1b3b206"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overload for single data_t object. <a href="#a776a690023246345f1af2991f1b3b206">More...</a><br /></td></tr>
  131. <tr class="separator:a776a690023246345f1af2991f1b3b206"><td class="memSeparator" colspan="2">&#160;</td></tr>
  132. <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
  133. <tr class="memitem:a3d2f837c438b1a97ec14384ba3382090"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1ostream__dev.html#a38ce53a3ec7a902bdcbd9dc04350b903">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1ostream__dev.html#a3d2f837c438b1a97ec14384ba3382090">end</a> () noexcept</td></tr>
  134. <tr class="separator:a3d2f837c438b1a97ec14384ba3382090"><td class="memSeparator" colspan="2">&#160;</td></tr>
  135. <tr class="memitem:af836e2bdffe1829593d889f98a35a726"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1ostream__dev.html#a04f153a089085daceda6a55854789a95">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1ostream__dev.html#af836e2bdffe1829593d889f98a35a726">end</a> () const noexcept</td></tr>
  136. <tr class="separator:af836e2bdffe1829593d889f98a35a726"><td class="memSeparator" colspan="2">&#160;</td></tr>
  137. <tr class="memitem:a90d454a509be230af0595e5a57e91f56"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1ostream__dev.html#a04f153a089085daceda6a55854789a95">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1ostream__dev.html#a90d454a509be230af0595e5a57e91f56">cend</a> () const noexcept</td></tr>
  138. <tr class="separator:a90d454a509be230af0595e5a57e91f56"><td class="memSeparator" colspan="2">&#160;</td></tr>
  139. </table><table class="memberdecls">
  140. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
  141. Protected Member Functions</h2></td></tr>
  142. <tr><td colspan="2"><div class="groupHeader">Constructor / Destructor</div></td></tr>
  143. <tr class="memitem:ad0358c1b879818118e745da164d99998"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1ostream__dev.html#ad0358c1b879818118e745da164d99998">~ostream_dev</a> ()=default</td></tr>
  144. <tr class="memdesc:ad0358c1b879818118e745da164d99998"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow destructor from derived only. <a href="#ad0358c1b879818118e745da164d99998">More...</a><br /></td></tr>
  145. <tr class="separator:ad0358c1b879818118e745da164d99998"><td class="memSeparator" colspan="2">&#160;</td></tr>
  146. <tr class="memitem:a6bb520cb5397ab9f7579c868311017b5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1ostream__dev.html#a6bb520cb5397ab9f7579c868311017b5">ostream_dev</a> ()=default</td></tr>
  147. <tr class="memdesc:a6bb520cb5397ab9f7579c868311017b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">A default constructor from derived only. <a href="#a6bb520cb5397ab9f7579c868311017b5">More...</a><br /></td></tr>
  148. <tr class="separator:a6bb520cb5397ab9f7579c868311017b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  149. <tr class="memitem:afdb03e10c54fa5d079f59b0bb938c82c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1ostream__dev.html#afdb03e10c54fa5d079f59b0bb938c82c">ostream_dev</a> (const <a class="el" href="classutl_1_1ostream__dev.html#adc4bbb5e81e6d612937bca9a84c950ca">ostream_dev_t</a> &amp;)=delete</td></tr>
  150. <tr class="memdesc:afdb03e10c54fa5d079f59b0bb938c82c"><td class="mdescLeft">&#160;</td><td class="mdescRight">No copies. <a href="#afdb03e10c54fa5d079f59b0bb938c82c">More...</a><br /></td></tr>
  151. <tr class="separator:afdb03e10c54fa5d079f59b0bb938c82c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  152. <tr class="memitem:a385318ff45d575ec92801f7c0e29e9c8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1ostream__dev.html#adc4bbb5e81e6d612937bca9a84c950ca">ostream_dev_t</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1ostream__dev.html#a385318ff45d575ec92801f7c0e29e9c8">operator=</a> (const <a class="el" href="classutl_1_1ostream__dev.html#adc4bbb5e81e6d612937bca9a84c950ca">ostream_dev_t</a> &amp;)=delete</td></tr>
  153. <tr class="separator:a385318ff45d575ec92801f7c0e29e9c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  154. </table><table class="memberdecls">
  155. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-types"></a>
  156. Private Types</h2></td></tr>
  157. <tr class="memitem:adc4bbb5e81e6d612937bca9a84c950ca"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1ostream__dev.html#adc4bbb5e81e6d612937bca9a84c950ca">ostream_dev_t</a> = <a class="el" href="classutl_1_1ostream__dev.html">ostream_dev</a>&lt; impl_t, data_t &gt;</td></tr>
  158. <tr class="memdesc:adc4bbb5e81e6d612937bca9a84c950ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">class type syntactic sugar <a href="#adc4bbb5e81e6d612937bca9a84c950ca">More...</a><br /></td></tr>
  159. <tr class="separator:adc4bbb5e81e6d612937bca9a84c950ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
  160. </table><table class="memberdecls">
  161. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
  162. Private Member Functions</h2></td></tr>
  163. <tr class="memitem:af993acec883f07fcd4ac9905eaa6f127"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1ostream__dev.html#af993acec883f07fcd4ac9905eaa6f127">_CRTP_IMPL</a> (impl_t)</td></tr>
  164. <tr class="separator:af993acec883f07fcd4ac9905eaa6f127"><td class="memSeparator" colspan="2">&#160;</td></tr>
  165. <tr><td colspan="2"><div class="groupHeader">Common output device interface requirements</div></td></tr>
  166. <tr class="memitem:acfe4768762548db0d99cde8a802b0723"><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_1ostream__dev.html#acfe4768762548db0d99cde8a802b0723">put_</a> (const data_t &amp;data)</td></tr>
  167. <tr class="separator:acfe4768762548db0d99cde8a802b0723"><td class="memSeparator" colspan="2">&#160;</td></tr>
  168. <tr class="memitem:a33546e98ec0cbd6cef862cb4d9853c7a"><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_1ostream__dev.html#a33546e98ec0cbd6cef862cb4d9853c7a">put_</a> (const data_t *data, <a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> n)</td></tr>
  169. <tr class="separator:a33546e98ec0cbd6cef862cb4d9853c7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  170. </table><table class="memberdecls">
  171. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
  172. STL-like Output iterator interface</h2></td></tr>
  173. <tr class="memitem:a38ce53a3ec7a902bdcbd9dc04350b903"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1ostream__dev.html#a38ce53a3ec7a902bdcbd9dc04350b903">iterator</a> = <a class="el" href="classutl_1_1ostreamdev__it.html">ostreamdev_it</a>&lt; <a class="el" href="classutl_1_1ostream__dev.html#adc4bbb5e81e6d612937bca9a84c950ca">ostream_dev_t</a>, data_t &gt;</td></tr>
  174. <tr class="memdesc:a38ce53a3ec7a902bdcbd9dc04350b903"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterator. <a href="#a38ce53a3ec7a902bdcbd9dc04350b903">More...</a><br /></td></tr>
  175. <tr class="separator:a38ce53a3ec7a902bdcbd9dc04350b903"><td class="memSeparator" colspan="2">&#160;</td></tr>
  176. <tr class="memitem:a04f153a089085daceda6a55854789a95"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1ostream__dev.html#a04f153a089085daceda6a55854789a95">const_iterator</a> = <a class="el" href="classutl_1_1ostreamdev__it.html">ostreamdev_it</a>&lt; const <a class="el" href="classutl_1_1ostream__dev.html#adc4bbb5e81e6d612937bca9a84c950ca">ostream_dev_t</a>, data_t &gt;</td></tr>
  177. <tr class="memdesc:a04f153a089085daceda6a55854789a95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Const iterator. <a href="#a04f153a089085daceda6a55854789a95">More...</a><br /></td></tr>
  178. <tr class="separator:a04f153a089085daceda6a55854789a95"><td class="memSeparator" colspan="2">&#160;</td></tr>
  179. <tr class="memitem:a313cc3aada490c2d2641d6bdac559748"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1ostream__dev.html#a38ce53a3ec7a902bdcbd9dc04350b903">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1ostream__dev.html#a313cc3aada490c2d2641d6bdac559748">begin</a> () noexcept</td></tr>
  180. <tr class="memdesc:a313cc3aada490c2d2641d6bdac559748"><td class="mdescLeft">&#160;</td><td class="mdescRight">.begin implementation <a href="#a313cc3aada490c2d2641d6bdac559748">More...</a><br /></td></tr>
  181. <tr class="separator:a313cc3aada490c2d2641d6bdac559748"><td class="memSeparator" colspan="2">&#160;</td></tr>
  182. <tr class="memitem:aa541b838442aaf7693d528dabd049790"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1ostream__dev.html#a04f153a089085daceda6a55854789a95">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1ostream__dev.html#aa541b838442aaf7693d528dabd049790">begin</a> () const noexcept</td></tr>
  183. <tr class="separator:aa541b838442aaf7693d528dabd049790"><td class="memSeparator" colspan="2">&#160;</td></tr>
  184. <tr class="memitem:adad6881acafe06f05545364b3bb3941c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1ostream__dev.html#a04f153a089085daceda6a55854789a95">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1ostream__dev.html#adad6881acafe06f05545364b3bb3941c">cbegin</a> () const noexcept</td></tr>
  185. <tr class="separator:adad6881acafe06f05545364b3bb3941c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  186. </table>
  187. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  188. <div class="textblock"><h3>template&lt;typename impl_t, typename data_t&gt;<br />
  189. class utl::ostream_dev&lt; impl_t, data_t &gt;</h3>
  190. <p>Abstract base classes for output stream devices. </p>
  191. <p>Template base class for output stream devices using CRTP</p>
  192. <p>This class force a common interface for output stream devices. By using this common interface the class implements</p><ul>
  193. <li>Stream-like inserting operator</li>
  194. <li>Output iterator</li>
  195. <li>Const output iterator to inherit to implementation.</li>
  196. </ul>
  197. <dl class="params"><dt>Parameters</dt><dd>
  198. <table class="params">
  199. <tr><td class="paramname">impl_t</td><td>The CRTP type (the derived/implementation class typename). </td></tr>
  200. <tr><td class="paramname">data_t</td><td>The devices base type of data </td></tr>
  201. </table>
  202. </dd>
  203. </dl>
  204. <p class="definition">Definition at line <a class="el" href="ostream__dev_8h_source.html#l00052">52</a> of file <a class="el" href="ostream__dev_8h_source.html">ostream_dev.h</a>.</p>
  205. </div><h2 class="groupheader">Member Typedef Documentation</h2>
  206. <a id="a04f153a089085daceda6a55854789a95"></a>
  207. <h2 class="memtitle"><span class="permalink"><a href="#a04f153a089085daceda6a55854789a95">&#9670;&nbsp;</a></span>const_iterator</h2>
  208. <div class="memitem">
  209. <div class="memproto">
  210. <div class="memtemplate">
  211. template&lt;typename impl_t , typename data_t &gt; </div>
  212. <table class="memname">
  213. <tr>
  214. <td class="memname">using <a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::<a class="el" href="classutl_1_1ostream__dev.html#a04f153a089085daceda6a55854789a95">const_iterator</a> = <a class="el" href="classutl_1_1ostreamdev__it.html">ostreamdev_it</a> &lt;const <a class="el" href="classutl_1_1ostream__dev.html#adc4bbb5e81e6d612937bca9a84c950ca">ostream_dev_t</a>, data_t&gt;</td>
  215. </tr>
  216. </table>
  217. </div><div class="memdoc">
  218. <p>Const iterator. </p>
  219. <p class="definition">Definition at line <a class="el" href="ostream__dev_8h_source.html#l00151">151</a> of file <a class="el" href="ostream__dev_8h_source.html">ostream_dev.h</a>.</p>
  220. </div>
  221. </div>
  222. <a id="af333211e6a4c20b86c35a1d4fd15b9c5"></a>
  223. <h2 class="memtitle"><span class="permalink"><a href="#af333211e6a4c20b86c35a1d4fd15b9c5">&#9670;&nbsp;</a></span>data_type</h2>
  224. <div class="memitem">
  225. <div class="memproto">
  226. <div class="memtemplate">
  227. template&lt;typename impl_t , typename data_t &gt; </div>
  228. <table class="memname">
  229. <tr>
  230. <td class="memname">using <a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::<a class="el" href="classutl_1_1ostream__dev.html#af333211e6a4c20b86c35a1d4fd15b9c5">data_type</a> = data_t</td>
  231. </tr>
  232. </table>
  233. </div><div class="memdoc">
  234. <p>Export types as output device concept demands </p>
  235. <p class="definition">Definition at line <a class="el" href="ostream__dev_8h_source.html#l00059">59</a> of file <a class="el" href="ostream__dev_8h_source.html">ostream_dev.h</a>.</p>
  236. </div>
  237. </div>
  238. <a id="a38ce53a3ec7a902bdcbd9dc04350b903"></a>
  239. <h2 class="memtitle"><span class="permalink"><a href="#a38ce53a3ec7a902bdcbd9dc04350b903">&#9670;&nbsp;</a></span>iterator</h2>
  240. <div class="memitem">
  241. <div class="memproto">
  242. <div class="memtemplate">
  243. template&lt;typename impl_t , typename data_t &gt; </div>
  244. <table class="memname">
  245. <tr>
  246. <td class="memname">using <a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::<a class="el" href="classutl_1_1ostream__dev.html#a38ce53a3ec7a902bdcbd9dc04350b903">iterator</a> = <a class="el" href="classutl_1_1ostreamdev__it.html">ostreamdev_it</a> &lt;<a class="el" href="classutl_1_1ostream__dev.html#adc4bbb5e81e6d612937bca9a84c950ca">ostream_dev_t</a>, data_t&gt;</td>
  247. </tr>
  248. </table>
  249. </div><div class="memdoc">
  250. <p>Iterator. </p>
  251. <p class="definition">Definition at line <a class="el" href="ostream__dev_8h_source.html#l00150">150</a> of file <a class="el" href="ostream__dev_8h_source.html">ostream_dev.h</a>.</p>
  252. </div>
  253. </div>
  254. <a id="adc4bbb5e81e6d612937bca9a84c950ca"></a>
  255. <h2 class="memtitle"><span class="permalink"><a href="#adc4bbb5e81e6d612937bca9a84c950ca">&#9670;&nbsp;</a></span>ostream_dev_t</h2>
  256. <div class="memitem">
  257. <div class="memproto">
  258. <div class="memtemplate">
  259. template&lt;typename impl_t , typename data_t &gt; </div>
  260. <table class="mlabels">
  261. <tr>
  262. <td class="mlabels-left">
  263. <table class="memname">
  264. <tr>
  265. <td class="memname">using <a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::<a class="el" href="classutl_1_1ostream__dev.html#adc4bbb5e81e6d612937bca9a84c950ca">ostream_dev_t</a> = <a class="el" href="classutl_1_1ostream__dev.html">ostream_dev</a> &lt;impl_t, data_t&gt;</td>
  266. </tr>
  267. </table>
  268. </td>
  269. <td class="mlabels-right">
  270. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  271. </tr>
  272. </table>
  273. </div><div class="memdoc">
  274. <p>class type syntactic sugar </p>
  275. <p class="definition">Definition at line <a class="el" href="ostream__dev_8h_source.html#l00054">54</a> of file <a class="el" href="ostream__dev_8h_source.html">ostream_dev.h</a>.</p>
  276. </div>
  277. </div>
  278. <a id="a4d60fb31555306bf52a88889db1c8739"></a>
  279. <h2 class="memtitle"><span class="permalink"><a href="#a4d60fb31555306bf52a88889db1c8739">&#9670;&nbsp;</a></span>pointer_type</h2>
  280. <div class="memitem">
  281. <div class="memproto">
  282. <div class="memtemplate">
  283. template&lt;typename impl_t , typename data_t &gt; </div>
  284. <table class="memname">
  285. <tr>
  286. <td class="memname">using <a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::<a class="el" href="classutl_1_1ostream__dev.html#a4d60fb31555306bf52a88889db1c8739">pointer_type</a> = data_t*</td>
  287. </tr>
  288. </table>
  289. </div><div class="memdoc">
  290. <p class="definition">Definition at line <a class="el" href="ostream__dev_8h_source.html#l00060">60</a> of file <a class="el" href="ostream__dev_8h_source.html">ostream_dev.h</a>.</p>
  291. </div>
  292. </div>
  293. <a id="ac7169419677c70f4811803828b826351"></a>
  294. <h2 class="memtitle"><span class="permalink"><a href="#ac7169419677c70f4811803828b826351">&#9670;&nbsp;</a></span>type</h2>
  295. <div class="memitem">
  296. <div class="memproto">
  297. <div class="memtemplate">
  298. template&lt;typename impl_t , typename data_t &gt; </div>
  299. <table class="memname">
  300. <tr>
  301. <td class="memname">using <a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::<a class="el" href="classutl_1_1ostream__dev.html#ac7169419677c70f4811803828b826351">type</a> = <a class="el" href="classutl_1_1ostream__dev.html#adc4bbb5e81e6d612937bca9a84c950ca">ostream_dev_t</a></td>
  302. </tr>
  303. </table>
  304. </div><div class="memdoc">
  305. <p>Export type as identity meta-function. </p>
  306. <p class="definition">Definition at line <a class="el" href="ostream__dev_8h_source.html#l00062">62</a> of file <a class="el" href="ostream__dev_8h_source.html">ostream_dev.h</a>.</p>
  307. </div>
  308. </div>
  309. <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
  310. <a id="ad0358c1b879818118e745da164d99998"></a>
  311. <h2 class="memtitle"><span class="permalink"><a href="#ad0358c1b879818118e745da164d99998">&#9670;&nbsp;</a></span>~ostream_dev()</h2>
  312. <div class="memitem">
  313. <div class="memproto">
  314. <div class="memtemplate">
  315. template&lt;typename impl_t , typename data_t &gt; </div>
  316. <table class="mlabels">
  317. <tr>
  318. <td class="mlabels-left">
  319. <table class="memname">
  320. <tr>
  321. <td class="memname"><a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::~<a class="el" href="classutl_1_1ostream__dev.html">ostream_dev</a> </td>
  322. <td>(</td>
  323. <td class="paramname"></td><td>)</td>
  324. <td></td>
  325. </tr>
  326. </table>
  327. </td>
  328. <td class="mlabels-right">
  329. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">default</span></span> </td>
  330. </tr>
  331. </table>
  332. </div><div class="memdoc">
  333. <p>Allow destructor from derived only. </p>
  334. </div>
  335. </div>
  336. <a id="a6bb520cb5397ab9f7579c868311017b5"></a>
  337. <h2 class="memtitle"><span class="permalink"><a href="#a6bb520cb5397ab9f7579c868311017b5">&#9670;&nbsp;</a></span>ostream_dev() <span class="overload">[1/2]</span></h2>
  338. <div class="memitem">
  339. <div class="memproto">
  340. <div class="memtemplate">
  341. template&lt;typename impl_t , typename data_t &gt; </div>
  342. <table class="mlabels">
  343. <tr>
  344. <td class="mlabels-left">
  345. <table class="memname">
  346. <tr>
  347. <td class="memname"><a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::<a class="el" href="classutl_1_1ostream__dev.html">ostream_dev</a> </td>
  348. <td>(</td>
  349. <td class="paramname"></td><td>)</td>
  350. <td></td>
  351. </tr>
  352. </table>
  353. </td>
  354. <td class="mlabels-right">
  355. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">default</span></span> </td>
  356. </tr>
  357. </table>
  358. </div><div class="memdoc">
  359. <p>A default constructor from derived only. </p>
  360. </div>
  361. </div>
  362. <a id="afdb03e10c54fa5d079f59b0bb938c82c"></a>
  363. <h2 class="memtitle"><span class="permalink"><a href="#afdb03e10c54fa5d079f59b0bb938c82c">&#9670;&nbsp;</a></span>ostream_dev() <span class="overload">[2/2]</span></h2>
  364. <div class="memitem">
  365. <div class="memproto">
  366. <div class="memtemplate">
  367. template&lt;typename impl_t , typename data_t &gt; </div>
  368. <table class="mlabels">
  369. <tr>
  370. <td class="mlabels-left">
  371. <table class="memname">
  372. <tr>
  373. <td class="memname"><a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::<a class="el" href="classutl_1_1ostream__dev.html">ostream_dev</a> </td>
  374. <td>(</td>
  375. <td class="paramtype">const <a class="el" href="classutl_1_1ostream__dev.html#adc4bbb5e81e6d612937bca9a84c950ca">ostream_dev_t</a> &amp;&#160;</td>
  376. <td class="paramname"></td><td>)</td>
  377. <td></td>
  378. </tr>
  379. </table>
  380. </td>
  381. <td class="mlabels-right">
  382. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">delete</span></span> </td>
  383. </tr>
  384. </table>
  385. </div><div class="memdoc">
  386. <p>No copies. </p>
  387. </div>
  388. </div>
  389. <h2 class="groupheader">Member Function Documentation</h2>
  390. <a id="af993acec883f07fcd4ac9905eaa6f127"></a>
  391. <h2 class="memtitle"><span class="permalink"><a href="#af993acec883f07fcd4ac9905eaa6f127">&#9670;&nbsp;</a></span>_CRTP_IMPL()</h2>
  392. <div class="memitem">
  393. <div class="memproto">
  394. <div class="memtemplate">
  395. template&lt;typename impl_t , typename data_t &gt; </div>
  396. <table class="mlabels">
  397. <tr>
  398. <td class="mlabels-left">
  399. <table class="memname">
  400. <tr>
  401. <td class="memname"><a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::_CRTP_IMPL </td>
  402. <td>(</td>
  403. <td class="paramtype">impl_t&#160;</td>
  404. <td class="paramname"></td><td>)</td>
  405. <td></td>
  406. </tr>
  407. </table>
  408. </td>
  409. <td class="mlabels-right">
  410. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  411. </tr>
  412. </table>
  413. </div><div class="memdoc">
  414. </div>
  415. </div>
  416. <a id="a313cc3aada490c2d2641d6bdac559748"></a>
  417. <h2 class="memtitle"><span class="permalink"><a href="#a313cc3aada490c2d2641d6bdac559748">&#9670;&nbsp;</a></span>begin() <span class="overload">[1/2]</span></h2>
  418. <div class="memitem">
  419. <div class="memproto">
  420. <div class="memtemplate">
  421. template&lt;typename impl_t , typename data_t &gt; </div>
  422. <table class="mlabels">
  423. <tr>
  424. <td class="mlabels-left">
  425. <table class="memname">
  426. <tr>
  427. <td class="memname"><a class="el" href="classutl_1_1ostream__dev.html#a38ce53a3ec7a902bdcbd9dc04350b903">iterator</a> <a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::begin </td>
  428. <td>(</td>
  429. <td class="paramname"></td><td>)</td>
  430. <td></td>
  431. </tr>
  432. </table>
  433. </td>
  434. <td class="mlabels-right">
  435. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  436. </tr>
  437. </table>
  438. </div><div class="memdoc">
  439. <p>.begin implementation </p>
  440. <p class="definition">Definition at line <a class="el" href="ostream__dev_8h_source.html#l00154">154</a> of file <a class="el" href="ostream__dev_8h_source.html">ostream_dev.h</a>.</p>
  441. </div>
  442. </div>
  443. <a id="aa541b838442aaf7693d528dabd049790"></a>
  444. <h2 class="memtitle"><span class="permalink"><a href="#aa541b838442aaf7693d528dabd049790">&#9670;&nbsp;</a></span>begin() <span class="overload">[2/2]</span></h2>
  445. <div class="memitem">
  446. <div class="memproto">
  447. <div class="memtemplate">
  448. template&lt;typename impl_t , typename data_t &gt; </div>
  449. <table class="mlabels">
  450. <tr>
  451. <td class="mlabels-left">
  452. <table class="memname">
  453. <tr>
  454. <td class="memname"><a class="el" href="classutl_1_1ostream__dev.html#a04f153a089085daceda6a55854789a95">const_iterator</a> <a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::begin </td>
  455. <td>(</td>
  456. <td class="paramname"></td><td>)</td>
  457. <td> const</td>
  458. </tr>
  459. </table>
  460. </td>
  461. <td class="mlabels-right">
  462. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  463. </tr>
  464. </table>
  465. </div><div class="memdoc">
  466. <p class="definition">Definition at line <a class="el" href="ostream__dev_8h_source.html#l00155">155</a> of file <a class="el" href="ostream__dev_8h_source.html">ostream_dev.h</a>.</p>
  467. </div>
  468. </div>
  469. <a id="adad6881acafe06f05545364b3bb3941c"></a>
  470. <h2 class="memtitle"><span class="permalink"><a href="#adad6881acafe06f05545364b3bb3941c">&#9670;&nbsp;</a></span>cbegin()</h2>
  471. <div class="memitem">
  472. <div class="memproto">
  473. <div class="memtemplate">
  474. template&lt;typename impl_t , typename data_t &gt; </div>
  475. <table class="mlabels">
  476. <tr>
  477. <td class="mlabels-left">
  478. <table class="memname">
  479. <tr>
  480. <td class="memname"><a class="el" href="classutl_1_1ostream__dev.html#a04f153a089085daceda6a55854789a95">const_iterator</a> <a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::cbegin </td>
  481. <td>(</td>
  482. <td class="paramname"></td><td>)</td>
  483. <td> const</td>
  484. </tr>
  485. </table>
  486. </td>
  487. <td class="mlabels-right">
  488. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  489. </tr>
  490. </table>
  491. </div><div class="memdoc">
  492. <p class="definition">Definition at line <a class="el" href="ostream__dev_8h_source.html#l00156">156</a> of file <a class="el" href="ostream__dev_8h_source.html">ostream_dev.h</a>.</p>
  493. </div>
  494. </div>
  495. <a id="a90d454a509be230af0595e5a57e91f56"></a>
  496. <h2 class="memtitle"><span class="permalink"><a href="#a90d454a509be230af0595e5a57e91f56">&#9670;&nbsp;</a></span>cend()</h2>
  497. <div class="memitem">
  498. <div class="memproto">
  499. <div class="memtemplate">
  500. template&lt;typename impl_t , typename data_t &gt; </div>
  501. <table class="mlabels">
  502. <tr>
  503. <td class="mlabels-left">
  504. <table class="memname">
  505. <tr>
  506. <td class="memname"><a class="el" href="classutl_1_1ostream__dev.html#a04f153a089085daceda6a55854789a95">const_iterator</a> <a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::cend </td>
  507. <td>(</td>
  508. <td class="paramname"></td><td>)</td>
  509. <td> const</td>
  510. </tr>
  511. </table>
  512. </td>
  513. <td class="mlabels-right">
  514. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  515. </tr>
  516. </table>
  517. </div><div class="memdoc">
  518. <p class="definition">Definition at line <a class="el" href="ostream__dev_8h_source.html#l00161">161</a> of file <a class="el" href="ostream__dev_8h_source.html">ostream_dev.h</a>.</p>
  519. </div>
  520. </div>
  521. <a id="a3d2f837c438b1a97ec14384ba3382090"></a>
  522. <h2 class="memtitle"><span class="permalink"><a href="#a3d2f837c438b1a97ec14384ba3382090">&#9670;&nbsp;</a></span>end() <span class="overload">[1/2]</span></h2>
  523. <div class="memitem">
  524. <div class="memproto">
  525. <div class="memtemplate">
  526. template&lt;typename impl_t , typename data_t &gt; </div>
  527. <table class="mlabels">
  528. <tr>
  529. <td class="mlabels-left">
  530. <table class="memname">
  531. <tr>
  532. <td class="memname"><a class="el" href="classutl_1_1ostream__dev.html#a38ce53a3ec7a902bdcbd9dc04350b903">iterator</a> <a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::end </td>
  533. <td>(</td>
  534. <td class="paramname"></td><td>)</td>
  535. <td></td>
  536. </tr>
  537. </table>
  538. </td>
  539. <td class="mlabels-right">
  540. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  541. </tr>
  542. </table>
  543. </div><div class="memdoc">
  544. <p>.end implementation </p>
  545. <p class="definition">Definition at line <a class="el" href="ostream__dev_8h_source.html#l00159">159</a> of file <a class="el" href="ostream__dev_8h_source.html">ostream_dev.h</a>.</p>
  546. </div>
  547. </div>
  548. <a id="af836e2bdffe1829593d889f98a35a726"></a>
  549. <h2 class="memtitle"><span class="permalink"><a href="#af836e2bdffe1829593d889f98a35a726">&#9670;&nbsp;</a></span>end() <span class="overload">[2/2]</span></h2>
  550. <div class="memitem">
  551. <div class="memproto">
  552. <div class="memtemplate">
  553. template&lt;typename impl_t , typename data_t &gt; </div>
  554. <table class="mlabels">
  555. <tr>
  556. <td class="mlabels-left">
  557. <table class="memname">
  558. <tr>
  559. <td class="memname"><a class="el" href="classutl_1_1ostream__dev.html#a04f153a089085daceda6a55854789a95">const_iterator</a> <a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::end </td>
  560. <td>(</td>
  561. <td class="paramname"></td><td>)</td>
  562. <td> const</td>
  563. </tr>
  564. </table>
  565. </td>
  566. <td class="mlabels-right">
  567. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  568. </tr>
  569. </table>
  570. </div><div class="memdoc">
  571. <p class="definition">Definition at line <a class="el" href="ostream__dev_8h_source.html#l00160">160</a> of file <a class="el" href="ostream__dev_8h_source.html">ostream_dev.h</a>.</p>
  572. </div>
  573. </div>
  574. <a id="a4ab9729e2a50b797bcd939c840685b48"></a>
  575. <h2 class="memtitle"><span class="permalink"><a href="#a4ab9729e2a50b797bcd939c840685b48">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[1/3]</span></h2>
  576. <div class="memitem">
  577. <div class="memproto">
  578. <div class="memtemplate">
  579. template&lt;typename impl_t , typename data_t &gt; </div>
  580. <div class="memtemplate">
  581. template&lt;typename _Src_t &gt; </div>
  582. <table class="mlabels">
  583. <tr>
  584. <td class="mlabels-left">
  585. <table class="memname">
  586. <tr>
  587. <td class="memname"><a class="el" href="classutl_1_1ostream__dev.html#adc4bbb5e81e6d612937bca9a84c950ca">ostream_dev_t</a>&amp; <a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::operator&lt;&lt; </td>
  588. <td>(</td>
  589. <td class="paramtype">const _Src_t &amp;&#160;</td>
  590. <td class="paramname"><em>src</em></td><td>)</td>
  591. <td></td>
  592. </tr>
  593. </table>
  594. </td>
  595. <td class="mlabels-right">
  596. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  597. </tr>
  598. </table>
  599. </div><div class="memdoc">
  600. <p>Template operator&lt;&lt; implementation for for all by value/ref parameters. </p>
  601. <dl class="section note"><dt>Note</dt><dd>In the case _Src_t size is not an exact multiple of data_t size the write data will be truncated and there may be data loss. </dd></dl>
  602. <dl class="params"><dt>Parameters</dt><dd>
  603. <table class="params">
  604. <tr><td class="paramname">src</td><td>Reference to source data </td></tr>
  605. </table>
  606. </dd>
  607. </dl>
  608. <dl class="section return"><dt>Returns</dt><dd>Reference to this device for chaining </dd></dl>
  609. <p class="definition">Definition at line <a class="el" href="ostream__dev_8h_source.html#l00128">128</a> of file <a class="el" href="ostream__dev_8h_source.html">ostream_dev.h</a>.</p>
  610. </div>
  611. </div>
  612. <a id="a17b6362ea015437b1cd3f4b9122c4e35"></a>
  613. <h2 class="memtitle"><span class="permalink"><a href="#a17b6362ea015437b1cd3f4b9122c4e35">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[2/3]</span></h2>
  614. <div class="memitem">
  615. <div class="memproto">
  616. <div class="memtemplate">
  617. template&lt;typename impl_t , typename data_t &gt; </div>
  618. <div class="memtemplate">
  619. template&lt;typename _Src_t &gt; </div>
  620. <table class="mlabels">
  621. <tr>
  622. <td class="mlabels-left">
  623. <table class="memname">
  624. <tr>
  625. <td class="memname"><a class="el" href="classutl_1_1ostream__dev.html#adc4bbb5e81e6d612937bca9a84c950ca">ostream_dev_t</a>&amp; <a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::operator&lt;&lt; </td>
  626. <td>(</td>
  627. <td class="paramtype">_Src_t *&#160;</td>
  628. <td class="paramname"><em>src</em></td><td>)</td>
  629. <td></td>
  630. </tr>
  631. </table>
  632. </td>
  633. <td class="mlabels-right">
  634. <span class="mlabels"><span class="mlabel">delete</span></span> </td>
  635. </tr>
  636. </table>
  637. </div><div class="memdoc">
  638. <p>Overload to disallow pointer types as source. </p>
  639. </div>
  640. </div>
  641. <a id="a776a690023246345f1af2991f1b3b206"></a>
  642. <h2 class="memtitle"><span class="permalink"><a href="#a776a690023246345f1af2991f1b3b206">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[3/3]</span></h2>
  643. <div class="memitem">
  644. <div class="memproto">
  645. <div class="memtemplate">
  646. template&lt;typename impl_t , typename data_t &gt; </div>
  647. <table class="mlabels">
  648. <tr>
  649. <td class="mlabels-left">
  650. <table class="memname">
  651. <tr>
  652. <td class="memname"><a class="el" href="classutl_1_1ostream__dev.html#adc4bbb5e81e6d612937bca9a84c950ca">ostream_dev_t</a>&amp; <a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::operator&lt;&lt; </td>
  653. <td>(</td>
  654. <td class="paramtype">const data_t &amp;&#160;</td>
  655. <td class="paramname"><em>src</em></td><td>)</td>
  656. <td></td>
  657. </tr>
  658. </table>
  659. </td>
  660. <td class="mlabels-right">
  661. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  662. </tr>
  663. </table>
  664. </div><div class="memdoc">
  665. <p>Overload for single data_t object. </p>
  666. <p class="definition">Definition at line <a class="el" href="ostream__dev_8h_source.html#l00139">139</a> of file <a class="el" href="ostream__dev_8h_source.html">ostream_dev.h</a>.</p>
  667. </div>
  668. </div>
  669. <a id="a385318ff45d575ec92801f7c0e29e9c8"></a>
  670. <h2 class="memtitle"><span class="permalink"><a href="#a385318ff45d575ec92801f7c0e29e9c8">&#9670;&nbsp;</a></span>operator=()</h2>
  671. <div class="memitem">
  672. <div class="memproto">
  673. <div class="memtemplate">
  674. template&lt;typename impl_t , typename data_t &gt; </div>
  675. <table class="mlabels">
  676. <tr>
  677. <td class="mlabels-left">
  678. <table class="memname">
  679. <tr>
  680. <td class="memname"><a class="el" href="classutl_1_1ostream__dev.html#adc4bbb5e81e6d612937bca9a84c950ca">ostream_dev_t</a>&amp; <a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::operator= </td>
  681. <td>(</td>
  682. <td class="paramtype">const <a class="el" href="classutl_1_1ostream__dev.html#adc4bbb5e81e6d612937bca9a84c950ca">ostream_dev_t</a> &amp;&#160;</td>
  683. <td class="paramname"></td><td>)</td>
  684. <td></td>
  685. </tr>
  686. </table>
  687. </td>
  688. <td class="mlabels-right">
  689. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">delete</span></span> </td>
  690. </tr>
  691. </table>
  692. </div><div class="memdoc">
  693. <p>No copy assignments </p>
  694. </div>
  695. </div>
  696. <a id="a70a8d008d93a5a3f50de63dc70b7b4e4"></a>
  697. <h2 class="memtitle"><span class="permalink"><a href="#a70a8d008d93a5a3f50de63dc70b7b4e4">&#9670;&nbsp;</a></span>put() <span class="overload">[1/2]</span></h2>
  698. <div class="memitem">
  699. <div class="memproto">
  700. <div class="memtemplate">
  701. template&lt;typename impl_t , typename data_t &gt; </div>
  702. <table class="mlabels">
  703. <tr>
  704. <td class="mlabels-left">
  705. <table class="memname">
  706. <tr>
  707. <td class="memname"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> <a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::put </td>
  708. <td>(</td>
  709. <td class="paramtype">const data_t &amp;&#160;</td>
  710. <td class="paramname"><em>data</em></td><td>)</td>
  711. <td></td>
  712. </tr>
  713. </table>
  714. </td>
  715. <td class="mlabels-right">
  716. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  717. </tr>
  718. </table>
  719. </div><div class="memdoc">
  720. <p>Put interface. This function should send a single data_t object to device. </p>
  721. <dl class="params"><dt>Parameters</dt><dd>
  722. <table class="params">
  723. <tr><td class="paramname">data</td><td>The data to send </td></tr>
  724. </table>
  725. </dd>
  726. </dl>
  727. <dl class="section return"><dt>Returns</dt><dd>The number of transmitted data items </dd></dl>
  728. <dl class="section note"><dt>Note</dt><dd>A successful call should return 1 </dd></dl>
  729. <p class="definition">Definition at line <a class="el" href="ostream__dev_8h_source.html#l00096">96</a> of file <a class="el" href="ostream__dev_8h_source.html">ostream_dev.h</a>.</p>
  730. </div>
  731. </div>
  732. <a id="a29f2cad2b83c801cfdab235c880e528b"></a>
  733. <h2 class="memtitle"><span class="permalink"><a href="#a29f2cad2b83c801cfdab235c880e528b">&#9670;&nbsp;</a></span>put() <span class="overload">[2/2]</span></h2>
  734. <div class="memitem">
  735. <div class="memproto">
  736. <div class="memtemplate">
  737. template&lt;typename impl_t , typename data_t &gt; </div>
  738. <table class="mlabels">
  739. <tr>
  740. <td class="mlabels-left">
  741. <table class="memname">
  742. <tr>
  743. <td class="memname"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> <a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::put </td>
  744. <td>(</td>
  745. <td class="paramtype">const data_t *&#160;</td>
  746. <td class="paramname"><em>data</em>, </td>
  747. </tr>
  748. <tr>
  749. <td class="paramkey"></td>
  750. <td></td>
  751. <td class="paramtype"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a>&#160;</td>
  752. <td class="paramname"><em>n</em>&#160;</td>
  753. </tr>
  754. <tr>
  755. <td></td>
  756. <td>)</td>
  757. <td></td><td></td>
  758. </tr>
  759. </table>
  760. </td>
  761. <td class="mlabels-right">
  762. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  763. </tr>
  764. </table>
  765. </div><div class="memdoc">
  766. <p>Put interface. This function should send a stream of data_t objects to device. </p>
  767. <dl class="params"><dt>Parameters</dt><dd>
  768. <table class="params">
  769. <tr><td class="paramname">data</td><td>Pointer to buffer indenting write to device. </td></tr>
  770. <tr><td class="paramname">n</td><td>The number of data of type data_t to send </td></tr>
  771. </table>
  772. </dd>
  773. </dl>
  774. <dl class="section return"><dt>Returns</dt><dd>The number of transmitted items. </dd></dl>
  775. <p class="definition">Definition at line <a class="el" href="ostream__dev_8h_source.html#l00108">108</a> of file <a class="el" href="ostream__dev_8h_source.html">ostream_dev.h</a>.</p>
  776. </div>
  777. </div>
  778. <a id="acfe4768762548db0d99cde8a802b0723"></a>
  779. <h2 class="memtitle"><span class="permalink"><a href="#acfe4768762548db0d99cde8a802b0723">&#9670;&nbsp;</a></span>put_() <span class="overload">[1/2]</span></h2>
  780. <div class="memitem">
  781. <div class="memproto">
  782. <div class="memtemplate">
  783. template&lt;typename impl_t , typename data_t &gt; </div>
  784. <table class="mlabels">
  785. <tr>
  786. <td class="mlabels-left">
  787. <table class="memname">
  788. <tr>
  789. <td class="memname"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> <a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::put_ </td>
  790. <td>(</td>
  791. <td class="paramtype">const data_t &amp;&#160;</td>
  792. <td class="paramname"><em>data</em></td><td>)</td>
  793. <td></td>
  794. </tr>
  795. </table>
  796. </td>
  797. <td class="mlabels-right">
  798. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
  799. </tr>
  800. </table>
  801. </div><div class="memdoc">
  802. <p class="definition">Definition at line <a class="el" href="ostream__dev_8h_source.html#l00077">77</a> of file <a class="el" href="ostream__dev_8h_source.html">ostream_dev.h</a>.</p>
  803. </div>
  804. </div>
  805. <a id="a33546e98ec0cbd6cef862cb4d9853c7a"></a>
  806. <h2 class="memtitle"><span class="permalink"><a href="#a33546e98ec0cbd6cef862cb4d9853c7a">&#9670;&nbsp;</a></span>put_() <span class="overload">[2/2]</span></h2>
  807. <div class="memitem">
  808. <div class="memproto">
  809. <div class="memtemplate">
  810. template&lt;typename impl_t , typename data_t &gt; </div>
  811. <table class="mlabels">
  812. <tr>
  813. <td class="mlabels-left">
  814. <table class="memname">
  815. <tr>
  816. <td class="memname"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> <a class="el" href="classutl_1_1ostream__dev.html">utl::ostream_dev</a>&lt; impl_t, data_t &gt;::put_ </td>
  817. <td>(</td>
  818. <td class="paramtype">const data_t *&#160;</td>
  819. <td class="paramname"><em>data</em>, </td>
  820. </tr>
  821. <tr>
  822. <td class="paramkey"></td>
  823. <td></td>
  824. <td class="paramtype"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a>&#160;</td>
  825. <td class="paramname"><em>n</em>&#160;</td>
  826. </tr>
  827. <tr>
  828. <td></td>
  829. <td>)</td>
  830. <td></td><td></td>
  831. </tr>
  832. </table>
  833. </td>
  834. <td class="mlabels-right">
  835. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
  836. </tr>
  837. </table>
  838. </div><div class="memdoc">
  839. <p class="definition">Definition at line <a class="el" href="ostream__dev_8h_source.html#l00078">78</a> of file <a class="el" href="ostream__dev_8h_source.html">ostream_dev.h</a>.</p>
  840. </div>
  841. </div>
  842. <hr/>The documentation for this class was generated from the following file:<ul>
  843. <li>include/utl/dev/<a class="el" href="ostream__dev_8h_source.html">ostream_dev.h</a></li>
  844. </ul>
  845. </div><!-- contents -->
  846. </div><!-- doc-content -->
  847. <!-- start footer part -->
  848. <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  849. <ul>
  850. <li class="navelem"><a class="el" href="namespaceutl.html">utl</a></li><li class="navelem"><a class="el" href="classutl_1_1ostream__dev.html">ostream_dev</a></li>
  851. <li class="footer">Generated by
  852. <a href="http://www.doxygen.org/index.html">
  853. <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
  854. </ul>
  855. </div>
  856. </body>
  857. </html>