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.
 
 
 
 

1490 lignes
78 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::idx_dev&lt; impl_t, data_t, idx_t, N &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_1idx__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_1idx__dev-members.html">List of all members</a> </div>
  92. <div class="headertitle">
  93. <div class="title">utl::idx_dev&lt; impl_t, data_t, idx_t, N &gt; Class Template Reference</div> </div>
  94. </div><!--header-->
  95. <div class="contents">
  96. <p>Abstract base class for indexed devices.
  97. <a href="classutl_1_1idx__dev.html#details">More...</a></p>
  98. <p><code>#include &lt;<a class="el" href="idx__dev_8h_source.html">idx_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:a6cdcb1da82a0047d990ee6bce8b6c32b"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#a6cdcb1da82a0047d990ee6bce8b6c32b">type</a> = <a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a></td></tr>
  103. <tr class="memdesc:a6cdcb1da82a0047d990ee6bce8b6c32b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Export type as identity meta-function. <a href="#a6cdcb1da82a0047d990ee6bce8b6c32b">More...</a><br /></td></tr>
  104. <tr class="separator:a6cdcb1da82a0047d990ee6bce8b6c32b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  105. <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
  106. <tr class="memitem:ace7a74e439972658d6006f83371ee0ca"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#ace7a74e439972658d6006f83371ee0ca">data_type</a> = data_t</td></tr>
  107. <tr class="memdesc:ace7a74e439972658d6006f83371ee0ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Export types as index device concept demands. <a href="#ace7a74e439972658d6006f83371ee0ca">More...</a><br /></td></tr>
  108. <tr class="separator:ace7a74e439972658d6006f83371ee0ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
  109. <tr class="memitem:acf054246b0c7c8be0a676fc1cf2b090c"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#acf054246b0c7c8be0a676fc1cf2b090c">pointer_type</a> = data_t *</td></tr>
  110. <tr class="separator:acf054246b0c7c8be0a676fc1cf2b090c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  111. <tr class="memitem:aa8055ff3787876f243710ff194c7b8d0"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#aa8055ff3787876f243710ff194c7b8d0">idx_type</a> = idx_t</td></tr>
  112. <tr class="separator:aa8055ff3787876f243710ff194c7b8d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  113. </table><table class="memberdecls">
  114. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  115. Public Member Functions</h2></td></tr>
  116. <tr><td colspan="2"><div class="groupHeader">Public index device interface</div></td></tr>
  117. <tr class="memitem:a04f9404d7741c3c6ac421c530dfe867c"><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_1idx__dev.html#a04f9404d7741c3c6ac421c530dfe867c">get</a> (data_t &amp;data, idx_t <a class="el" href="classutl_1_1idx__dev.html#a5ec37ed1b09a484563e4ad21107ac5a5">cursor</a>)</td></tr>
  118. <tr class="memdesc:a04f9404d7741c3c6ac421c530dfe867c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get interface. This function should read a single data_t object from device in blocking mode. <a href="#a04f9404d7741c3c6ac421c530dfe867c">More...</a><br /></td></tr>
  119. <tr class="separator:a04f9404d7741c3c6ac421c530dfe867c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  120. <tr class="memitem:aeef118cb863218cb2b5a1e8bb2dba600"><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_1idx__dev.html#aeef118cb863218cb2b5a1e8bb2dba600">get</a> (data_t *data, <a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> n, idx_t <a class="el" href="classutl_1_1idx__dev.html#a5ec37ed1b09a484563e4ad21107ac5a5">cursor</a>)</td></tr>
  121. <tr class="memdesc:aeef118cb863218cb2b5a1e8bb2dba600"><td class="mdescLeft">&#160;</td><td class="mdescRight">Old stile get functionality using free standing data_t*. This function should return a stream of data from device. <a href="#aeef118cb863218cb2b5a1e8bb2dba600">More...</a><br /></td></tr>
  122. <tr class="separator:aeef118cb863218cb2b5a1e8bb2dba600"><td class="memSeparator" colspan="2">&#160;</td></tr>
  123. <tr class="memitem:af588d605d6968164cca3e348b5363613"><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_1idx__dev.html#af588d605d6968164cca3e348b5363613">put</a> (const data_t &amp;data, idx_t <a class="el" href="classutl_1_1idx__dev.html#a5ec37ed1b09a484563e4ad21107ac5a5">cursor</a>)</td></tr>
  124. <tr class="memdesc:af588d605d6968164cca3e348b5363613"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put interface. This function should send a single data_t object to device. <a href="#af588d605d6968164cca3e348b5363613">More...</a><br /></td></tr>
  125. <tr class="separator:af588d605d6968164cca3e348b5363613"><td class="memSeparator" colspan="2">&#160;</td></tr>
  126. <tr class="memitem:a4d91ec798d3bf0da54467b4a394da839"><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_1idx__dev.html#a4d91ec798d3bf0da54467b4a394da839">put</a> (const data_t *data, <a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> n, idx_t <a class="el" href="classutl_1_1idx__dev.html#a5ec37ed1b09a484563e4ad21107ac5a5">cursor</a>)</td></tr>
  127. <tr class="memdesc:a4d91ec798d3bf0da54467b4a394da839"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put interface. This function should send a stream of data_t objects to device. <a href="#a4d91ec798d3bf0da54467b4a394da839">More...</a><br /></td></tr>
  128. <tr class="separator:a4d91ec798d3bf0da54467b4a394da839"><td class="memSeparator" colspan="2">&#160;</td></tr>
  129. <tr class="memitem:a5ec37ed1b09a484563e4ad21107ac5a5"><td class="memItemLeft" align="right" valign="top">idx_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#a5ec37ed1b09a484563e4ad21107ac5a5">cursor</a> () const</td></tr>
  130. <tr class="memdesc:a5ec37ed1b09a484563e4ad21107ac5a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current cursor position. <a href="#a5ec37ed1b09a484563e4ad21107ac5a5">More...</a><br /></td></tr>
  131. <tr class="separator:a5ec37ed1b09a484563e4ad21107ac5a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  132. <tr class="memitem:ab49339f7ff0608ab460f0883224acb3c"><td class="memItemLeft" align="right" valign="top">idx_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#ab49339f7ff0608ab460f0883224acb3c">cursor</a> (idx_t idx)</td></tr>
  133. <tr class="memdesc:ab49339f7ff0608ab460f0883224acb3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the cursor position. <a href="#ab49339f7ff0608ab460f0883224acb3c">More...</a><br /></td></tr>
  134. <tr class="separator:ab49339f7ff0608ab460f0883224acb3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  135. <tr><td colspan="2"><div class="groupHeader">Stream operator &gt;&gt; interface</div></td></tr>
  136. <tr class="memitem:a296be5211871773b2b8aa5409772ce6a"><td class="memTemplParams" colspan="2">template&lt;typename _Dst_t &gt; </td></tr>
  137. <tr class="memitem:a296be5211871773b2b8aa5409772ce6a"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#a296be5211871773b2b8aa5409772ce6a">operator&gt;&gt;</a> (_Dst_t &amp;dst)</td></tr>
  138. <tr class="memdesc:a296be5211871773b2b8aa5409772ce6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template operator&gt;&gt; implementation for for all by value/ref parameters. <a href="#a296be5211871773b2b8aa5409772ce6a">More...</a><br /></td></tr>
  139. <tr class="separator:a296be5211871773b2b8aa5409772ce6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  140. <tr class="memitem:af5822e3e77e2748a6eaf13b9381e0736"><td class="memTemplParams" colspan="2">template&lt;typename _Dst_t &gt; </td></tr>
  141. <tr class="memitem:af5822e3e77e2748a6eaf13b9381e0736"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#af5822e3e77e2748a6eaf13b9381e0736">operator&gt;&gt;</a> (_Dst_t *dst)=delete</td></tr>
  142. <tr class="memdesc:af5822e3e77e2748a6eaf13b9381e0736"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization to disallow pointer types as destination. <a href="#af5822e3e77e2748a6eaf13b9381e0736">More...</a><br /></td></tr>
  143. <tr class="separator:af5822e3e77e2748a6eaf13b9381e0736"><td class="memSeparator" colspan="2">&#160;</td></tr>
  144. <tr class="memitem:a3480680f94fcb06f9ee8b2e5dcdb4dcd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#a3480680f94fcb06f9ee8b2e5dcdb4dcd">operator&gt;&gt;</a> (data_t &amp;dst)</td></tr>
  145. <tr class="memdesc:a3480680f94fcb06f9ee8b2e5dcdb4dcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overload for single data_t object. <a href="#a3480680f94fcb06f9ee8b2e5dcdb4dcd">More...</a><br /></td></tr>
  146. <tr class="separator:a3480680f94fcb06f9ee8b2e5dcdb4dcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
  147. <tr><td colspan="2"><div class="groupHeader">Stream operator&lt;&lt; interface</div></td></tr>
  148. <tr class="memitem:a661ea93cc07a61ef208ab6f021f62907"><td class="memTemplParams" colspan="2">template&lt;typename _Src_t &gt; </td></tr>
  149. <tr class="memitem:a661ea93cc07a61ef208ab6f021f62907"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#a661ea93cc07a61ef208ab6f021f62907">operator&lt;&lt;</a> (_Src_t &amp;src)</td></tr>
  150. <tr class="memdesc:a661ea93cc07a61ef208ab6f021f62907"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template operator&lt;&lt; implementation for for all by value/ref parameters. <a href="#a661ea93cc07a61ef208ab6f021f62907">More...</a><br /></td></tr>
  151. <tr class="separator:a661ea93cc07a61ef208ab6f021f62907"><td class="memSeparator" colspan="2">&#160;</td></tr>
  152. <tr class="memitem:a4e5a520417e7defe7cec77c261a01b73"><td class="memTemplParams" colspan="2">template&lt;typename _Src_t &gt; </td></tr>
  153. <tr class="memitem:a4e5a520417e7defe7cec77c261a01b73"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#a4e5a520417e7defe7cec77c261a01b73">operator&lt;&lt;</a> (_Src_t *src)=delete</td></tr>
  154. <tr class="memdesc:a4e5a520417e7defe7cec77c261a01b73"><td class="mdescLeft">&#160;</td><td class="mdescRight">specialization to disallow pointer types as source <a href="#a4e5a520417e7defe7cec77c261a01b73">More...</a><br /></td></tr>
  155. <tr class="separator:a4e5a520417e7defe7cec77c261a01b73"><td class="memSeparator" colspan="2">&#160;</td></tr>
  156. <tr class="memitem:ad1c24182de1432f4d43eaa69db7aaec7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#ad1c24182de1432f4d43eaa69db7aaec7">operator&lt;&lt;</a> (const data_t &amp;src)</td></tr>
  157. <tr class="memdesc:ad1c24182de1432f4d43eaa69db7aaec7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overload for single data_t object. <a href="#ad1c24182de1432f4d43eaa69db7aaec7">More...</a><br /></td></tr>
  158. <tr class="separator:ad1c24182de1432f4d43eaa69db7aaec7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  159. <tr><td colspan="2"><div class="groupHeader">Helper operators</div></td></tr>
  160. <tr class="memitem:a5e0d647ad1cc5533e4f70292d8793a9f"><td class="memItemLeft" align="right" valign="top">data_t &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#a5e0d647ad1cc5533e4f70292d8793a9f">operator[]</a> (const idx_t idx)</td></tr>
  161. <tr class="separator:a5e0d647ad1cc5533e4f70292d8793a9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  162. <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
  163. <tr class="memitem:aae291a2bb6788f85aa543861ccdb51c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1idx__dev.html#a7aa9e9ecfa5035dba4c2f9ef9ec60c2a">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#aae291a2bb6788f85aa543861ccdb51c5">end</a> () noexcept</td></tr>
  164. <tr class="separator:aae291a2bb6788f85aa543861ccdb51c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  165. <tr class="memitem:ae1cf97364a8264b390b361fc6b54b389"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1idx__dev.html#afa0e264f696f45c5a1b663c7c868a510">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#ae1cf97364a8264b390b361fc6b54b389">end</a> () const noexcept</td></tr>
  166. <tr class="separator:ae1cf97364a8264b390b361fc6b54b389"><td class="memSeparator" colspan="2">&#160;</td></tr>
  167. <tr class="memitem:a6ee37538b456c4b53b0bd4b3757b5edf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1idx__dev.html#afa0e264f696f45c5a1b663c7c868a510">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#a6ee37538b456c4b53b0bd4b3757b5edf">cend</a> () const noexcept</td></tr>
  168. <tr class="separator:a6ee37538b456c4b53b0bd4b3757b5edf"><td class="memSeparator" colspan="2">&#160;</td></tr>
  169. </table><table class="memberdecls">
  170. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
  171. Protected Member Functions</h2></td></tr>
  172. <tr><td colspan="2"><div class="groupHeader">Constructor / Destructor</div></td></tr>
  173. <tr class="memitem:ac7fc9b499b2c4b73769b68d10181b08b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#ac7fc9b499b2c4b73769b68d10181b08b">~idx_dev</a> ()=default</td></tr>
  174. <tr class="memdesc:ac7fc9b499b2c4b73769b68d10181b08b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow destructor from derived only. <a href="#ac7fc9b499b2c4b73769b68d10181b08b">More...</a><br /></td></tr>
  175. <tr class="separator:ac7fc9b499b2c4b73769b68d10181b08b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  176. <tr class="memitem:a90c6f576acb2a1ced3e973864d5d61b1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#a90c6f576acb2a1ced3e973864d5d61b1">idx_dev</a> ()=default</td></tr>
  177. <tr class="memdesc:a90c6f576acb2a1ced3e973864d5d61b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">A default constructor from derived only. <a href="#a90c6f576acb2a1ced3e973864d5d61b1">More...</a><br /></td></tr>
  178. <tr class="separator:a90c6f576acb2a1ced3e973864d5d61b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  179. <tr class="memitem:a846e84b90848710336e2763c833eb8ec"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#a846e84b90848710336e2763c833eb8ec">idx_dev</a> (const <a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a> &amp;)=delete</td></tr>
  180. <tr class="memdesc:a846e84b90848710336e2763c833eb8ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">No copies. <a href="#a846e84b90848710336e2763c833eb8ec">More...</a><br /></td></tr>
  181. <tr class="separator:a846e84b90848710336e2763c833eb8ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
  182. <tr class="memitem:ac817369b5efb068d648328320a9cf6a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#ac817369b5efb068d648328320a9cf6a4">operator=</a> (const <a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a> &amp;)=delete</td></tr>
  183. <tr class="separator:ac817369b5efb068d648328320a9cf6a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  184. </table><table class="memberdecls">
  185. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-types"></a>
  186. Private Types</h2></td></tr>
  187. <tr class="memitem:afe9d6e2398154ac585db7c5972a671e6"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a> = <a class="el" href="classutl_1_1idx__dev.html">idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;</td></tr>
  188. <tr class="memdesc:afe9d6e2398154ac585db7c5972a671e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">class type syntactic sugar <a href="#afe9d6e2398154ac585db7c5972a671e6">More...</a><br /></td></tr>
  189. <tr class="separator:afe9d6e2398154ac585db7c5972a671e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  190. </table><table class="memberdecls">
  191. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
  192. Private Member Functions</h2></td></tr>
  193. <tr class="memitem:a814222014cab41a11fa8b2040e50310d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#a814222014cab41a11fa8b2040e50310d">_CRTP_IMPL</a> (impl_t)</td></tr>
  194. <tr class="separator:a814222014cab41a11fa8b2040e50310d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  195. <tr><td colspan="2"><div class="groupHeader">Common index device interface requirements</div></td></tr>
  196. <tr class="memitem:acc5ca7cdc56121ef7044ef89253b89b4"><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_1idx__dev.html#acc5ca7cdc56121ef7044ef89253b89b4">get_</a> (data_t &amp;data, idx_t idx)</td></tr>
  197. <tr class="separator:acc5ca7cdc56121ef7044ef89253b89b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  198. <tr class="memitem:a268d9f5940e7621affca5bffde8830b9"><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_1idx__dev.html#a268d9f5940e7621affca5bffde8830b9">get_</a> (data_t *data, <a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> n, idx_t idx)</td></tr>
  199. <tr class="separator:a268d9f5940e7621affca5bffde8830b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  200. <tr class="memitem:a7b986ccd5cc6a2ece87dacdb0b8f0a0d"><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_1idx__dev.html#a7b986ccd5cc6a2ece87dacdb0b8f0a0d">put_</a> (const data_t &amp;data, idx_t idx)</td></tr>
  201. <tr class="separator:a7b986ccd5cc6a2ece87dacdb0b8f0a0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  202. <tr class="memitem:aef5b7b2d58b2502ea7e60cfc9835e9b6"><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_1idx__dev.html#aef5b7b2d58b2502ea7e60cfc9835e9b6">put_</a> (const data_t *data, <a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> n, idx_t idx)</td></tr>
  203. <tr class="separator:aef5b7b2d58b2502ea7e60cfc9835e9b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  204. <tr class="memitem:aa184474f9ccb50bf7e2763a072fe64c5"><td class="memItemLeft" align="right" valign="top">idx_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#aa184474f9ccb50bf7e2763a072fe64c5">cursor_</a> () const</td></tr>
  205. <tr class="separator:aa184474f9ccb50bf7e2763a072fe64c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  206. <tr class="memitem:aa72ce1d299e2e994b811f127e7ce133f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#aa72ce1d299e2e994b811f127e7ce133f">cursor_</a> (idx_t idx)</td></tr>
  207. <tr class="separator:aa72ce1d299e2e994b811f127e7ce133f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  208. </table><table class="memberdecls">
  209. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
  210. STL-like Input iterator interface</h2></td></tr>
  211. <tr class="memitem:a7aa9e9ecfa5035dba4c2f9ef9ec60c2a"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#a7aa9e9ecfa5035dba4c2f9ef9ec60c2a">iterator</a> = idxdev_it&lt; <a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a>, data_t *, N &gt;</td></tr>
  212. <tr class="memdesc:a7aa9e9ecfa5035dba4c2f9ef9ec60c2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterator. <a href="#a7aa9e9ecfa5035dba4c2f9ef9ec60c2a">More...</a><br /></td></tr>
  213. <tr class="separator:a7aa9e9ecfa5035dba4c2f9ef9ec60c2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  214. <tr class="memitem:afa0e264f696f45c5a1b663c7c868a510"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#afa0e264f696f45c5a1b663c7c868a510">const_iterator</a> = idxdev_it&lt; <a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a>, const data_t *, N &gt;</td></tr>
  215. <tr class="memdesc:afa0e264f696f45c5a1b663c7c868a510"><td class="mdescLeft">&#160;</td><td class="mdescRight">Const iterator. <a href="#afa0e264f696f45c5a1b663c7c868a510">More...</a><br /></td></tr>
  216. <tr class="separator:afa0e264f696f45c5a1b663c7c868a510"><td class="memSeparator" colspan="2">&#160;</td></tr>
  217. <tr class="memitem:a83b186ed15e9bbe1e5d53e3941d517a7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1idx__dev.html#a7aa9e9ecfa5035dba4c2f9ef9ec60c2a">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#a83b186ed15e9bbe1e5d53e3941d517a7">begin</a> () noexcept</td></tr>
  218. <tr class="memdesc:a83b186ed15e9bbe1e5d53e3941d517a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">.begin implementation <a href="#a83b186ed15e9bbe1e5d53e3941d517a7">More...</a><br /></td></tr>
  219. <tr class="separator:a83b186ed15e9bbe1e5d53e3941d517a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  220. <tr class="memitem:ad456ced43be8ab4fb9a66840afa030f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1idx__dev.html#afa0e264f696f45c5a1b663c7c868a510">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#ad456ced43be8ab4fb9a66840afa030f7">begin</a> () const noexcept</td></tr>
  221. <tr class="separator:ad456ced43be8ab4fb9a66840afa030f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  222. <tr class="memitem:a7550b4dbfea20c02f4600821bf36dc0c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1idx__dev.html#afa0e264f696f45c5a1b663c7c868a510">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1idx__dev.html#a7550b4dbfea20c02f4600821bf36dc0c">cbegin</a> () const noexcept</td></tr>
  223. <tr class="separator:a7550b4dbfea20c02f4600821bf36dc0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  224. </table>
  225. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  226. <div class="textblock"><h3>template&lt;typename impl_t, typename data_t, typename idx_t, size_t N&gt;<br />
  227. class utl::idx_dev&lt; impl_t, data_t, idx_t, N &gt;</h3>
  228. <p>Abstract base class for indexed devices. </p>
  229. <p>Template base class for indexed (I/O) devices. using CRTP</p>
  230. <p>This class force a common interface for input, indexed (I/O) devices. By using this common interface the class implements</p><ul>
  231. <li>Stream-like extracting and insertion operator</li>
  232. <li>Helper operators</li>
  233. <li>Input iterator</li>
  234. <li>Const input iterator to inherit to implementation.</li>
  235. </ul>
  236. <dl class="params"><dt>Parameters</dt><dd>
  237. <table class="params">
  238. <tr><td class="paramname">impl_t</td><td>The CRTP type (the derived/implementation class typename). </td></tr>
  239. <tr><td class="paramname">data_t</td><td>The devices base type of data </td></tr>
  240. <tr><td class="paramname">idx_t</td><td>The type to use for indexing </td></tr>
  241. <tr><td class="paramname">streamsize</td><td>The number of elements to indicate eos. </td></tr>
  242. </table>
  243. </dd>
  244. </dl>
  245. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00056">56</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  246. </div><h2 class="groupheader">Member Typedef Documentation</h2>
  247. <a id="afa0e264f696f45c5a1b663c7c868a510"></a>
  248. <h2 class="memtitle"><span class="permalink"><a href="#afa0e264f696f45c5a1b663c7c868a510">&#9670;&nbsp;</a></span>const_iterator</h2>
  249. <div class="memitem">
  250. <div class="memproto">
  251. <div class="memtemplate">
  252. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  253. <table class="memname">
  254. <tr>
  255. <td class="memname">using <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::<a class="el" href="classutl_1_1idx__dev.html#afa0e264f696f45c5a1b663c7c868a510">const_iterator</a> = idxdev_it &lt;<a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a>, const data_t*, N&gt;</td>
  256. </tr>
  257. </table>
  258. </div><div class="memdoc">
  259. <p>Const iterator. </p>
  260. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00231">231</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  261. </div>
  262. </div>
  263. <a id="ace7a74e439972658d6006f83371ee0ca"></a>
  264. <h2 class="memtitle"><span class="permalink"><a href="#ace7a74e439972658d6006f83371ee0ca">&#9670;&nbsp;</a></span>data_type</h2>
  265. <div class="memitem">
  266. <div class="memproto">
  267. <div class="memtemplate">
  268. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  269. <table class="memname">
  270. <tr>
  271. <td class="memname">using <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::<a class="el" href="classutl_1_1idx__dev.html#ace7a74e439972658d6006f83371ee0ca">data_type</a> = data_t</td>
  272. </tr>
  273. </table>
  274. </div><div class="memdoc">
  275. <p>Export types as index device concept demands. </p>
  276. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00062">62</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  277. </div>
  278. </div>
  279. <a id="afe9d6e2398154ac585db7c5972a671e6"></a>
  280. <h2 class="memtitle"><span class="permalink"><a href="#afe9d6e2398154ac585db7c5972a671e6">&#9670;&nbsp;</a></span>idx_dev_t</h2>
  281. <div class="memitem">
  282. <div class="memproto">
  283. <div class="memtemplate">
  284. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  285. <table class="mlabels">
  286. <tr>
  287. <td class="mlabels-left">
  288. <table class="memname">
  289. <tr>
  290. <td class="memname">using <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::<a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a> = <a class="el" href="classutl_1_1idx__dev.html">idx_dev</a> &lt;impl_t, data_t, idx_t, N&gt;</td>
  291. </tr>
  292. </table>
  293. </td>
  294. <td class="mlabels-right">
  295. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  296. </tr>
  297. </table>
  298. </div><div class="memdoc">
  299. <p>class type syntactic sugar </p>
  300. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00058">58</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  301. </div>
  302. </div>
  303. <a id="aa8055ff3787876f243710ff194c7b8d0"></a>
  304. <h2 class="memtitle"><span class="permalink"><a href="#aa8055ff3787876f243710ff194c7b8d0">&#9670;&nbsp;</a></span>idx_type</h2>
  305. <div class="memitem">
  306. <div class="memproto">
  307. <div class="memtemplate">
  308. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  309. <table class="memname">
  310. <tr>
  311. <td class="memname">using <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::<a class="el" href="classutl_1_1idx__dev.html#aa8055ff3787876f243710ff194c7b8d0">idx_type</a> = idx_t</td>
  312. </tr>
  313. </table>
  314. </div><div class="memdoc">
  315. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00064">64</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  316. </div>
  317. </div>
  318. <a id="a7aa9e9ecfa5035dba4c2f9ef9ec60c2a"></a>
  319. <h2 class="memtitle"><span class="permalink"><a href="#a7aa9e9ecfa5035dba4c2f9ef9ec60c2a">&#9670;&nbsp;</a></span>iterator</h2>
  320. <div class="memitem">
  321. <div class="memproto">
  322. <div class="memtemplate">
  323. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  324. <table class="memname">
  325. <tr>
  326. <td class="memname">using <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::<a class="el" href="classutl_1_1idx__dev.html#a7aa9e9ecfa5035dba4c2f9ef9ec60c2a">iterator</a> = idxdev_it &lt;<a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a>, data_t*, N&gt;</td>
  327. </tr>
  328. </table>
  329. </div><div class="memdoc">
  330. <p>Iterator. </p>
  331. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00230">230</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  332. </div>
  333. </div>
  334. <a id="acf054246b0c7c8be0a676fc1cf2b090c"></a>
  335. <h2 class="memtitle"><span class="permalink"><a href="#acf054246b0c7c8be0a676fc1cf2b090c">&#9670;&nbsp;</a></span>pointer_type</h2>
  336. <div class="memitem">
  337. <div class="memproto">
  338. <div class="memtemplate">
  339. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  340. <table class="memname">
  341. <tr>
  342. <td class="memname">using <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::<a class="el" href="classutl_1_1idx__dev.html#acf054246b0c7c8be0a676fc1cf2b090c">pointer_type</a> = data_t*</td>
  343. </tr>
  344. </table>
  345. </div><div class="memdoc">
  346. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00063">63</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  347. </div>
  348. </div>
  349. <a id="a6cdcb1da82a0047d990ee6bce8b6c32b"></a>
  350. <h2 class="memtitle"><span class="permalink"><a href="#a6cdcb1da82a0047d990ee6bce8b6c32b">&#9670;&nbsp;</a></span>type</h2>
  351. <div class="memitem">
  352. <div class="memproto">
  353. <div class="memtemplate">
  354. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  355. <table class="memname">
  356. <tr>
  357. <td class="memname">using <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::<a class="el" href="classutl_1_1idx__dev.html#a6cdcb1da82a0047d990ee6bce8b6c32b">type</a> = <a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a></td>
  358. </tr>
  359. </table>
  360. </div><div class="memdoc">
  361. <p>Export type as identity meta-function. </p>
  362. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00066">66</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  363. </div>
  364. </div>
  365. <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
  366. <a id="ac7fc9b499b2c4b73769b68d10181b08b"></a>
  367. <h2 class="memtitle"><span class="permalink"><a href="#ac7fc9b499b2c4b73769b68d10181b08b">&#9670;&nbsp;</a></span>~idx_dev()</h2>
  368. <div class="memitem">
  369. <div class="memproto">
  370. <div class="memtemplate">
  371. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  372. <table class="mlabels">
  373. <tr>
  374. <td class="mlabels-left">
  375. <table class="memname">
  376. <tr>
  377. <td class="memname"><a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::~<a class="el" href="classutl_1_1idx__dev.html">idx_dev</a> </td>
  378. <td>(</td>
  379. <td class="paramname"></td><td>)</td>
  380. <td></td>
  381. </tr>
  382. </table>
  383. </td>
  384. <td class="mlabels-right">
  385. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">default</span></span> </td>
  386. </tr>
  387. </table>
  388. </div><div class="memdoc">
  389. <p>Allow destructor from derived only. </p>
  390. </div>
  391. </div>
  392. <a id="a90c6f576acb2a1ced3e973864d5d61b1"></a>
  393. <h2 class="memtitle"><span class="permalink"><a href="#a90c6f576acb2a1ced3e973864d5d61b1">&#9670;&nbsp;</a></span>idx_dev() <span class="overload">[1/2]</span></h2>
  394. <div class="memitem">
  395. <div class="memproto">
  396. <div class="memtemplate">
  397. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  398. <table class="mlabels">
  399. <tr>
  400. <td class="mlabels-left">
  401. <table class="memname">
  402. <tr>
  403. <td class="memname"><a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::<a class="el" href="classutl_1_1idx__dev.html">idx_dev</a> </td>
  404. <td>(</td>
  405. <td class="paramname"></td><td>)</td>
  406. <td></td>
  407. </tr>
  408. </table>
  409. </td>
  410. <td class="mlabels-right">
  411. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">default</span></span> </td>
  412. </tr>
  413. </table>
  414. </div><div class="memdoc">
  415. <p>A default constructor from derived only. </p>
  416. </div>
  417. </div>
  418. <a id="a846e84b90848710336e2763c833eb8ec"></a>
  419. <h2 class="memtitle"><span class="permalink"><a href="#a846e84b90848710336e2763c833eb8ec">&#9670;&nbsp;</a></span>idx_dev() <span class="overload">[2/2]</span></h2>
  420. <div class="memitem">
  421. <div class="memproto">
  422. <div class="memtemplate">
  423. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  424. <table class="mlabels">
  425. <tr>
  426. <td class="mlabels-left">
  427. <table class="memname">
  428. <tr>
  429. <td class="memname"><a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::<a class="el" href="classutl_1_1idx__dev.html">idx_dev</a> </td>
  430. <td>(</td>
  431. <td class="paramtype">const <a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a> &amp;&#160;</td>
  432. <td class="paramname"></td><td>)</td>
  433. <td></td>
  434. </tr>
  435. </table>
  436. </td>
  437. <td class="mlabels-right">
  438. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">delete</span></span> </td>
  439. </tr>
  440. </table>
  441. </div><div class="memdoc">
  442. <p>No copies. </p>
  443. </div>
  444. </div>
  445. <h2 class="groupheader">Member Function Documentation</h2>
  446. <a id="a814222014cab41a11fa8b2040e50310d"></a>
  447. <h2 class="memtitle"><span class="permalink"><a href="#a814222014cab41a11fa8b2040e50310d">&#9670;&nbsp;</a></span>_CRTP_IMPL()</h2>
  448. <div class="memitem">
  449. <div class="memproto">
  450. <div class="memtemplate">
  451. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  452. <table class="mlabels">
  453. <tr>
  454. <td class="mlabels-left">
  455. <table class="memname">
  456. <tr>
  457. <td class="memname"><a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::_CRTP_IMPL </td>
  458. <td>(</td>
  459. <td class="paramtype">impl_t&#160;</td>
  460. <td class="paramname"></td><td>)</td>
  461. <td></td>
  462. </tr>
  463. </table>
  464. </td>
  465. <td class="mlabels-right">
  466. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  467. </tr>
  468. </table>
  469. </div><div class="memdoc">
  470. </div>
  471. </div>
  472. <a id="a83b186ed15e9bbe1e5d53e3941d517a7"></a>
  473. <h2 class="memtitle"><span class="permalink"><a href="#a83b186ed15e9bbe1e5d53e3941d517a7">&#9670;&nbsp;</a></span>begin() <span class="overload">[1/2]</span></h2>
  474. <div class="memitem">
  475. <div class="memproto">
  476. <div class="memtemplate">
  477. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  478. <table class="mlabels">
  479. <tr>
  480. <td class="mlabels-left">
  481. <table class="memname">
  482. <tr>
  483. <td class="memname"><a class="el" href="classutl_1_1idx__dev.html#a7aa9e9ecfa5035dba4c2f9ef9ec60c2a">iterator</a> <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::begin </td>
  484. <td>(</td>
  485. <td class="paramname"></td><td>)</td>
  486. <td></td>
  487. </tr>
  488. </table>
  489. </td>
  490. <td class="mlabels-right">
  491. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  492. </tr>
  493. </table>
  494. </div><div class="memdoc">
  495. <p>.begin implementation </p>
  496. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00234">234</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  497. </div>
  498. </div>
  499. <a id="ad456ced43be8ab4fb9a66840afa030f7"></a>
  500. <h2 class="memtitle"><span class="permalink"><a href="#ad456ced43be8ab4fb9a66840afa030f7">&#9670;&nbsp;</a></span>begin() <span class="overload">[2/2]</span></h2>
  501. <div class="memitem">
  502. <div class="memproto">
  503. <div class="memtemplate">
  504. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  505. <table class="mlabels">
  506. <tr>
  507. <td class="mlabels-left">
  508. <table class="memname">
  509. <tr>
  510. <td class="memname"><a class="el" href="classutl_1_1idx__dev.html#afa0e264f696f45c5a1b663c7c868a510">const_iterator</a> <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::begin </td>
  511. <td>(</td>
  512. <td class="paramname"></td><td>)</td>
  513. <td> const</td>
  514. </tr>
  515. </table>
  516. </td>
  517. <td class="mlabels-right">
  518. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  519. </tr>
  520. </table>
  521. </div><div class="memdoc">
  522. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00235">235</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  523. </div>
  524. </div>
  525. <a id="a7550b4dbfea20c02f4600821bf36dc0c"></a>
  526. <h2 class="memtitle"><span class="permalink"><a href="#a7550b4dbfea20c02f4600821bf36dc0c">&#9670;&nbsp;</a></span>cbegin()</h2>
  527. <div class="memitem">
  528. <div class="memproto">
  529. <div class="memtemplate">
  530. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  531. <table class="mlabels">
  532. <tr>
  533. <td class="mlabels-left">
  534. <table class="memname">
  535. <tr>
  536. <td class="memname"><a class="el" href="classutl_1_1idx__dev.html#afa0e264f696f45c5a1b663c7c868a510">const_iterator</a> <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::cbegin </td>
  537. <td>(</td>
  538. <td class="paramname"></td><td>)</td>
  539. <td> const</td>
  540. </tr>
  541. </table>
  542. </td>
  543. <td class="mlabels-right">
  544. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  545. </tr>
  546. </table>
  547. </div><div class="memdoc">
  548. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00236">236</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  549. </div>
  550. </div>
  551. <a id="a6ee37538b456c4b53b0bd4b3757b5edf"></a>
  552. <h2 class="memtitle"><span class="permalink"><a href="#a6ee37538b456c4b53b0bd4b3757b5edf">&#9670;&nbsp;</a></span>cend()</h2>
  553. <div class="memitem">
  554. <div class="memproto">
  555. <div class="memtemplate">
  556. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  557. <table class="mlabels">
  558. <tr>
  559. <td class="mlabels-left">
  560. <table class="memname">
  561. <tr>
  562. <td class="memname"><a class="el" href="classutl_1_1idx__dev.html#afa0e264f696f45c5a1b663c7c868a510">const_iterator</a> <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::cend </td>
  563. <td>(</td>
  564. <td class="paramname"></td><td>)</td>
  565. <td> const</td>
  566. </tr>
  567. </table>
  568. </td>
  569. <td class="mlabels-right">
  570. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  571. </tr>
  572. </table>
  573. </div><div class="memdoc">
  574. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00241">241</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  575. </div>
  576. </div>
  577. <a id="a5ec37ed1b09a484563e4ad21107ac5a5"></a>
  578. <h2 class="memtitle"><span class="permalink"><a href="#a5ec37ed1b09a484563e4ad21107ac5a5">&#9670;&nbsp;</a></span>cursor() <span class="overload">[1/2]</span></h2>
  579. <div class="memitem">
  580. <div class="memproto">
  581. <div class="memtemplate">
  582. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  583. <table class="mlabels">
  584. <tr>
  585. <td class="mlabels-left">
  586. <table class="memname">
  587. <tr>
  588. <td class="memname">idx_t <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::cursor </td>
  589. <td>(</td>
  590. <td class="paramname"></td><td>)</td>
  591. <td> const</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>Return the current cursor position. </p>
  601. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00149">149</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  602. </div>
  603. </div>
  604. <a id="ab49339f7ff0608ab460f0883224acb3c"></a>
  605. <h2 class="memtitle"><span class="permalink"><a href="#ab49339f7ff0608ab460f0883224acb3c">&#9670;&nbsp;</a></span>cursor() <span class="overload">[2/2]</span></h2>
  606. <div class="memitem">
  607. <div class="memproto">
  608. <div class="memtemplate">
  609. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  610. <table class="mlabels">
  611. <tr>
  612. <td class="mlabels-left">
  613. <table class="memname">
  614. <tr>
  615. <td class="memname">idx_t <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::cursor </td>
  616. <td>(</td>
  617. <td class="paramtype">idx_t&#160;</td>
  618. <td class="paramname"><em>idx</em></td><td>)</td>
  619. <td></td>
  620. </tr>
  621. </table>
  622. </td>
  623. <td class="mlabels-right">
  624. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  625. </tr>
  626. </table>
  627. </div><div class="memdoc">
  628. <p>Set the cursor position. </p>
  629. <dl class="params"><dt>Parameters</dt><dd>
  630. <table class="params">
  631. <tr><td class="paramname">idx</td><td>Cursor address to set </td></tr>
  632. </table>
  633. </dd>
  634. </dl>
  635. <dl class="section return"><dt>Returns</dt><dd>The current cursor </dd></dl>
  636. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00156">156</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  637. </div>
  638. </div>
  639. <a id="aa184474f9ccb50bf7e2763a072fe64c5"></a>
  640. <h2 class="memtitle"><span class="permalink"><a href="#aa184474f9ccb50bf7e2763a072fe64c5">&#9670;&nbsp;</a></span>cursor_() <span class="overload">[1/2]</span></h2>
  641. <div class="memitem">
  642. <div class="memproto">
  643. <div class="memtemplate">
  644. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  645. <table class="mlabels">
  646. <tr>
  647. <td class="mlabels-left">
  648. <table class="memname">
  649. <tr>
  650. <td class="memname">idx_t <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::cursor_ </td>
  651. <td>(</td>
  652. <td class="paramname"></td><td>)</td>
  653. <td> const</td>
  654. </tr>
  655. </table>
  656. </td>
  657. <td class="mlabels-right">
  658. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
  659. </tr>
  660. </table>
  661. </div><div class="memdoc">
  662. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00086">86</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  663. </div>
  664. </div>
  665. <a id="aa72ce1d299e2e994b811f127e7ce133f"></a>
  666. <h2 class="memtitle"><span class="permalink"><a href="#aa72ce1d299e2e994b811f127e7ce133f">&#9670;&nbsp;</a></span>cursor_() <span class="overload">[2/2]</span></h2>
  667. <div class="memitem">
  668. <div class="memproto">
  669. <div class="memtemplate">
  670. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  671. <table class="mlabels">
  672. <tr>
  673. <td class="mlabels-left">
  674. <table class="memname">
  675. <tr>
  676. <td class="memname">void <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::cursor_ </td>
  677. <td>(</td>
  678. <td class="paramtype">idx_t&#160;</td>
  679. <td class="paramname"><em>idx</em></td><td>)</td>
  680. <td></td>
  681. </tr>
  682. </table>
  683. </td>
  684. <td class="mlabels-right">
  685. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
  686. </tr>
  687. </table>
  688. </div><div class="memdoc">
  689. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00087">87</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  690. </div>
  691. </div>
  692. <a id="aae291a2bb6788f85aa543861ccdb51c5"></a>
  693. <h2 class="memtitle"><span class="permalink"><a href="#aae291a2bb6788f85aa543861ccdb51c5">&#9670;&nbsp;</a></span>end() <span class="overload">[1/2]</span></h2>
  694. <div class="memitem">
  695. <div class="memproto">
  696. <div class="memtemplate">
  697. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  698. <table class="mlabels">
  699. <tr>
  700. <td class="mlabels-left">
  701. <table class="memname">
  702. <tr>
  703. <td class="memname"><a class="el" href="classutl_1_1idx__dev.html#a7aa9e9ecfa5035dba4c2f9ef9ec60c2a">iterator</a> <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::end </td>
  704. <td>(</td>
  705. <td class="paramname"></td><td>)</td>
  706. <td></td>
  707. </tr>
  708. </table>
  709. </td>
  710. <td class="mlabels-right">
  711. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  712. </tr>
  713. </table>
  714. </div><div class="memdoc">
  715. <p>.end implementation </p>
  716. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00239">239</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  717. </div>
  718. </div>
  719. <a id="ae1cf97364a8264b390b361fc6b54b389"></a>
  720. <h2 class="memtitle"><span class="permalink"><a href="#ae1cf97364a8264b390b361fc6b54b389">&#9670;&nbsp;</a></span>end() <span class="overload">[2/2]</span></h2>
  721. <div class="memitem">
  722. <div class="memproto">
  723. <div class="memtemplate">
  724. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  725. <table class="mlabels">
  726. <tr>
  727. <td class="mlabels-left">
  728. <table class="memname">
  729. <tr>
  730. <td class="memname"><a class="el" href="classutl_1_1idx__dev.html#afa0e264f696f45c5a1b663c7c868a510">const_iterator</a> <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::end </td>
  731. <td>(</td>
  732. <td class="paramname"></td><td>)</td>
  733. <td> const</td>
  734. </tr>
  735. </table>
  736. </td>
  737. <td class="mlabels-right">
  738. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
  739. </tr>
  740. </table>
  741. </div><div class="memdoc">
  742. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00240">240</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  743. </div>
  744. </div>
  745. <a id="a04f9404d7741c3c6ac421c530dfe867c"></a>
  746. <h2 class="memtitle"><span class="permalink"><a href="#a04f9404d7741c3c6ac421c530dfe867c">&#9670;&nbsp;</a></span>get() <span class="overload">[1/2]</span></h2>
  747. <div class="memitem">
  748. <div class="memproto">
  749. <div class="memtemplate">
  750. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  751. <table class="mlabels">
  752. <tr>
  753. <td class="mlabels-left">
  754. <table class="memname">
  755. <tr>
  756. <td class="memname"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::get </td>
  757. <td>(</td>
  758. <td class="paramtype">data_t &amp;&#160;</td>
  759. <td class="paramname"><em>data</em>, </td>
  760. </tr>
  761. <tr>
  762. <td class="paramkey"></td>
  763. <td></td>
  764. <td class="paramtype">idx_t&#160;</td>
  765. <td class="paramname"><em>cursor</em>&#160;</td>
  766. </tr>
  767. <tr>
  768. <td></td>
  769. <td>)</td>
  770. <td></td><td></td>
  771. </tr>
  772. </table>
  773. </td>
  774. <td class="mlabels-right">
  775. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  776. </tr>
  777. </table>
  778. </div><div class="memdoc">
  779. <p>Get interface. This function should read a single data_t object from device in blocking mode. </p>
  780. <dl class="params"><dt>Parameters</dt><dd>
  781. <table class="params">
  782. <tr><td class="paramname">data</td><td>Reference to data output from device. </td></tr>
  783. </table>
  784. </dd>
  785. </dl>
  786. <dl class="section return"><dt>Returns</dt><dd>Number of data read from device </dd></dl>
  787. <dl class="section note"><dt>Note</dt><dd>A successful call should return 1 </dd></dl>
  788. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00104">104</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  789. </div>
  790. </div>
  791. <a id="aeef118cb863218cb2b5a1e8bb2dba600"></a>
  792. <h2 class="memtitle"><span class="permalink"><a href="#aeef118cb863218cb2b5a1e8bb2dba600">&#9670;&nbsp;</a></span>get() <span class="overload">[2/2]</span></h2>
  793. <div class="memitem">
  794. <div class="memproto">
  795. <div class="memtemplate">
  796. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  797. <table class="mlabels">
  798. <tr>
  799. <td class="mlabels-left">
  800. <table class="memname">
  801. <tr>
  802. <td class="memname"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::get </td>
  803. <td>(</td>
  804. <td class="paramtype">data_t *&#160;</td>
  805. <td class="paramname"><em>data</em>, </td>
  806. </tr>
  807. <tr>
  808. <td class="paramkey"></td>
  809. <td></td>
  810. <td class="paramtype"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a>&#160;</td>
  811. <td class="paramname"><em>n</em>, </td>
  812. </tr>
  813. <tr>
  814. <td class="paramkey"></td>
  815. <td></td>
  816. <td class="paramtype">idx_t&#160;</td>
  817. <td class="paramname"><em>cursor</em>&#160;</td>
  818. </tr>
  819. <tr>
  820. <td></td>
  821. <td>)</td>
  822. <td></td><td></td>
  823. </tr>
  824. </table>
  825. </td>
  826. <td class="mlabels-right">
  827. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  828. </tr>
  829. </table>
  830. </div><div class="memdoc">
  831. <p>Old stile get functionality using free standing data_t*. This function should return a stream of data from device. </p>
  832. <dl class="params"><dt>Parameters</dt><dd>
  833. <table class="params">
  834. <tr><td class="paramname">data</td><td>Pointer to buffer to write the data from device. </td></tr>
  835. <tr><td class="paramname">n</td><td>The number of data of type data_t to read </td></tr>
  836. </table>
  837. </dd>
  838. </dl>
  839. <dl class="section return"><dt>Returns</dt><dd>The read data items. </dd></dl>
  840. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00116">116</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  841. </div>
  842. </div>
  843. <a id="acc5ca7cdc56121ef7044ef89253b89b4"></a>
  844. <h2 class="memtitle"><span class="permalink"><a href="#acc5ca7cdc56121ef7044ef89253b89b4">&#9670;&nbsp;</a></span>get_() <span class="overload">[1/2]</span></h2>
  845. <div class="memitem">
  846. <div class="memproto">
  847. <div class="memtemplate">
  848. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  849. <table class="mlabels">
  850. <tr>
  851. <td class="mlabels-left">
  852. <table class="memname">
  853. <tr>
  854. <td class="memname"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::get_ </td>
  855. <td>(</td>
  856. <td class="paramtype">data_t &amp;&#160;</td>
  857. <td class="paramname"><em>data</em>, </td>
  858. </tr>
  859. <tr>
  860. <td class="paramkey"></td>
  861. <td></td>
  862. <td class="paramtype">idx_t&#160;</td>
  863. <td class="paramname"><em>idx</em>&#160;</td>
  864. </tr>
  865. <tr>
  866. <td></td>
  867. <td>)</td>
  868. <td></td><td></td>
  869. </tr>
  870. </table>
  871. </td>
  872. <td class="mlabels-right">
  873. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
  874. </tr>
  875. </table>
  876. </div><div class="memdoc">
  877. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00082">82</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  878. </div>
  879. </div>
  880. <a id="a268d9f5940e7621affca5bffde8830b9"></a>
  881. <h2 class="memtitle"><span class="permalink"><a href="#a268d9f5940e7621affca5bffde8830b9">&#9670;&nbsp;</a></span>get_() <span class="overload">[2/2]</span></h2>
  882. <div class="memitem">
  883. <div class="memproto">
  884. <div class="memtemplate">
  885. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  886. <table class="mlabels">
  887. <tr>
  888. <td class="mlabels-left">
  889. <table class="memname">
  890. <tr>
  891. <td class="memname"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::get_ </td>
  892. <td>(</td>
  893. <td class="paramtype">data_t *&#160;</td>
  894. <td class="paramname"><em>data</em>, </td>
  895. </tr>
  896. <tr>
  897. <td class="paramkey"></td>
  898. <td></td>
  899. <td class="paramtype"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a>&#160;</td>
  900. <td class="paramname"><em>n</em>, </td>
  901. </tr>
  902. <tr>
  903. <td class="paramkey"></td>
  904. <td></td>
  905. <td class="paramtype">idx_t&#160;</td>
  906. <td class="paramname"><em>idx</em>&#160;</td>
  907. </tr>
  908. <tr>
  909. <td></td>
  910. <td>)</td>
  911. <td></td><td></td>
  912. </tr>
  913. </table>
  914. </td>
  915. <td class="mlabels-right">
  916. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
  917. </tr>
  918. </table>
  919. </div><div class="memdoc">
  920. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00083">83</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  921. </div>
  922. </div>
  923. <a id="a661ea93cc07a61ef208ab6f021f62907"></a>
  924. <h2 class="memtitle"><span class="permalink"><a href="#a661ea93cc07a61ef208ab6f021f62907">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[1/3]</span></h2>
  925. <div class="memitem">
  926. <div class="memproto">
  927. <div class="memtemplate">
  928. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  929. <div class="memtemplate">
  930. template&lt;typename _Src_t &gt; </div>
  931. <table class="mlabels">
  932. <tr>
  933. <td class="mlabels-left">
  934. <table class="memname">
  935. <tr>
  936. <td class="memname"><a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a>&amp; <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::operator&lt;&lt; </td>
  937. <td>(</td>
  938. <td class="paramtype">_Src_t &amp;&#160;</td>
  939. <td class="paramname"><em>src</em></td><td>)</td>
  940. <td></td>
  941. </tr>
  942. </table>
  943. </td>
  944. <td class="mlabels-right">
  945. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  946. </tr>
  947. </table>
  948. </div><div class="memdoc">
  949. <p>Template operator&lt;&lt; implementation for for all by value/ref parameters. </p>
  950. <dl class="params"><dt>Parameters</dt><dd>
  951. <table class="params">
  952. <tr><td class="paramname">src</td><td>Reference to source data </td></tr>
  953. </table>
  954. </dd>
  955. </dl>
  956. <dl class="section return"><dt>Returns</dt><dd>Reference to this device for chaining </dd></dl>
  957. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00198">198</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  958. </div>
  959. </div>
  960. <a id="a4e5a520417e7defe7cec77c261a01b73"></a>
  961. <h2 class="memtitle"><span class="permalink"><a href="#a4e5a520417e7defe7cec77c261a01b73">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[2/3]</span></h2>
  962. <div class="memitem">
  963. <div class="memproto">
  964. <div class="memtemplate">
  965. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  966. <div class="memtemplate">
  967. template&lt;typename _Src_t &gt; </div>
  968. <table class="mlabels">
  969. <tr>
  970. <td class="mlabels-left">
  971. <table class="memname">
  972. <tr>
  973. <td class="memname"><a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a>&amp; <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::operator&lt;&lt; </td>
  974. <td>(</td>
  975. <td class="paramtype">_Src_t *&#160;</td>
  976. <td class="paramname"><em>src</em></td><td>)</td>
  977. <td></td>
  978. </tr>
  979. </table>
  980. </td>
  981. <td class="mlabels-right">
  982. <span class="mlabels"><span class="mlabel">delete</span></span> </td>
  983. </tr>
  984. </table>
  985. </div><div class="memdoc">
  986. <p>specialization to disallow pointer types as source </p>
  987. </div>
  988. </div>
  989. <a id="ad1c24182de1432f4d43eaa69db7aaec7"></a>
  990. <h2 class="memtitle"><span class="permalink"><a href="#ad1c24182de1432f4d43eaa69db7aaec7">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[3/3]</span></h2>
  991. <div class="memitem">
  992. <div class="memproto">
  993. <div class="memtemplate">
  994. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  995. <table class="mlabels">
  996. <tr>
  997. <td class="mlabels-left">
  998. <table class="memname">
  999. <tr>
  1000. <td class="memname"><a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a>&amp; <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::operator&lt;&lt; </td>
  1001. <td>(</td>
  1002. <td class="paramtype">const data_t &amp;&#160;</td>
  1003. <td class="paramname"><em>src</em></td><td>)</td>
  1004. <td></td>
  1005. </tr>
  1006. </table>
  1007. </td>
  1008. <td class="mlabels-right">
  1009. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1010. </tr>
  1011. </table>
  1012. </div><div class="memdoc">
  1013. <p>Overload for single data_t object. </p>
  1014. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00209">209</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  1015. </div>
  1016. </div>
  1017. <a id="ac817369b5efb068d648328320a9cf6a4"></a>
  1018. <h2 class="memtitle"><span class="permalink"><a href="#ac817369b5efb068d648328320a9cf6a4">&#9670;&nbsp;</a></span>operator=()</h2>
  1019. <div class="memitem">
  1020. <div class="memproto">
  1021. <div class="memtemplate">
  1022. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  1023. <table class="mlabels">
  1024. <tr>
  1025. <td class="mlabels-left">
  1026. <table class="memname">
  1027. <tr>
  1028. <td class="memname"><a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a>&amp; <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::operator= </td>
  1029. <td>(</td>
  1030. <td class="paramtype">const <a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a> &amp;&#160;</td>
  1031. <td class="paramname"></td><td>)</td>
  1032. <td></td>
  1033. </tr>
  1034. </table>
  1035. </td>
  1036. <td class="mlabels-right">
  1037. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">delete</span></span> </td>
  1038. </tr>
  1039. </table>
  1040. </div><div class="memdoc">
  1041. <p>No copy assignments </p>
  1042. </div>
  1043. </div>
  1044. <a id="a296be5211871773b2b8aa5409772ce6a"></a>
  1045. <h2 class="memtitle"><span class="permalink"><a href="#a296be5211871773b2b8aa5409772ce6a">&#9670;&nbsp;</a></span>operator&gt;&gt;() <span class="overload">[1/3]</span></h2>
  1046. <div class="memitem">
  1047. <div class="memproto">
  1048. <div class="memtemplate">
  1049. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  1050. <div class="memtemplate">
  1051. template&lt;typename _Dst_t &gt; </div>
  1052. <table class="mlabels">
  1053. <tr>
  1054. <td class="mlabels-left">
  1055. <table class="memname">
  1056. <tr>
  1057. <td class="memname"><a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a>&amp; <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::operator&gt;&gt; </td>
  1058. <td>(</td>
  1059. <td class="paramtype">_Dst_t &amp;&#160;</td>
  1060. <td class="paramname"><em>dst</em></td><td>)</td>
  1061. <td></td>
  1062. </tr>
  1063. </table>
  1064. </td>
  1065. <td class="mlabels-right">
  1066. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1067. </tr>
  1068. </table>
  1069. </div><div class="memdoc">
  1070. <p>Template operator&gt;&gt; implementation for for all by value/ref parameters. </p>
  1071. <dl class="params"><dt>Parameters</dt><dd>
  1072. <table class="params">
  1073. <tr><td class="paramname">dst</td><td>Reference to destination </td></tr>
  1074. </table>
  1075. </dd>
  1076. </dl>
  1077. <dl class="section return"><dt>Returns</dt><dd>Reference to this device for chaining </dd></dl>
  1078. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00170">170</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  1079. </div>
  1080. </div>
  1081. <a id="af5822e3e77e2748a6eaf13b9381e0736"></a>
  1082. <h2 class="memtitle"><span class="permalink"><a href="#af5822e3e77e2748a6eaf13b9381e0736">&#9670;&nbsp;</a></span>operator&gt;&gt;() <span class="overload">[2/3]</span></h2>
  1083. <div class="memitem">
  1084. <div class="memproto">
  1085. <div class="memtemplate">
  1086. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  1087. <div class="memtemplate">
  1088. template&lt;typename _Dst_t &gt; </div>
  1089. <table class="mlabels">
  1090. <tr>
  1091. <td class="mlabels-left">
  1092. <table class="memname">
  1093. <tr>
  1094. <td class="memname"><a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a>&amp; <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::operator&gt;&gt; </td>
  1095. <td>(</td>
  1096. <td class="paramtype">_Dst_t *&#160;</td>
  1097. <td class="paramname"><em>dst</em></td><td>)</td>
  1098. <td></td>
  1099. </tr>
  1100. </table>
  1101. </td>
  1102. <td class="mlabels-right">
  1103. <span class="mlabels"><span class="mlabel">delete</span></span> </td>
  1104. </tr>
  1105. </table>
  1106. </div><div class="memdoc">
  1107. <p>Specialization to disallow pointer types as destination. </p>
  1108. </div>
  1109. </div>
  1110. <a id="a3480680f94fcb06f9ee8b2e5dcdb4dcd"></a>
  1111. <h2 class="memtitle"><span class="permalink"><a href="#a3480680f94fcb06f9ee8b2e5dcdb4dcd">&#9670;&nbsp;</a></span>operator&gt;&gt;() <span class="overload">[3/3]</span></h2>
  1112. <div class="memitem">
  1113. <div class="memproto">
  1114. <div class="memtemplate">
  1115. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  1116. <table class="mlabels">
  1117. <tr>
  1118. <td class="mlabels-left">
  1119. <table class="memname">
  1120. <tr>
  1121. <td class="memname"><a class="el" href="classutl_1_1idx__dev.html#afe9d6e2398154ac585db7c5972a671e6">idx_dev_t</a>&amp; <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::operator&gt;&gt; </td>
  1122. <td>(</td>
  1123. <td class="paramtype">data_t &amp;&#160;</td>
  1124. <td class="paramname"><em>dst</em></td><td>)</td>
  1125. <td></td>
  1126. </tr>
  1127. </table>
  1128. </td>
  1129. <td class="mlabels-right">
  1130. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1131. </tr>
  1132. </table>
  1133. </div><div class="memdoc">
  1134. <p>Overload for single data_t object. </p>
  1135. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00181">181</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  1136. </div>
  1137. </div>
  1138. <a id="a5e0d647ad1cc5533e4f70292d8793a9f"></a>
  1139. <h2 class="memtitle"><span class="permalink"><a href="#a5e0d647ad1cc5533e4f70292d8793a9f">&#9670;&nbsp;</a></span>operator[]()</h2>
  1140. <div class="memitem">
  1141. <div class="memproto">
  1142. <div class="memtemplate">
  1143. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  1144. <table class="mlabels">
  1145. <tr>
  1146. <td class="mlabels-left">
  1147. <table class="memname">
  1148. <tr>
  1149. <td class="memname">data_t&amp; <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::operator[] </td>
  1150. <td>(</td>
  1151. <td class="paramtype">const idx_t&#160;</td>
  1152. <td class="paramname"><em>idx</em></td><td>)</td>
  1153. <td></td>
  1154. </tr>
  1155. </table>
  1156. </td>
  1157. <td class="mlabels-right">
  1158. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1159. </tr>
  1160. </table>
  1161. </div><div class="memdoc">
  1162. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00219">219</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  1163. </div>
  1164. </div>
  1165. <a id="af588d605d6968164cca3e348b5363613"></a>
  1166. <h2 class="memtitle"><span class="permalink"><a href="#af588d605d6968164cca3e348b5363613">&#9670;&nbsp;</a></span>put() <span class="overload">[1/2]</span></h2>
  1167. <div class="memitem">
  1168. <div class="memproto">
  1169. <div class="memtemplate">
  1170. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  1171. <table class="mlabels">
  1172. <tr>
  1173. <td class="mlabels-left">
  1174. <table class="memname">
  1175. <tr>
  1176. <td class="memname"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::put </td>
  1177. <td>(</td>
  1178. <td class="paramtype">const data_t &amp;&#160;</td>
  1179. <td class="paramname"><em>data</em>, </td>
  1180. </tr>
  1181. <tr>
  1182. <td class="paramkey"></td>
  1183. <td></td>
  1184. <td class="paramtype">idx_t&#160;</td>
  1185. <td class="paramname"><em>cursor</em>&#160;</td>
  1186. </tr>
  1187. <tr>
  1188. <td></td>
  1189. <td>)</td>
  1190. <td></td><td></td>
  1191. </tr>
  1192. </table>
  1193. </td>
  1194. <td class="mlabels-right">
  1195. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1196. </tr>
  1197. </table>
  1198. </div><div class="memdoc">
  1199. <p>Put interface. This function should send a single data_t object to device. </p>
  1200. <dl class="params"><dt>Parameters</dt><dd>
  1201. <table class="params">
  1202. <tr><td class="paramname">data</td><td>The data to send </td></tr>
  1203. </table>
  1204. </dd>
  1205. </dl>
  1206. <dl class="section return"><dt>Returns</dt><dd>The number of transmitted data items </dd></dl>
  1207. <dl class="section note"><dt>Note</dt><dd>A successful call should return 1 </dd></dl>
  1208. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00129">129</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  1209. </div>
  1210. </div>
  1211. <a id="a4d91ec798d3bf0da54467b4a394da839"></a>
  1212. <h2 class="memtitle"><span class="permalink"><a href="#a4d91ec798d3bf0da54467b4a394da839">&#9670;&nbsp;</a></span>put() <span class="overload">[2/2]</span></h2>
  1213. <div class="memitem">
  1214. <div class="memproto">
  1215. <div class="memtemplate">
  1216. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  1217. <table class="mlabels">
  1218. <tr>
  1219. <td class="mlabels-left">
  1220. <table class="memname">
  1221. <tr>
  1222. <td class="memname"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::put </td>
  1223. <td>(</td>
  1224. <td class="paramtype">const data_t *&#160;</td>
  1225. <td class="paramname"><em>data</em>, </td>
  1226. </tr>
  1227. <tr>
  1228. <td class="paramkey"></td>
  1229. <td></td>
  1230. <td class="paramtype"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a>&#160;</td>
  1231. <td class="paramname"><em>n</em>, </td>
  1232. </tr>
  1233. <tr>
  1234. <td class="paramkey"></td>
  1235. <td></td>
  1236. <td class="paramtype">idx_t&#160;</td>
  1237. <td class="paramname"><em>cursor</em>&#160;</td>
  1238. </tr>
  1239. <tr>
  1240. <td></td>
  1241. <td>)</td>
  1242. <td></td><td></td>
  1243. </tr>
  1244. </table>
  1245. </td>
  1246. <td class="mlabels-right">
  1247. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1248. </tr>
  1249. </table>
  1250. </div><div class="memdoc">
  1251. <p>Put interface. This function should send a stream of data_t objects to device. </p>
  1252. <dl class="params"><dt>Parameters</dt><dd>
  1253. <table class="params">
  1254. <tr><td class="paramname">data</td><td>Pointer to buffer indenting write to device. </td></tr>
  1255. <tr><td class="paramname">n</td><td>The number of data of type data_t to send </td></tr>
  1256. </table>
  1257. </dd>
  1258. </dl>
  1259. <dl class="section return"><dt>Returns</dt><dd>The number of transmitted items. </dd></dl>
  1260. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00141">141</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  1261. </div>
  1262. </div>
  1263. <a id="a7b986ccd5cc6a2ece87dacdb0b8f0a0d"></a>
  1264. <h2 class="memtitle"><span class="permalink"><a href="#a7b986ccd5cc6a2ece87dacdb0b8f0a0d">&#9670;&nbsp;</a></span>put_() <span class="overload">[1/2]</span></h2>
  1265. <div class="memitem">
  1266. <div class="memproto">
  1267. <div class="memtemplate">
  1268. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  1269. <table class="mlabels">
  1270. <tr>
  1271. <td class="mlabels-left">
  1272. <table class="memname">
  1273. <tr>
  1274. <td class="memname"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::put_ </td>
  1275. <td>(</td>
  1276. <td class="paramtype">const data_t &amp;&#160;</td>
  1277. <td class="paramname"><em>data</em>, </td>
  1278. </tr>
  1279. <tr>
  1280. <td class="paramkey"></td>
  1281. <td></td>
  1282. <td class="paramtype">idx_t&#160;</td>
  1283. <td class="paramname"><em>idx</em>&#160;</td>
  1284. </tr>
  1285. <tr>
  1286. <td></td>
  1287. <td>)</td>
  1288. <td></td><td></td>
  1289. </tr>
  1290. </table>
  1291. </td>
  1292. <td class="mlabels-right">
  1293. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
  1294. </tr>
  1295. </table>
  1296. </div><div class="memdoc">
  1297. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00084">84</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  1298. </div>
  1299. </div>
  1300. <a id="aef5b7b2d58b2502ea7e60cfc9835e9b6"></a>
  1301. <h2 class="memtitle"><span class="permalink"><a href="#aef5b7b2d58b2502ea7e60cfc9835e9b6">&#9670;&nbsp;</a></span>put_() <span class="overload">[2/2]</span></h2>
  1302. <div class="memitem">
  1303. <div class="memproto">
  1304. <div class="memtemplate">
  1305. template&lt;typename impl_t , typename data_t , typename idx_t , size_t N&gt; </div>
  1306. <table class="mlabels">
  1307. <tr>
  1308. <td class="mlabels-left">
  1309. <table class="memname">
  1310. <tr>
  1311. <td class="memname"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> <a class="el" href="classutl_1_1idx__dev.html">utl::idx_dev</a>&lt; impl_t, data_t, idx_t, N &gt;::put_ </td>
  1312. <td>(</td>
  1313. <td class="paramtype">const data_t *&#160;</td>
  1314. <td class="paramname"><em>data</em>, </td>
  1315. </tr>
  1316. <tr>
  1317. <td class="paramkey"></td>
  1318. <td></td>
  1319. <td class="paramtype"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a>&#160;</td>
  1320. <td class="paramname"><em>n</em>, </td>
  1321. </tr>
  1322. <tr>
  1323. <td class="paramkey"></td>
  1324. <td></td>
  1325. <td class="paramtype">idx_t&#160;</td>
  1326. <td class="paramname"><em>idx</em>&#160;</td>
  1327. </tr>
  1328. <tr>
  1329. <td></td>
  1330. <td>)</td>
  1331. <td></td><td></td>
  1332. </tr>
  1333. </table>
  1334. </td>
  1335. <td class="mlabels-right">
  1336. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
  1337. </tr>
  1338. </table>
  1339. </div><div class="memdoc">
  1340. <p class="definition">Definition at line <a class="el" href="idx__dev_8h_source.html#l00085">85</a> of file <a class="el" href="idx__dev_8h_source.html">idx_dev.h</a>.</p>
  1341. </div>
  1342. </div>
  1343. <hr/>The documentation for this class was generated from the following file:<ul>
  1344. <li>include/utl/dev/<a class="el" href="idx__dev_8h_source.html">idx_dev.h</a></li>
  1345. </ul>
  1346. </div><!-- contents -->
  1347. </div><!-- doc-content -->
  1348. <!-- start footer part -->
  1349. <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  1350. <ul>
  1351. <li class="navelem"><a class="el" href="namespaceutl.html">utl</a></li><li class="navelem"><a class="el" href="classutl_1_1idx__dev.html">idx_dev</a></li>
  1352. <li class="footer">Generated by
  1353. <a href="http://www.doxygen.org/index.html">
  1354. <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
  1355. </ul>
  1356. </div>
  1357. </body>
  1358. </html>