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.

dev__iterators_8h.html 34 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  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: include/utl/dev/dev_iterators.h File 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('dev__iterators_8h.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="#nested-classes">Classes</a> &#124;
  89. <a href="#namespaces">Namespaces</a> </div>
  90. <div class="headertitle">
  91. <div class="title">dev_iterators.h File Reference</div> </div>
  92. </div><!--header-->
  93. <div class="contents">
  94. <p>Iterator collection for devices.
  95. <a href="#details">More...</a></p>
  96. <div class="textblock"><code>#include &lt;<a class="el" href="impl_8h_source.html">utl/core/impl.h</a>&gt;</code><br />
  97. <code>#include &lt;<a class="el" href="meta_8h_source.html">utl/meta/meta.h</a>&gt;</code><br />
  98. </div>
  99. <p><a href="dev__iterators_8h_source.html">Go to the source code of this file.</a></p>
  100. <table class="memberdecls">
  101. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
  102. Classes</h2></td></tr>
  103. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structutl_1_1dev__iterator__traits.html">utl::dev_iterator_traits&lt; _Cat, _Tp, _Diff &gt;</a></td></tr>
  104. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Device iterator collection. <a href="structutl_1_1dev__iterator__traits.html#details">More...</a><br /></td></tr>
  105. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  106. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structutl_1_1output__iterator__tag.html">utl::output_iterator_tag</a></td></tr>
  107. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterator tags [std.iterator.tags] Extension: <a class="el" href="structutl_1_1contiguous__iterator__tag.html">contiguous_iterator_tag</a> for denoting contiguous iterators. <a href="structutl_1_1output__iterator__tag.html#details">More...</a><br /></td></tr>
  108. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  109. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structutl_1_1input__iterator__tag.html">utl::input_iterator_tag</a></td></tr>
  110. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  111. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structutl_1_1forward__iterator__tag.html">utl::forward_iterator_tag</a></td></tr>
  112. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  113. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structutl_1_1bidirectional__iterator__tag.html">utl::bidirectional_iterator_tag</a></td></tr>
  114. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  115. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structutl_1_1random__access__iterator__tag.html">utl::random_access_iterator_tag</a></td></tr>
  116. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  117. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structutl_1_1contiguous__iterator__tag.html">utl::contiguous_iterator_tag</a></td></tr>
  118. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  119. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1ostreamdev__it.html">utl::ostreamdev_it&lt; cont_t, data_t &gt;</a></td></tr>
  120. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  121. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1istreamdev__it.html">utl::istreamdev_it&lt; cont_t, data_t &gt;</a></td></tr>
  122. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  123. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1outdev__it.html">utl::outdev_it&lt; cont_t, iter_t, _beg, _end &gt;</a></td></tr>
  124. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Output device iterator type. We "future call" interface methods from owner class to provide iterator functionality. <a href="classutl_1_1outdev__it.html#details">More...</a><br /></td></tr>
  125. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  126. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structutl_1_1outdev__it__details_1_1is__outdev__it__.html">utl::outdev_it_details::is_outdev_it_&lt; _Tp, typename &gt;</a></td></tr>
  127. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Primary template to catch any non SPI interface types. <a href="structutl_1_1outdev__it__details_1_1is__outdev__it__.html#details">More...</a><br /></td></tr>
  128. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  129. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structutl_1_1outdev__it__details_1_1is__outdev__it___3_01___tp_00_01meta_1_1void__t_3_01typename8786ebbbd0dc9ca1b14571e779d99d60.html">utl::outdev_it_details::is_outdev_it_&lt; _Tp, meta::void_t&lt; typename _Tp::value_type, typename _Tp::difference_type, typename _Tp::pointer, typename _Tp::reference, void &gt; &gt;</a></td></tr>
  130. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">template to catch a proper SPI interface type <a href="structutl_1_1outdev__it__details_1_1is__outdev__it___3_01___tp_00_01meta_1_1void__t_3_01typename8786ebbbd0dc9ca1b14571e779d99d60.html#details">More...</a><br /></td></tr>
  131. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  132. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1indev__it.html">utl::indev_it&lt; cont_t, iter_t, _beg, _size &gt;</a></td></tr>
  133. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input device iterator type. We "future call" interface methods from owner class to provide iterator functionality. <a href="classutl_1_1indev__it.html#details">More...</a><br /></td></tr>
  134. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  135. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structutl_1_1indev__it__details_1_1is__indev__it__.html">utl::indev_it_details::is_indev_it_&lt; _Tp, typename &gt;</a></td></tr>
  136. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Primary template to catch any non SPI interface types. <a href="structutl_1_1indev__it__details_1_1is__indev__it__.html#details">More...</a><br /></td></tr>
  137. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  138. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structutl_1_1indev__it__details_1_1is__indev__it___3_01___tp_00_01meta_1_1void__t_3_01typename_06508604dcee4010234c84cc332fa196b.html">utl::indev_it_details::is_indev_it_&lt; _Tp, meta::void_t&lt; typename _Tp::value_type, typename _Tp::difference_type, typename _Tp::pointer, typename _Tp::reference, void &gt; &gt;</a></td></tr>
  139. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">template to catch a proper SPI interface type <a href="structutl_1_1indev__it__details_1_1is__indev__it___3_01___tp_00_01meta_1_1void__t_3_01typename_06508604dcee4010234c84cc332fa196b.html#details">More...</a><br /></td></tr>
  140. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  141. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1iodev__it.html">utl::iodev_it&lt; cont_t, iter_t, _beg, _size &gt;</a></td></tr>
  142. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indexed device iterator type. We "future call" interface methods from owner class to provide iterator functionality. <a href="classutl_1_1iodev__it.html#details">More...</a><br /></td></tr>
  143. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  144. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structutl_1_1iodev__it_1_1value__type__t.html">utl::iodev_it&lt; cont_t, iter_t, _beg, _size &gt;::value_type_t</a></td></tr>
  145. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  146. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structutl_1_1idxdev__it__details_1_1is__idxdev__it__.html">utl::idxdev_it_details::is_idxdev_it_&lt; _Tp, typename &gt;</a></td></tr>
  147. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Primary template to catch any non SPI interface types. <a href="structutl_1_1idxdev__it__details_1_1is__idxdev__it__.html#details">More...</a><br /></td></tr>
  148. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  149. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structutl_1_1idxdev__it__details_1_1is__idxdev__it___3_01___tp_00_01meta_1_1void__t_3_01typenamebd9ada52ca7b7570c26d0c280af5e635.html">utl::idxdev_it_details::is_idxdev_it_&lt; _Tp, meta::void_t&lt; typename _Tp::value_type, typename _Tp::difference_type, typename _Tp::pointer, typename _Tp::reference, void &gt; &gt;</a></td></tr>
  150. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">template to catch a proper SPI interface type <a href="structutl_1_1idxdev__it__details_1_1is__idxdev__it___3_01___tp_00_01meta_1_1void__t_3_01typenamebd9ada52ca7b7570c26d0c280af5e635.html#details">More...</a><br /></td></tr>
  151. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  152. </table><table class="memberdecls">
  153. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
  154. Namespaces</h2></td></tr>
  155. <tr class="memitem:namespaceutl"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutl.html">utl</a></td></tr>
  156. <tr class="memdesc:namespaceutl"><td class="mdescLeft">&#160;</td><td class="mdescRight">STL's core language concepts. <br /></td></tr>
  157. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  158. <tr class="memitem:namespaceutl_1_1outdev__it__details"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutl_1_1outdev__it__details.html">utl::outdev_it_details</a></td></tr>
  159. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  160. <tr class="memitem:namespaceutl_1_1indev__it__details"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutl_1_1indev__it__details.html">utl::indev_it_details</a></td></tr>
  161. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  162. <tr class="memitem:namespaceutl_1_1idxdev__it__details"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceutl_1_1idxdev__it__details.html">utl::idxdev_it_details</a></td></tr>
  163. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  164. </table><table class="memberdecls">
  165. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
  166. Functions</h2></td></tr>
  167. <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
  168. <tr class="memitem:a5ba78d196f9abb63a1d2fff13cabe636"><td class="memTemplParams" colspan="2">template&lt;typename _C1 , typename _D1 , typename _C2 , typename _D2 &gt; </td></tr>
  169. <tr class="memitem:a5ba78d196f9abb63a1d2fff13cabe636"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutl.html#a5ba78d196f9abb63a1d2fff13cabe636">utl::operator==</a> (const istreamdev_it&lt; _C1, _D1 &gt; &amp;lhs, const istreamdev_it&lt; _C2, _D2 &gt; &amp;rhs) noexcept</td></tr>
  170. <tr class="memdesc:a5ba78d196f9abb63a1d2fff13cabe636"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equality comparison template so that comparison between cv-qualified and non-cv-qualified iterators be valid. <a href="namespaceutl.html#a5ba78d196f9abb63a1d2fff13cabe636">More...</a><br /></td></tr>
  171. <tr class="separator:a5ba78d196f9abb63a1d2fff13cabe636"><td class="memSeparator" colspan="2">&#160;</td></tr>
  172. <tr class="memitem:aa7a25ea4d2598ec5db5b37bfaaf55ec3"><td class="memTemplParams" colspan="2">template&lt;typename _C1 , typename _D1 , typename _C2 , typename _D2 &gt; </td></tr>
  173. <tr class="memitem:aa7a25ea4d2598ec5db5b37bfaaf55ec3"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutl.html#aa7a25ea4d2598ec5db5b37bfaaf55ec3">utl::operator!=</a> (const istreamdev_it&lt; _C1, _D1 &gt; &amp;lhs, const istreamdev_it&lt; _C2, _D2 &gt; &amp;rhs) noexcept</td></tr>
  174. <tr class="separator:aa7a25ea4d2598ec5db5b37bfaaf55ec3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  175. <tr class="memitem:a6726b451c897c4581e8781a819c025ba"><td class="memTemplParams" colspan="2">template&lt;typename _Cont1 , typename _It1 , index_t _beg1, index_t _end1, typename _Cont2 , typename _It2 , index_t _beg2, index_t _end2&gt; </td></tr>
  176. <tr class="memitem:a6726b451c897c4581e8781a819c025ba"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutl.html#a6726b451c897c4581e8781a819c025ba">utl::operator==</a> (const outdev_it&lt; _Cont1, _It1, _beg1, _end1 &gt; &amp;lhs, const outdev_it&lt; _Cont2, _It2, _beg2, _end2 &gt; &amp;rhs) noexcept</td></tr>
  177. <tr class="memdesc:a6726b451c897c4581e8781a819c025ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equality comparison template so that comparison between cv-qualified and non-cv-qualified iterators be valid. <a href="namespaceutl.html#a6726b451c897c4581e8781a819c025ba">More...</a><br /></td></tr>
  178. <tr class="separator:a6726b451c897c4581e8781a819c025ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
  179. <tr class="memitem:ada8975062732a20074909f8a3f609538"><td class="memTemplParams" colspan="2">template&lt;typename _Cont1 , typename _It1 , index_t _beg1, index_t _end1, typename _Cont2 , typename _It2 , index_t _beg2, index_t _end2&gt; </td></tr>
  180. <tr class="memitem:ada8975062732a20074909f8a3f609538"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutl.html#ada8975062732a20074909f8a3f609538">utl::operator!=</a> (const outdev_it&lt; _Cont1, _It1, _beg1, _end1 &gt; &amp;lhs, const outdev_it&lt; _Cont2, _It2, _beg2, _end2 &gt; &amp;rhs) noexcept</td></tr>
  181. <tr class="memdesc:ada8975062732a20074909f8a3f609538"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inequality comparison template so that comparison between cv-qualified and non-cv-qualified iterators be valid. <a href="namespaceutl.html#ada8975062732a20074909f8a3f609538">More...</a><br /></td></tr>
  182. <tr class="separator:ada8975062732a20074909f8a3f609538"><td class="memSeparator" colspan="2">&#160;</td></tr>
  183. <tr><td colspan="2"><div class="groupHeader">indev_it EqualityComparable &amp;&amp; LessThanComparable requirements</div></td></tr>
  184. <tr><td colspan="2"><div class="groupText"><p>comparison template so that comparison between cv-qualified and non-cv-qualified iterators be valid </p>
  185. </div></td></tr>
  186. <tr class="memitem:aa30fa8ed97138ea75003069144f78e97"><td class="memTemplParams" colspan="2">template&lt;typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2&gt; </td></tr>
  187. <tr class="memitem:aa30fa8ed97138ea75003069144f78e97"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutl.html#aa30fa8ed97138ea75003069144f78e97">utl::operator==</a> (const indev_it&lt; _Cont1, _It1, _beg1, _size1 &gt; &amp;x, const indev_it&lt; _Cont2, _It2, _beg2, _size2 &gt; &amp;y) noexcept</td></tr>
  188. <tr class="separator:aa30fa8ed97138ea75003069144f78e97"><td class="memSeparator" colspan="2">&#160;</td></tr>
  189. <tr class="memitem:aac9f2116bf5b1463391b2a5ec437ef1d"><td class="memTemplParams" colspan="2">template&lt;typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2&gt; </td></tr>
  190. <tr class="memitem:aac9f2116bf5b1463391b2a5ec437ef1d"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutl.html#aac9f2116bf5b1463391b2a5ec437ef1d">utl::operator&lt;</a> (const indev_it&lt; _Cont1, _It1, _beg1, _size1 &gt; &amp;x, const indev_it&lt; _Cont2, _It2, _beg2, _size2 &gt; &amp;y) noexcept</td></tr>
  191. <tr class="memdesc:aac9f2116bf5b1463391b2a5ec437ef1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Less than. <a href="namespaceutl.html#aac9f2116bf5b1463391b2a5ec437ef1d">More...</a><br /></td></tr>
  192. <tr class="separator:aac9f2116bf5b1463391b2a5ec437ef1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  193. <tr class="memitem:a15d049c37bf09ffb29f2a0c0070bf89c"><td class="memTemplParams" colspan="2">template&lt;typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2&gt; </td></tr>
  194. <tr class="memitem:a15d049c37bf09ffb29f2a0c0070bf89c"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutl.html#a15d049c37bf09ffb29f2a0c0070bf89c">utl::operator!=</a> (const indev_it&lt; _Cont1, _It1, _beg1, _size1 &gt; &amp;x, const indev_it&lt; _Cont2, _It2, _beg2, _size2 &gt; &amp;y) noexcept</td></tr>
  195. <tr class="separator:a15d049c37bf09ffb29f2a0c0070bf89c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  196. <tr class="memitem:a93043b2e245bb724c9c2e89577222532"><td class="memTemplParams" colspan="2">template&lt;typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2&gt; </td></tr>
  197. <tr class="memitem:a93043b2e245bb724c9c2e89577222532"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutl.html#a93043b2e245bb724c9c2e89577222532">utl::operator&lt;=</a> (const indev_it&lt; _Cont1, _It1, _beg1, _size1 &gt; &amp;x, const indev_it&lt; _Cont2, _It2, _beg2, _size2 &gt; &amp;y) noexcept</td></tr>
  198. <tr class="separator:a93043b2e245bb724c9c2e89577222532"><td class="memSeparator" colspan="2">&#160;</td></tr>
  199. <tr class="memitem:a254af18987f59f185ceeaac1aaf3c1e1"><td class="memTemplParams" colspan="2">template&lt;typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2&gt; </td></tr>
  200. <tr class="memitem:a254af18987f59f185ceeaac1aaf3c1e1"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutl.html#a254af18987f59f185ceeaac1aaf3c1e1">utl::operator&gt;</a> (const indev_it&lt; _Cont1, _It1, _beg1, _size1 &gt; &amp;x, const indev_it&lt; _Cont2, _It2, _beg2, _size2 &gt; &amp;y) noexcept</td></tr>
  201. <tr class="separator:a254af18987f59f185ceeaac1aaf3c1e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  202. <tr class="memitem:abdada8bc0cbd311c4dea3dde078f5483"><td class="memTemplParams" colspan="2">template&lt;typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2&gt; </td></tr>
  203. <tr class="memitem:abdada8bc0cbd311c4dea3dde078f5483"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutl.html#abdada8bc0cbd311c4dea3dde078f5483">utl::operator&gt;=</a> (const indev_it&lt; _Cont1, _It1, _beg1, _size1 &gt; &amp;x, const indev_it&lt; _Cont2, _It2, _beg2, _size2 &gt; &amp;y) noexcept</td></tr>
  204. <tr class="separator:abdada8bc0cbd311c4dea3dde078f5483"><td class="memSeparator" colspan="2">&#160;</td></tr>
  205. <tr class="memitem:a7ad3384389159ce575279712fb92e3c6"><td class="memTemplParams" colspan="2">template&lt;typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2&gt; </td></tr>
  206. <tr class="memitem:a7ad3384389159ce575279712fb92e3c6"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutl.html#a7ad3384389159ce575279712fb92e3c6">utl::operator==</a> (const iodev_it&lt; _Cont1, _It1, _beg1, _size1 &gt; &amp;x, const iodev_it&lt; _Cont2, _It2, _beg2, _size2 &gt; &amp;y) noexcept</td></tr>
  207. <tr class="separator:a7ad3384389159ce575279712fb92e3c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  208. <tr class="memitem:aacd0760a2943441abcc86ef9d825c8b0"><td class="memTemplParams" colspan="2">template&lt;typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2&gt; </td></tr>
  209. <tr class="memitem:aacd0760a2943441abcc86ef9d825c8b0"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutl.html#aacd0760a2943441abcc86ef9d825c8b0">utl::operator&lt;</a> (const iodev_it&lt; _Cont1, _It1, _beg1, _size1 &gt; &amp;x, const iodev_it&lt; _Cont2, _It2, _beg2, _size2 &gt; &amp;y) noexcept</td></tr>
  210. <tr class="memdesc:aacd0760a2943441abcc86ef9d825c8b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Less than. <a href="namespaceutl.html#aacd0760a2943441abcc86ef9d825c8b0">More...</a><br /></td></tr>
  211. <tr class="separator:aacd0760a2943441abcc86ef9d825c8b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  212. <tr class="memitem:a388830b63c30f5ee32a3e2a761c703c8"><td class="memTemplParams" colspan="2">template&lt;typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2&gt; </td></tr>
  213. <tr class="memitem:a388830b63c30f5ee32a3e2a761c703c8"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutl.html#a388830b63c30f5ee32a3e2a761c703c8">utl::operator!=</a> (const iodev_it&lt; _Cont1, _It1, _beg1, _size1 &gt; &amp;x, const iodev_it&lt; _Cont2, _It2, _beg2, _size2 &gt; &amp;y) noexcept</td></tr>
  214. <tr class="separator:a388830b63c30f5ee32a3e2a761c703c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  215. <tr class="memitem:aa369d59a59c21d50b371b5db6195b043"><td class="memTemplParams" colspan="2">template&lt;typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2&gt; </td></tr>
  216. <tr class="memitem:aa369d59a59c21d50b371b5db6195b043"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutl.html#aa369d59a59c21d50b371b5db6195b043">utl::operator&lt;=</a> (const iodev_it&lt; _Cont1, _It1, _beg1, _size1 &gt; &amp;x, const iodev_it&lt; _Cont2, _It2, _beg2, _size2 &gt; &amp;y) noexcept</td></tr>
  217. <tr class="separator:aa369d59a59c21d50b371b5db6195b043"><td class="memSeparator" colspan="2">&#160;</td></tr>
  218. <tr class="memitem:a623dee5dafd7fe274dc205c3e20c96af"><td class="memTemplParams" colspan="2">template&lt;typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2&gt; </td></tr>
  219. <tr class="memitem:a623dee5dafd7fe274dc205c3e20c96af"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutl.html#a623dee5dafd7fe274dc205c3e20c96af">utl::operator&gt;</a> (const iodev_it&lt; _Cont1, _It1, _beg1, _size1 &gt; &amp;x, const iodev_it&lt; _Cont2, _It2, _beg2, _size2 &gt; &amp;y) noexcept</td></tr>
  220. <tr class="separator:a623dee5dafd7fe274dc205c3e20c96af"><td class="memSeparator" colspan="2">&#160;</td></tr>
  221. <tr class="memitem:a1988125a6394416aaf6ae85eaafa3ec4"><td class="memTemplParams" colspan="2">template&lt;typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2&gt; </td></tr>
  222. <tr class="memitem:a1988125a6394416aaf6ae85eaafa3ec4"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutl.html#a1988125a6394416aaf6ae85eaafa3ec4">utl::operator&gt;=</a> (const iodev_it&lt; _Cont1, _It1, _beg1, _size1 &gt; &amp;x, const iodev_it&lt; _Cont2, _It2, _beg2, _size2 &gt; &amp;y) noexcept</td></tr>
  223. <tr class="separator:a1988125a6394416aaf6ae85eaafa3ec4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  224. <tr><td colspan="2"><div class="groupHeader">iterator arithmetic</div></td></tr>
  225. <tr class="memitem:aae4b45dc79b7d9b85e0bf83278f88508"><td class="memTemplParams" colspan="2">template&lt;typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2&gt; </td></tr>
  226. <tr class="memitem:aae4b45dc79b7d9b85e0bf83278f88508"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutl.html#aae4b45dc79b7d9b85e0bf83278f88508">utl::operator-</a> (indev_it&lt; _Cont1, _It1, _beg1, _size1 &gt; &amp;x, indev_it&lt; _Cont1, _It1, _beg1, _size1 &gt; &amp;y) noexcept -&gt; decltype(x.cursor() - y.cursor())</td></tr>
  227. <tr class="separator:aae4b45dc79b7d9b85e0bf83278f88508"><td class="memSeparator" colspan="2">&#160;</td></tr>
  228. <tr class="memitem:a69289a7a150563ce48244d7f39b33dbb"><td class="memTemplParams" colspan="2">template&lt;typename _Cont , typename _It , index_t _beg, size_t _size&gt; </td></tr>
  229. <tr class="memitem:a69289a7a150563ce48244d7f39b33dbb"><td class="memTemplItemLeft" align="right" valign="top">indev_it&lt; _Cont, _It, _beg, _size &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutl.html#a69289a7a150563ce48244d7f39b33dbb">utl::operator+</a> (typename _Cont::difference_type n, indev_it&lt; _Cont, _It, _beg, _size &gt; &amp;it) noexcept</td></tr>
  230. <tr class="separator:a69289a7a150563ce48244d7f39b33dbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  231. <tr class="memitem:a191590b661dc64e2fd487adb6b5e8889"><td class="memTemplParams" colspan="2">template&lt;typename _Cont1 , typename _It1 , index_t _beg1, size_t _size1, typename _Cont2 , typename _It2 , index_t _beg2, size_t _size2&gt; </td></tr>
  232. <tr class="memitem:a191590b661dc64e2fd487adb6b5e8889"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutl.html#a191590b661dc64e2fd487adb6b5e8889">utl::operator-</a> (iodev_it&lt; _Cont1, _It1, _beg1, _size1 &gt; &amp;x, iodev_it&lt; _Cont1, _It1, _beg1, _size1 &gt; &amp;y) noexcept -&gt; decltype(x.cursor() - y.cursor())</td></tr>
  233. <tr class="separator:a191590b661dc64e2fd487adb6b5e8889"><td class="memSeparator" colspan="2">&#160;</td></tr>
  234. <tr class="memitem:a829bc4894560bf7e0a6fd829ac9d3c10"><td class="memTemplParams" colspan="2">template&lt;typename _Cont , typename _It , index_t _beg, size_t _size&gt; </td></tr>
  235. <tr class="memitem:a829bc4894560bf7e0a6fd829ac9d3c10"><td class="memTemplItemLeft" align="right" valign="top">iodev_it&lt; _Cont, _It, _beg, _size &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceutl.html#a829bc4894560bf7e0a6fd829ac9d3c10">utl::operator+</a> (typename _Cont::difference_type n, iodev_it&lt; _Cont, _It, _beg, _size &gt; &amp;it) noexcept</td></tr>
  236. <tr class="separator:a829bc4894560bf7e0a6fd829ac9d3c10"><td class="memSeparator" colspan="2">&#160;</td></tr>
  237. </table>
  238. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  239. <div class="textblock"><p>Iterator collection for devices. </p>
  240. <p>Copyright (C) 2018 Christos Choutouridis</p>
  241. <p>This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.</p>
  242. <p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.</p>
  243. <p>You should have received a copy of the GNU Lesser General Public License along with this program. If not, see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>. </p>
  244. <p class="definition">Definition in file <a class="el" href="dev__iterators_8h_source.html">dev_iterators.h</a>.</p>
  245. </div></div><!-- contents -->
  246. </div><!-- doc-content -->
  247. <!-- start footer part -->
  248. <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  249. <ul>
  250. <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_82754f54d9380477ef02477185c1f103.html">utl</a></li><li class="navelem"><a class="el" href="dir_e9da18de27e34a68f4aee9f9a960d991.html">dev</a></li><li class="navelem"><a class="el" href="dev__iterators_8h.html">dev_iterators.h</a></li>
  251. <li class="footer">Generated by
  252. <a href="http://www.doxygen.org/index.html">
  253. <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
  254. </ul>
  255. </div>
  256. </body>
  257. </html>