Micro template library A library for building device drivers
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

943 lines
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>