Micro template library A library for building device drivers
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 

1727 líneas
114 KiB

  1. \hypertarget{namespaceutl}{}\section{utl Namespace Reference}
  2. \label{namespaceutl}\index{utl@{utl}}
  3. S\+TL\textquotesingle{}s core language concepts.
  4. \subsection*{Namespaces}
  5. \begin{DoxyCompactItemize}
  6. \item
  7. \mbox{\hyperlink{namespaceutl_1_1__1wire__i__det}{\+\_\+1wire\+\_\+i\+\_\+det}}
  8. \item
  9. \mbox{\hyperlink{namespaceutl_1_1common__impl}{common\+\_\+impl}}
  10. \item
  11. \mbox{\hyperlink{namespaceutl_1_1detail}{detail}}
  12. \item
  13. \mbox{\hyperlink{namespaceutl_1_1details}{details}}
  14. \item
  15. \mbox{\hyperlink{namespaceutl_1_1i2c__i__details}{i2c\+\_\+i\+\_\+details}}
  16. \item
  17. \mbox{\hyperlink{namespaceutl_1_1idx__dev__details}{idx\+\_\+dev\+\_\+details}}
  18. \item
  19. \mbox{\hyperlink{namespaceutl_1_1idxdev__it__details}{idxdev\+\_\+it\+\_\+details}}
  20. \item
  21. \mbox{\hyperlink{namespaceutl_1_1in__dev__details}{in\+\_\+dev\+\_\+details}}
  22. \item
  23. \mbox{\hyperlink{namespaceutl_1_1inbuf__dev__details}{inbuf\+\_\+dev\+\_\+details}}
  24. \item
  25. \mbox{\hyperlink{namespaceutl_1_1indev__it__details}{indev\+\_\+it\+\_\+details}}
  26. \item
  27. \mbox{\hyperlink{namespaceutl_1_1meta}{meta}}
  28. \item
  29. \mbox{\hyperlink{namespaceutl_1_1out__dev__details}{out\+\_\+dev\+\_\+details}}
  30. \item
  31. \mbox{\hyperlink{namespaceutl_1_1outdev__it__details}{outdev\+\_\+it\+\_\+details}}
  32. \item
  33. \mbox{\hyperlink{namespaceutl_1_1spi}{spi}}
  34. \begin{DoxyCompactList}\small\item\em Abstract base class for spi bus. \end{DoxyCompactList}\item
  35. \mbox{\hyperlink{namespaceutl_1_1spi__i__details}{spi\+\_\+i\+\_\+details}}
  36. \end{DoxyCompactItemize}
  37. \subsection*{Classes}
  38. \begin{DoxyCompactItemize}
  39. \item
  40. class \mbox{\hyperlink{classutl_1_1__1wire__i}{\+\_\+1wire\+\_\+i}}
  41. \begin{DoxyCompactList}\small\item\em Template base class for 1-\/wire communication interface using C\+R\+TP. \end{DoxyCompactList}\item
  42. class \mbox{\hyperlink{classutl_1_1__1wire__i_3_01virtual__tag_01_4}{\+\_\+1wire\+\_\+i$<$ virtual\+\_\+tag $>$}}
  43. \begin{DoxyCompactList}\small\item\em A virtual base class implementation. \end{DoxyCompactList}\item
  44. class \mbox{\hyperlink{classutl_1_1__1wire__id__t}{\+\_\+1wire\+\_\+id\+\_\+t}}
  45. \item
  46. class \mbox{\hyperlink{classutl_1_1__1wire__uart__i}{\+\_\+1wire\+\_\+uart\+\_\+i}}
  47. \begin{DoxyCompactList}\small\item\em 1-\/wire U\+A\+RT interface template class using C\+R\+TP Using the private virtual interface we provide the interface from \+\_\+1wire\+\_\+i$<$$>$ \end{DoxyCompactList}\item
  48. class \mbox{\hyperlink{classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4}{\+\_\+1wire\+\_\+uart\+\_\+i$<$ virtual\+\_\+tag $>$}}
  49. \begin{DoxyCompactList}\small\item\em A virtual base class interface implementation. Using the private virtual interface we provide the interface from \mbox{\hyperlink{classutl_1_1__1wire__i_3_01virtual__tag_01_4}{\+\_\+1wire\+\_\+i$<$virtual\+\_\+tag$>$}} \end{DoxyCompactList}\item
  50. struct \mbox{\hyperlink{structutl_1_1array}{array}}
  51. \begin{DoxyCompactList}\small\item\em A standard container for storing a fixed size sequence of elements. \end{DoxyCompactList}\item
  52. struct \mbox{\hyperlink{structutl_1_1array__traits}{array\+\_\+traits}}
  53. \begin{DoxyCompactList}\small\item\em array container traits helper \end{DoxyCompactList}\item
  54. struct \mbox{\hyperlink{structutl_1_1array__traits_3_01___tp_00_010_01_4}{array\+\_\+traits$<$ \+\_\+\+Tp, 0 $>$}}
  55. \item
  56. struct \mbox{\hyperlink{structutl_1_1bidirectional__iterator__tag}{bidirectional\+\_\+iterator\+\_\+tag}}
  57. \item
  58. struct \mbox{\hyperlink{structutl_1_1contiguous__iterator__tag}{contiguous\+\_\+iterator\+\_\+tag}}
  59. \item
  60. struct \mbox{\hyperlink{structutl_1_1crtp__tag}{crtp\+\_\+tag}}
  61. \begin{DoxyCompactList}\small\item\em C\+R\+TP support tag type. \end{DoxyCompactList}\item
  62. struct \mbox{\hyperlink{structutl_1_1dev__iterator__traits}{dev\+\_\+iterator\+\_\+traits}}
  63. \begin{DoxyCompactList}\small\item\em Device iterator collection. \end{DoxyCompactList}\item
  64. struct \mbox{\hyperlink{structutl_1_1forward__iterator__tag}{forward\+\_\+iterator\+\_\+tag}}
  65. \item
  66. class \mbox{\hyperlink{classutl_1_1i2c__bb__i}{i2c\+\_\+bb\+\_\+i}}
  67. \begin{DoxyCompactList}\small\item\em A bit banking implementation of i2c bus inherited from \mbox{\hyperlink{classutl_1_1i2c__i}{i2c\+\_\+i}} base class. \end{DoxyCompactList}\item
  68. class \mbox{\hyperlink{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4}{i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$}}
  69. \begin{DoxyCompactList}\small\item\em A virtual base class interface specialization. Using the private virtual interface we provide the interface from \mbox{\hyperlink{classutl_1_1i2c__i_3_01virtual__tag_01_4}{i2c\+\_\+i$<$virtual\+\_\+tag$>$}} \end{DoxyCompactList}\item
  70. class \mbox{\hyperlink{classutl_1_1i2c__i}{i2c\+\_\+i}}
  71. \begin{DoxyCompactList}\small\item\em Abstract base class for i2c bus. \end{DoxyCompactList}\item
  72. class \mbox{\hyperlink{classutl_1_1i2c__i_3_01virtual__tag_01_4}{i2c\+\_\+i$<$ virtual\+\_\+tag $>$}}
  73. \begin{DoxyCompactList}\small\item\em A virtual base class specialization. \end{DoxyCompactList}\item
  74. struct \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}
  75. \begin{DoxyCompactList}\small\item\em A standard container for storing I\+Ds as a fixed size sequence of bytes. This type is based on etl\+::array Meets the requirements of\+: \href{tables.html#65}{\tt container}, \href{tables.html#66}{\tt reversible container}, \href{tables.html#67}{\tt sequence}. Sets support random access iterators. \end{DoxyCompactList}\item
  76. struct \mbox{\hyperlink{structutl_1_1id__traits}{id\+\_\+traits}}
  77. \begin{DoxyCompactList}\small\item\em id container traits helper \end{DoxyCompactList}\item
  78. struct \mbox{\hyperlink{structutl_1_1id__traits_3_01___tp_00_010_01_4}{id\+\_\+traits$<$ \+\_\+\+Tp, 0 $>$}}
  79. \item
  80. class \mbox{\hyperlink{classutl_1_1idx__dev}{idx\+\_\+dev}}
  81. \begin{DoxyCompactList}\small\item\em Abstract base class for indexed devices. \end{DoxyCompactList}\item
  82. class \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
  83. \begin{DoxyCompactList}\small\item\em A virtual base class specialization. \end{DoxyCompactList}\item
  84. class \mbox{\hyperlink{classutl_1_1in__dev}{in\+\_\+dev}}
  85. \begin{DoxyCompactList}\small\item\em Abstract base class for input devices. \end{DoxyCompactList}\item
  86. class \mbox{\hyperlink{classutl_1_1in__dev_3_01virtual__tag_00_01data__t_00_01streamsize_01_4}{in\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, streamsize $>$}}
  87. \begin{DoxyCompactList}\small\item\em A virtual base class specialization. \end{DoxyCompactList}\item
  88. class \mbox{\hyperlink{classutl_1_1inbuf__dev}{inbuf\+\_\+dev}}
  89. \begin{DoxyCompactList}\small\item\em Abstract base class for input buffered devices. \end{DoxyCompactList}\item
  90. class \mbox{\hyperlink{classutl_1_1inbuf__dev_3_01virtual__tag_00_01data__t_00_01streamsize_01_4}{inbuf\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, streamsize $>$}}
  91. \begin{DoxyCompactList}\small\item\em A virtual base class specialization. \end{DoxyCompactList}\item
  92. class \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}
  93. \begin{DoxyCompactList}\small\item\em Input device iterator type. We \char`\"{}future call\char`\"{} interface methods from owner class to provide iterator functionality. \end{DoxyCompactList}\item
  94. struct \mbox{\hyperlink{structutl_1_1input__iterator__tag}{input\+\_\+iterator\+\_\+tag}}
  95. \item
  96. class \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}
  97. \begin{DoxyCompactList}\small\item\em Indexed device iterator type. We \char`\"{}future call\char`\"{} interface methods from owner class to provide iterator functionality. \end{DoxyCompactList}\item
  98. struct \mbox{\hyperlink{structutl_1_1is__invocable}{is\+\_\+invocable}}
  99. \begin{DoxyCompactList}\small\item\em std\+::is\+\_\+invocable trait for C++11 \end{DoxyCompactList}\item
  100. struct \mbox{\hyperlink{structutl_1_1is__invocable__r}{is\+\_\+invocable\+\_\+r}}
  101. \begin{DoxyCompactList}\small\item\em std\+::is\+\_\+invocable\+\_\+r trait for C++11 \end{DoxyCompactList}\item
  102. class \mbox{\hyperlink{classutl_1_1istreamdev__it}{istreamdev\+\_\+it}}
  103. \item
  104. class \mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+dev}}
  105. \begin{DoxyCompactList}\small\item\em Abstract base classes for output stream devices. \end{DoxyCompactList}\item
  106. class \mbox{\hyperlink{classutl_1_1ostream__dev_3_01virtual__tag_00_01data__t_01_4}{ostream\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t $>$}}
  107. \item
  108. class \mbox{\hyperlink{classutl_1_1ostreamdev__it}{ostreamdev\+\_\+it}}
  109. \item
  110. class \mbox{\hyperlink{classutl_1_1out__dev}{out\+\_\+dev}}
  111. \begin{DoxyCompactList}\small\item\em Abstract base classes for output devices. \end{DoxyCompactList}\item
  112. class \mbox{\hyperlink{classutl_1_1out__dev_3_01virtual__tag_00_01data__t_00_01streamsize_01_4}{out\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, streamsize $>$}}
  113. \begin{DoxyCompactList}\small\item\em A virtual base class specialization. \end{DoxyCompactList}\item
  114. class \mbox{\hyperlink{classutl_1_1outdev__it}{outdev\+\_\+it}}
  115. \begin{DoxyCompactList}\small\item\em Output device iterator type. We \char`\"{}future call\char`\"{} interface methods from owner class to provide iterator functionality. \end{DoxyCompactList}\item
  116. struct \mbox{\hyperlink{structutl_1_1output__iterator__tag}{output\+\_\+iterator\+\_\+tag}}
  117. \begin{DoxyCompactList}\small\item\em Iterator tags \mbox{[}std.\+iterator.\+tags\mbox{]} Extension\+: \mbox{\hyperlink{structutl_1_1contiguous__iterator__tag}{contiguous\+\_\+iterator\+\_\+tag}} for denoting contiguous iterators. \end{DoxyCompactList}\item
  118. struct \mbox{\hyperlink{structutl_1_1random__access__iterator__tag}{random\+\_\+access\+\_\+iterator\+\_\+tag}}
  119. \item
  120. class \mbox{\hyperlink{classutl_1_1spi__bb__i}{spi\+\_\+bb\+\_\+i}}
  121. \begin{DoxyCompactList}\small\item\em A bit banking implementation of spi bus inherited from \mbox{\hyperlink{classutl_1_1spi__i}{spi\+\_\+i}} base class. \end{DoxyCompactList}\item
  122. class \mbox{\hyperlink{classutl_1_1spi__bb__i_3_01virtual__tag_00_01_c_p_o_l_00_01_c_p_h_a_00_01_bit_order_01_4}{spi\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag, C\+P\+O\+L, C\+P\+H\+A, Bit\+Order $>$}}
  123. \begin{DoxyCompactList}\small\item\em A virtual base class interface specialization. Using the private virtual interface we provide the interface from \mbox{\hyperlink{classutl_1_1spi__i_3_01virtual__tag_01_4}{spi\+\_\+i$<$virtual\+\_\+tag$>$}} \end{DoxyCompactList}\item
  124. class \mbox{\hyperlink{classutl_1_1spi__i}{spi\+\_\+i}}
  125. \item
  126. class \mbox{\hyperlink{classutl_1_1spi__i_3_01virtual__tag_01_4}{spi\+\_\+i$<$ virtual\+\_\+tag $>$}}
  127. \begin{DoxyCompactList}\small\item\em A virtual base class implementation. \end{DoxyCompactList}\item
  128. struct \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}
  129. \begin{DoxyCompactList}\small\item\em virtual support tag type \end{DoxyCompactList}\end{DoxyCompactItemize}
  130. \subsection*{Typedefs}
  131. \begin{DoxyCompactItemize}
  132. \item
  133. {\footnotesize template$<$typename T $>$ }\\using \mbox{\hyperlink{namespaceutl_a7a9d26263662e02fbe3b238da5fd7338}{remove\+\_\+cvref\+\_\+t}} = std\+::remove\+\_\+cv\+\_\+t$<$ std\+::remove\+\_\+reference\+\_\+t$<$ T $>$ $>$
  134. \item
  135. {\footnotesize template$<$typename T $>$ }\\using \mbox{\hyperlink{namespaceutl_a7d69beba08b81379703fd3b0ca42044d}{cref\+\_\+}} = const std\+::remove\+\_\+reference\+\_\+t$<$ T $>$ \&
  136. \item
  137. {\footnotesize template$<$typename T $>$ }\\using \mbox{\hyperlink{namespaceutl_aa3f95fc48a94b2fae3c2959b7c024998}{\+\_\+ref\+\_\+t}} = std\+::add\+\_\+lvalue\+\_\+reference\+\_\+t$<$ T $>$
  138. \item
  139. {\footnotesize template$<$typename \+\_\+\+T1 , typename \+\_\+\+T2 , typename \+\_\+\+Ret = \+\_\+\+T1$>$ }\\using \mbox{\hyperlink{namespaceutl_ac5e425d39e8ee62e68664c6166d02d0c}{use\+\_\+if\+\_\+same\+\_\+t}} = \mbox{\hyperlink{namespaceutl_1_1meta_aa5a37adba244ff4286f994111c4c02ea}{meta\+::eval}}$<$ \mbox{\hyperlink{namespaceutl_1_1meta_ab3fed26a4c7a8204accb349f0b6600e8}{meta\+::enable\+\_\+if}}$<$ \mbox{\hyperlink{structutl_1_1meta_1_1same__}{meta\+::same\+\_\+}}$<$ \+\_\+\+T1, \+\_\+\+T2 $>$\+::value, \+\_\+\+Ret $>$ $>$
  140. \end{DoxyCompactItemize}
  141. \textbf{ }\par
  142. \begin{DoxyCompactItemize}
  143. \item
  144. {\footnotesize template$<$typename... Ts$>$ }\\using \mbox{\hyperlink{namespaceutl_a3970b90f0e0fd9f801cfcb1d955e3d42}{common\+\_\+reference}} = \mbox{\hyperlink{structutl_1_1common__impl_1_1common__reference}{common\+\_\+impl\+::common\+\_\+reference}}$<$ Ts... $>$
  145. \item
  146. {\footnotesize template$<$typename... Ts$>$ }\\using \mbox{\hyperlink{namespaceutl_a4d76d9e29b830c16ad7dd34e3800a746}{common\+\_\+reference\+\_\+t}} = \mbox{\hyperlink{namespaceutl_1_1meta_aa5a37adba244ff4286f994111c4c02ea}{meta\+::eval}}$<$ \mbox{\hyperlink{namespaceutl_a3970b90f0e0fd9f801cfcb1d955e3d42}{common\+\_\+reference}}$<$ Ts... $>$ $>$
  147. \end{DoxyCompactItemize}
  148. \begin{Indent}\textbf{ byte and word types}\par
  149. \begin{DoxyCompactItemize}
  150. \item
  151. using \mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}} = uint8\+\_\+t
  152. \begin{DoxyCompactList}\small\item\em 8 bits wide \end{DoxyCompactList}\item
  153. using \mbox{\hyperlink{namespaceutl_a1368cb6928f648fe4db1c85c190f0548}{word\+\_\+t}} = uint16\+\_\+t
  154. \begin{DoxyCompactList}\small\item\em 16 bits wide \end{DoxyCompactList}\item
  155. using \mbox{\hyperlink{namespaceutl_abc93b88d0c0f95081ecd3d2194daf0fb}{dword\+\_\+t}} = uint32\+\_\+t
  156. \end{DoxyCompactItemize}
  157. \end{Indent}
  158. \begin{Indent}\textbf{ size and index}\par
  159. \begin{DoxyCompactItemize}
  160. \item
  161. using \mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} = std\+::size\+\_\+t
  162. \item
  163. using \mbox{\hyperlink{namespaceutl_a676c0acd539dd04048dcc7b4d698577e}{index\+\_\+t}} = \mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}}
  164. \begin{DoxyCompactList}\small\item\em index\+\_\+t and size\+\_\+t mend to be interchangeable \end{DoxyCompactList}\item
  165. using \mbox{\hyperlink{namespaceutl_a1b83655ba00b548af9b51f169c6c567a}{ptrdiff\+\_\+t}} = std\+::ptrdiff\+\_\+t
  166. \end{DoxyCompactItemize}
  167. \end{Indent}
  168. \textbf{ }\par
  169. \begin{DoxyCompactItemize}
  170. \item
  171. {\footnotesize template$<$typename \+\_\+\+Callable , typename... \+\_\+\+Args$>$ }\\using \mbox{\hyperlink{namespaceutl_a9dd560a1b217a10af34d1ade3e77a76b}{invoke\+\_\+result}} = \mbox{\hyperlink{structutl_1_1detail_1_1invoke__result__}{detail\+::invoke\+\_\+result\+\_\+}}$<$ \mbox{\hyperlink{structutl_1_1is__invocable}{is\+\_\+invocable}}$<$ \+\_\+\+Callable, \+\_\+\+Args... $>$\+::value, \+\_\+\+Callable, \+\_\+\+Args... $>$
  172. \begin{DoxyCompactList}\small\item\em invoke\+\_\+result (for C++14) \end{DoxyCompactList}\item
  173. {\footnotesize template$<$typename \+\_\+\+Callable , typename... \+\_\+\+Args$>$ }\\using \mbox{\hyperlink{namespaceutl_ae40494acc30f2894c74544f3e9142933}{invoke\+\_\+result\+\_\+t}} = \mbox{\hyperlink{namespaceutl_1_1meta_aa5a37adba244ff4286f994111c4c02ea}{meta\+::eval}}$<$ \mbox{\hyperlink{namespaceutl_a9dd560a1b217a10af34d1ade3e77a76b}{invoke\+\_\+result}}$<$ \+\_\+\+Callable, \+\_\+\+Args... $>$ $>$
  174. \begin{DoxyCompactList}\small\item\em invoke\+\_\+result\+\_\+t (for C++14) \end{DoxyCompactList}\end{DoxyCompactItemize}
  175. \subsection*{Functions}
  176. \begin{DoxyCompactItemize}
  177. \item
  178. {\footnotesize template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ }\\void \mbox{\hyperlink{namespaceutl_ae0f873b4883af7cc18cb23dd2810f4e6}{swap}} (\mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&lhs, \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&rhs) noexcept(noexcept(lhs.\+swap(rhs)))
  179. \item
  180. {\footnotesize template$<$size\+\_\+t \+\_\+\+Int, typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ }\\constexpr \+\_\+\+Tp \& \mbox{\hyperlink{namespaceutl_a29057d2e164fe6dd3f3095f0d69c6546}{get}} (\mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&arr) noexcept
  181. \item
  182. {\footnotesize template$<$size\+\_\+t \+\_\+\+Int, typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ }\\constexpr \+\_\+\+Tp \&\& \mbox{\hyperlink{namespaceutl_ab0087ff901c30848b7ac6f5ffa31f5cf}{get}} (\mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&\&arr) noexcept
  183. \item
  184. {\footnotesize template$<$size\+\_\+t \+\_\+\+Int, typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ }\\constexpr const \+\_\+\+Tp \& \mbox{\hyperlink{namespaceutl_aad376ab583a0db920180465f9f35d67b}{get}} (const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&arr) noexcept
  185. \item
  186. {\footnotesize template$<$typename \+\_\+\+Callable , typename... \+\_\+\+Args$>$ }\\decltype(auto) \mbox{\hyperlink{namespaceutl_adc675874b5426194d04112f76b356714}{invoke}} (\+\_\+\+Callable \&\&fn, \+\_\+\+Args \&\&... args)
  187. \begin{DoxyCompactList}\small\item\em Invoke a callable object (for C++14) \end{DoxyCompactList}\end{DoxyCompactItemize}
  188. \begin{Indent}\textbf{ Array comparisons.}\par
  189. \begin{DoxyCompactItemize}
  190. \item
  191. {\footnotesize template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ }\\bool \mbox{\hyperlink{namespaceutl_a841f326020eb98fa4b8f764bf35442c0}{operator==}} (const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&lhs, const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&rhs)
  192. \item
  193. {\footnotesize template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ }\\bool \mbox{\hyperlink{namespaceutl_a45cd30dab2ec904b6fd64641d777b35e}{operator!=}} (const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&lhs, const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&rhs)
  194. \item
  195. {\footnotesize template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ }\\bool \mbox{\hyperlink{namespaceutl_a633f700b294b53e4f58183fd4bc6963f}{operator$<$}} (const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&lhs, const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&rhs)
  196. \item
  197. {\footnotesize template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ }\\bool \mbox{\hyperlink{namespaceutl_a1d5c761bf59037aeed9157e4f63bed9e}{operator$>$}} (const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&lhs, const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&rhs)
  198. \item
  199. {\footnotesize template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ }\\bool \mbox{\hyperlink{namespaceutl_a36f9fadffe88aefcc2d37249eaf951c3}{operator$<$=}} (const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&lhs, const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&rhs)
  200. \item
  201. {\footnotesize template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ }\\bool \mbox{\hyperlink{namespaceutl_a942cac675f6dd1313807eccb407ebec6}{operator$>$=}} (const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&lhs, const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&rhs)
  202. \end{DoxyCompactItemize}
  203. \end{Indent}
  204. \begin{Indent}\textbf{ device ID comparisons.}\par
  205. \begin{DoxyCompactItemize}
  206. \item
  207. {\footnotesize template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ }\\bool \mbox{\hyperlink{namespaceutl_a2e319bae5449ee07261f547a94c31f87}{operator==}} (const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&lhs, const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&rhs)
  208. \item
  209. {\footnotesize template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ }\\bool \mbox{\hyperlink{namespaceutl_a7f05cda5b7a37dea074df55db31aefb6}{operator!=}} (const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&lhs, const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&rhs)
  210. \item
  211. {\footnotesize template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ }\\bool \mbox{\hyperlink{namespaceutl_a64bc464138b386821977a0c4ac43fddf}{operator$<$}} (const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&lhs, const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&rhs)
  212. \item
  213. {\footnotesize template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ }\\bool \mbox{\hyperlink{namespaceutl_aa88fd098a89e4477ff55319be1d44a64}{operator$>$}} (const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&lhs, const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&rhs)
  214. \item
  215. {\footnotesize template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ }\\bool \mbox{\hyperlink{namespaceutl_aa2c449f74d1214cb7406b1648d2caf6f}{operator$<$=}} (const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&lhs, const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&rhs)
  216. \item
  217. {\footnotesize template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ }\\bool \mbox{\hyperlink{namespaceutl_a3f53717133a73715f387ebac4b6f22b3}{operator$>$=}} (const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&lhs, const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&rhs)
  218. \end{DoxyCompactItemize}
  219. \end{Indent}
  220. \textbf{ }\par
  221. \begin{DoxyCompactItemize}
  222. \item
  223. {\footnotesize template$<$typename \+\_\+\+C1 , typename \+\_\+\+D1 , typename \+\_\+\+C2 , typename \+\_\+\+D2 $>$ }\\bool \mbox{\hyperlink{namespaceutl_a5ba78d196f9abb63a1d2fff13cabe636}{operator==}} (const \mbox{\hyperlink{classutl_1_1istreamdev__it}{istreamdev\+\_\+it}}$<$ \+\_\+\+C1, \+\_\+\+D1 $>$ \&lhs, const \mbox{\hyperlink{classutl_1_1istreamdev__it}{istreamdev\+\_\+it}}$<$ \+\_\+\+C2, \+\_\+\+D2 $>$ \&rhs) noexcept
  224. \begin{DoxyCompactList}\small\item\em Equality comparison template so that comparison between cv-\/qualified and non-\/cv-\/qualified iterators be valid. \end{DoxyCompactList}\item
  225. {\footnotesize template$<$typename \+\_\+\+C1 , typename \+\_\+\+D1 , typename \+\_\+\+C2 , typename \+\_\+\+D2 $>$ }\\bool \mbox{\hyperlink{namespaceutl_aa7a25ea4d2598ec5db5b37bfaaf55ec3}{operator!=}} (const \mbox{\hyperlink{classutl_1_1istreamdev__it}{istreamdev\+\_\+it}}$<$ \+\_\+\+C1, \+\_\+\+D1 $>$ \&lhs, const \mbox{\hyperlink{classutl_1_1istreamdev__it}{istreamdev\+\_\+it}}$<$ \+\_\+\+C2, \+\_\+\+D2 $>$ \&rhs) noexcept
  226. \item
  227. {\footnotesize template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, index\+\_\+t \+\_\+end1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, index\+\_\+t \+\_\+end2$>$ }\\bool \mbox{\hyperlink{namespaceutl_a6726b451c897c4581e8781a819c025ba}{operator==}} (const \mbox{\hyperlink{classutl_1_1outdev__it}{outdev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+end1 $>$ \&lhs, const \mbox{\hyperlink{classutl_1_1outdev__it}{outdev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+end2 $>$ \&rhs) noexcept
  228. \begin{DoxyCompactList}\small\item\em Equality comparison template so that comparison between cv-\/qualified and non-\/cv-\/qualified iterators be valid. \end{DoxyCompactList}\item
  229. {\footnotesize template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, index\+\_\+t \+\_\+end1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, index\+\_\+t \+\_\+end2$>$ }\\bool \mbox{\hyperlink{namespaceutl_ada8975062732a20074909f8a3f609538}{operator!=}} (const \mbox{\hyperlink{classutl_1_1outdev__it}{outdev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+end1 $>$ \&lhs, const \mbox{\hyperlink{classutl_1_1outdev__it}{outdev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+end2 $>$ \&rhs) noexcept
  230. \begin{DoxyCompactList}\small\item\em Inequality comparison template so that comparison between cv-\/qualified and non-\/cv-\/qualified iterators be valid. \end{DoxyCompactList}\end{DoxyCompactItemize}
  231. \begin{Indent}\textbf{ indev\+\_\+it Equality\+Comparable \&\& Less\+Than\+Comparable requirements}\par
  232. {\em comparison template so that comparison between cv-\/qualified and non-\/cv-\/qualified iterators be valid }\begin{DoxyCompactItemize}
  233. \item
  234. {\footnotesize template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ }\\bool \mbox{\hyperlink{namespaceutl_aa30fa8ed97138ea75003069144f78e97}{operator==}} (const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&x, const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&y) noexcept
  235. \item
  236. {\footnotesize template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ }\\bool \mbox{\hyperlink{namespaceutl_aac9f2116bf5b1463391b2a5ec437ef1d}{operator$<$}} (const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&x, const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&y) noexcept
  237. \begin{DoxyCompactList}\small\item\em Less than. \end{DoxyCompactList}\item
  238. {\footnotesize template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ }\\bool \mbox{\hyperlink{namespaceutl_a15d049c37bf09ffb29f2a0c0070bf89c}{operator!=}} (const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&x, const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&y) noexcept
  239. \item
  240. {\footnotesize template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ }\\bool \mbox{\hyperlink{namespaceutl_a93043b2e245bb724c9c2e89577222532}{operator$<$=}} (const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&x, const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&y) noexcept
  241. \item
  242. {\footnotesize template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ }\\bool \mbox{\hyperlink{namespaceutl_a254af18987f59f185ceeaac1aaf3c1e1}{operator$>$}} (const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&x, const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&y) noexcept
  243. \item
  244. {\footnotesize template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ }\\bool \mbox{\hyperlink{namespaceutl_abdada8bc0cbd311c4dea3dde078f5483}{operator$>$=}} (const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&x, const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&y) noexcept
  245. \item
  246. {\footnotesize template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ }\\bool \mbox{\hyperlink{namespaceutl_a7ad3384389159ce575279712fb92e3c6}{operator==}} (const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&x, const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&y) noexcept
  247. \item
  248. {\footnotesize template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ }\\bool \mbox{\hyperlink{namespaceutl_aacd0760a2943441abcc86ef9d825c8b0}{operator$<$}} (const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&x, const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&y) noexcept
  249. \begin{DoxyCompactList}\small\item\em Less than. \end{DoxyCompactList}\item
  250. {\footnotesize template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ }\\bool \mbox{\hyperlink{namespaceutl_a388830b63c30f5ee32a3e2a761c703c8}{operator!=}} (const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&x, const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&y) noexcept
  251. \item
  252. {\footnotesize template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ }\\bool \mbox{\hyperlink{namespaceutl_aa369d59a59c21d50b371b5db6195b043}{operator$<$=}} (const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&x, const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&y) noexcept
  253. \item
  254. {\footnotesize template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ }\\bool \mbox{\hyperlink{namespaceutl_a623dee5dafd7fe274dc205c3e20c96af}{operator$>$}} (const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&x, const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&y) noexcept
  255. \item
  256. {\footnotesize template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ }\\bool \mbox{\hyperlink{namespaceutl_a1988125a6394416aaf6ae85eaafa3ec4}{operator$>$=}} (const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&x, const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&y) noexcept
  257. \end{DoxyCompactItemize}
  258. \end{Indent}
  259. \begin{Indent}\textbf{ iterator arithmetic}\par
  260. \begin{DoxyCompactItemize}
  261. \item
  262. {\footnotesize template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ }\\auto \mbox{\hyperlink{namespaceutl_aae4b45dc79b7d9b85e0bf83278f88508}{operator-\/}} (\mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&x, \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&y) noexcept -\/$>$ decltype(x.\+cursor() -\/ y.\+cursor())
  263. \item
  264. {\footnotesize template$<$typename \+\_\+\+Cont , typename \+\_\+\+It , index\+\_\+t \+\_\+beg, size\+\_\+t \+\_\+size$>$ }\\\mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont, \+\_\+\+It, \+\_\+beg, \+\_\+size $>$ \mbox{\hyperlink{namespaceutl_a69289a7a150563ce48244d7f39b33dbb}{operator+}} (typename \+\_\+\+Cont\+::difference\+\_\+type n, \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont, \+\_\+\+It, \+\_\+beg, \+\_\+size $>$ \&it) noexcept
  265. \item
  266. {\footnotesize template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ }\\auto \mbox{\hyperlink{namespaceutl_a191590b661dc64e2fd487adb6b5e8889}{operator-\/}} (\mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&x, \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&y) noexcept -\/$>$ decltype(x.\+cursor() -\/ y.\+cursor())
  267. \item
  268. {\footnotesize template$<$typename \+\_\+\+Cont , typename \+\_\+\+It , index\+\_\+t \+\_\+beg, size\+\_\+t \+\_\+size$>$ }\\\mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont, \+\_\+\+It, \+\_\+beg, \+\_\+size $>$ \mbox{\hyperlink{namespaceutl_a829bc4894560bf7e0a6fd829ac9d3c10}{operator+}} (typename \+\_\+\+Cont\+::difference\+\_\+type n, \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont, \+\_\+\+It, \+\_\+beg, \+\_\+size $>$ \&it) noexcept
  269. \end{DoxyCompactItemize}
  270. \end{Indent}
  271. \subsection*{Variables}
  272. \begin{DoxyCompactItemize}
  273. \item
  274. {\footnotesize template$<$class I $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a25b4f216e3d7754b1c7088dd59504dee}{Weakly\+Incrementable}}
  275. \item
  276. {\footnotesize template$<$class T , class U $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_af86da3571c3026c6bbd501c6b7bc5093}{Same}} = \mbox{\hyperlink{structutl_1_1meta_1_1same__}{meta\+::same\+\_\+}}$<$T, U$>$\+::value
  277. \item
  278. {\footnotesize template$<$class Derived , class Base $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a0904cc4071a8ea97a1d646dc0a9ca85b}{Derived\+From}}
  279. \item
  280. {\footnotesize template$<$class From , class To $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a9c88a03a5b6dd66200e86f98fb1eb9eb}{Convertible\+To}} = std\+::is\+\_\+convertible$<$From, To$>$\+::value
  281. \item
  282. {\footnotesize template$<$class T , class U $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a1cc37f121888dcc030b8e676b077024f}{Common\+Reference}}
  283. \item
  284. {\footnotesize template$<$class T , class U $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a79e23f98aa58c2dcd111743a096ef092}{Common}}
  285. \item
  286. {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_ada9137016ddccf3339b2f6b3c409cc3c}{Integral}} = std\+::is\+\_\+integral$<$T$>$\+::value
  287. \item
  288. {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a667b758d906c466d1b8a878a45750bf1}{Signed\+Integral}} = \mbox{\hyperlink{namespaceutl_ada9137016ddccf3339b2f6b3c409cc3c}{Integral}}$<$T$>$ \&\& std\+::is\+\_\+signed$<$T$>$\+::value
  289. \item
  290. {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a7fb6eaf8fc1c5d65755c8c96a7a9b61f}{Unsigned\+Integral}} = \mbox{\hyperlink{namespaceutl_ada9137016ddccf3339b2f6b3c409cc3c}{Integral}}$<$T$>$ \&\& !std\+::is\+\_\+signed$<$T$>$\+::value
  291. \item
  292. {\footnotesize template$<$typename T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a7b8e4a26148ed5f2c60e4fd7d41e7e63}{Move\+Assignable}} = std\+::is\+\_\+move\+\_\+assignable$<$T$>$\+::value
  293. \item
  294. {\footnotesize template$<$typename T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a1be866c815c4fcb2a7344650c3491c0c}{Copy\+Assignable}} = std\+::is\+\_\+copy\+\_\+assignable$<$T$>$\+::value
  295. \item
  296. {\footnotesize template$<$class L\+HS , class R\+HS $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_acfbced82f83ceb87eeb77d31941c011a}{Assignable}}
  297. \item
  298. {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_acf2f1df100b0cc4f127243a1a83a8469}{Destructible}} = std\+::is\+\_\+nothrow\+\_\+destructible$<$T$>$\+::value
  299. \item
  300. {\footnotesize template$<$class T , class... Args$>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a2a3ef7a9c788ffc1291ce15d2e5869bf}{Constructible}}
  301. \item
  302. {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_aacd3a17129d764e8a80c615eb4b88dc3}{Default\+Constructible}} = \mbox{\hyperlink{namespaceutl_a2a3ef7a9c788ffc1291ce15d2e5869bf}{Constructible}}$<$T$>$
  303. \item
  304. {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a2a728f3d477d96f4f719bf62079321cf}{Move\+Constructible}}
  305. \item
  306. {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_afb0f121b33b44640406b724c4d582b70}{Copy\+Constructible}}
  307. \item
  308. {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_afc25cb525eb29162042c21238f28f26e}{Movable}}
  309. \item
  310. {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_ac300f0e204f0ec4bd0ca38a551bb2b88}{Copyable}}
  311. \item
  312. {\footnotesize template$<$class B $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a38e00606b4b45a2ac59fa4576b4498c6}{Boolean}}
  313. \item
  314. {\footnotesize template$<$class T , class U $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a216f6e14ca647d85841fa13c40dc4ee3}{Weakly\+Equality\+Comparable\+With}}
  315. \item
  316. {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a92a38a3d1638ccad068c24d1242ef63a}{Equality\+Comparable}} = \mbox{\hyperlink{namespaceutl_a216f6e14ca647d85841fa13c40dc4ee3}{Weakly\+Equality\+Comparable\+With}}$<$T, T$>$
  317. \item
  318. {\footnotesize template$<$class T , class U $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_aa2be0b64c41b392c5264de5f5fee094e}{Equality\+Comparable\+With}}
  319. \item
  320. {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a720d6ece86f3f3320816aaae02eb16e4}{Strict\+Totally\+Ordered}}
  321. \item
  322. {\footnotesize template$<$class T , class U $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a5599d14d1bd008e4c14787d610a2b429}{Strict\+Totally\+Ordered\+With}}
  323. \item
  324. {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_af6b010e85897cb590e66a52157be1af5}{Semiregular}} = \mbox{\hyperlink{namespaceutl_ac300f0e204f0ec4bd0ca38a551bb2b88}{Copyable}}$<$T$>$ \&\& \mbox{\hyperlink{namespaceutl_aacd3a17129d764e8a80c615eb4b88dc3}{Default\+Constructible}}$<$T$>$
  325. \item
  326. {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a3accaa436a17248b4214baebc582b2f6}{Regular}} = \mbox{\hyperlink{namespaceutl_af6b010e85897cb590e66a52157be1af5}{Semiregular}}$<$T$>$ \&\& \mbox{\hyperlink{namespaceutl_a92a38a3d1638ccad068c24d1242ef63a}{Equality\+Comparable}}$<$T$>$
  327. \item
  328. {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a7f86c4bf42b13d9525481d731b194308}{Scalar}}
  329. \item
  330. {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a41733496c30138efd3d88f13d9382aad}{Arithmetic}}
  331. \item
  332. {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a07e83d4763a298c1faf2b1069b55e286}{Floating\+Point}}
  333. \item
  334. {\footnotesize template$<$class F , class... Args$>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a9d5bbdf19b08d6d714ec696b0ec44d0a}{Invocable}} = \mbox{\hyperlink{structutl_1_1is__invocable}{is\+\_\+invocable}}$<$F, Args...$>$\+::value
  335. \item
  336. {\footnotesize template$<$class F , class... Args$>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_ace9ef6da96e8cf5dc72762cd66240186}{Regular\+Invocable}} = \mbox{\hyperlink{namespaceutl_a9d5bbdf19b08d6d714ec696b0ec44d0a}{Invocable}}$<$F, Args...$>$
  337. \item
  338. {\footnotesize template$<$class F , class... Args$>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_aae56a019cdd2006c4f07d2e207289195}{Predicate}}
  339. \item
  340. {\footnotesize template$<$class R , class T , class U $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a6d1e9b4853dd005ddaf61a79333cab98}{Relation}}
  341. \item
  342. {\footnotesize template$<$class R , class T , class U $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_aa4b7b9105cfab3cd72865b5e0db23b11}{Strict\+Weak\+Order}} = \mbox{\hyperlink{namespaceutl_a6d1e9b4853dd005ddaf61a79333cab98}{Relation}}$<$R, T, U$>$
  343. \end{DoxyCompactItemize}
  344. \textbf{ }\par
  345. \begin{DoxyCompactItemize}
  346. \item
  347. {\footnotesize template$<$typename \+\_\+\+Tp $>$ }\\constexpr bool \mbox{\hyperlink{namespaceutl_a80a0424d220ac1f7be50086617a05dbd}{Idx\+\_\+dev}} = \mbox{\hyperlink{structutl_1_1idx__dev__details_1_1is__idx__dev__}{idx\+\_\+dev\+\_\+details\+::is\+\_\+idx\+\_\+dev\+\_\+}} $<$\+\_\+\+Tp$>$\+::value
  348. \end{DoxyCompactItemize}
  349. \textbf{ }\par
  350. \begin{DoxyCompactItemize}
  351. \item
  352. {\footnotesize template$<$typename \+\_\+\+Tp $>$ }\\constexpr bool \mbox{\hyperlink{namespaceutl_a1470ab9407ee21ea374b2c7a81e3511b}{In\+\_\+dev}} = \mbox{\hyperlink{structutl_1_1in__dev__details_1_1is__in__dev__}{in\+\_\+dev\+\_\+details\+::is\+\_\+in\+\_\+dev\+\_\+}} $<$\+\_\+\+Tp$>$\+::value
  353. \end{DoxyCompactItemize}
  354. \textbf{ }\par
  355. \begin{DoxyCompactItemize}
  356. \item
  357. {\footnotesize template$<$typename \+\_\+\+Tp $>$ }\\constexpr bool \mbox{\hyperlink{namespaceutl_ac447a457f18a1c4dcd1dddb4c2789006}{Inbuf\+\_\+dev}} = \mbox{\hyperlink{structutl_1_1inbuf__dev__details_1_1is__inbuf__dev__}{inbuf\+\_\+dev\+\_\+details\+::is\+\_\+inbuf\+\_\+dev\+\_\+}} $<$\+\_\+\+Tp$>$\+::value
  358. \end{DoxyCompactItemize}
  359. \textbf{ }\par
  360. \begin{DoxyCompactItemize}
  361. \item
  362. {\footnotesize template$<$typename \+\_\+\+Tp $>$ }\\constexpr bool \mbox{\hyperlink{namespaceutl_a77f27f594c8696fcfbc85a9ec66c11f1}{Out\+\_\+dev}} = \mbox{\hyperlink{structutl_1_1out__dev__details_1_1is__out__dev__}{out\+\_\+dev\+\_\+details\+::is\+\_\+out\+\_\+dev\+\_\+}}$<$\+\_\+\+Tp$>$\+::value
  363. \end{DoxyCompactItemize}
  364. \begin{DoxyCompactItemize}
  365. \item
  366. using \mbox{\hyperlink{namespaceutl_a1d50e9abd420e77555624f3e52bc7479}{is\+\_\+swappable}} = std\+::is\+\_\+swappable
  367. \item
  368. using \mbox{\hyperlink{namespaceutl_ab437a6d3a1f420b44e01378ae37fcb24}{is\+\_\+swappable\+\_\+with}} = std\+::is\+\_\+swappable\+\_\+with
  369. \item
  370. {\footnotesize template$<$class T , class U $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a4a3bb850ba59d499382bd11153104af7}{Swappable\+With}}
  371. \item
  372. {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_ae2b149b19fb3d69a4fc555e4474bf9de}{Swappable}} = \mbox{\hyperlink{namespaceutl_ab437a6d3a1f420b44e01378ae37fcb24}{is\+\_\+swappable\+\_\+with}}$<$T, T$>$\+::type\+::value
  373. \end{DoxyCompactItemize}
  374. \subsection{Detailed Description}
  375. S\+TL\textquotesingle{}s core language concepts.
  376. We provide std concepts in case host\textquotesingle{}s stl does not provide them yet.
  377. For more information \begin{DoxySeeAlso}{See also}
  378. \href{https://en.cppreference.com/w/cpp/concepts}{\tt https\+://en.\+cppreference.\+com/w/cpp/concepts}
  379. \end{DoxySeeAlso}
  380. \subsection{Typedef Documentation}
  381. \mbox{\Hypertarget{namespaceutl_aa3f95fc48a94b2fae3c2959b7c024998}\label{namespaceutl_aa3f95fc48a94b2fae3c2959b7c024998}}
  382. \index{utl@{utl}!\+\_\+ref\+\_\+t@{\+\_\+ref\+\_\+t}}
  383. \index{\+\_\+ref\+\_\+t@{\+\_\+ref\+\_\+t}!utl@{utl}}
  384. \subsubsection{\texorpdfstring{\+\_\+ref\+\_\+t}{\_ref\_t}}
  385. {\footnotesize\ttfamily template$<$typename T $>$ \\
  386. using \mbox{\hyperlink{namespaceutl_aa3f95fc48a94b2fae3c2959b7c024998}{utl\+::\+\_\+ref\+\_\+t}} = typedef std\+::add\+\_\+lvalue\+\_\+reference\+\_\+t$<$T$>$}
  387. Definition at line 48 of file stl.\+h.
  388. \mbox{\Hypertarget{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}\label{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}}
  389. \index{utl@{utl}!byte\+\_\+t@{byte\+\_\+t}}
  390. \index{byte\+\_\+t@{byte\+\_\+t}!utl@{utl}}
  391. \subsubsection{\texorpdfstring{byte\+\_\+t}{byte\_t}}
  392. {\footnotesize\ttfamily using \mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{utl\+::byte\+\_\+t}} = typedef uint8\+\_\+t}
  393. 8 bits wide
  394. Definition at line 31 of file types.\+h.
  395. \mbox{\Hypertarget{namespaceutl_a3970b90f0e0fd9f801cfcb1d955e3d42}\label{namespaceutl_a3970b90f0e0fd9f801cfcb1d955e3d42}}
  396. \index{utl@{utl}!common\+\_\+reference@{common\+\_\+reference}}
  397. \index{common\+\_\+reference@{common\+\_\+reference}!utl@{utl}}
  398. \subsubsection{\texorpdfstring{common\+\_\+reference}{common\_reference}}
  399. {\footnotesize\ttfamily template$<$typename... Ts$>$ \\
  400. using \mbox{\hyperlink{namespaceutl_a3970b90f0e0fd9f801cfcb1d955e3d42}{utl\+::common\+\_\+reference}} = typedef \mbox{\hyperlink{structutl_1_1common__impl_1_1common__reference}{common\+\_\+impl\+::common\+\_\+reference}}$<$Ts...$>$}
  401. Definition at line 281 of file stl.\+h.
  402. \mbox{\Hypertarget{namespaceutl_a4d76d9e29b830c16ad7dd34e3800a746}\label{namespaceutl_a4d76d9e29b830c16ad7dd34e3800a746}}
  403. \index{utl@{utl}!common\+\_\+reference\+\_\+t@{common\+\_\+reference\+\_\+t}}
  404. \index{common\+\_\+reference\+\_\+t@{common\+\_\+reference\+\_\+t}!utl@{utl}}
  405. \subsubsection{\texorpdfstring{common\+\_\+reference\+\_\+t}{common\_reference\_t}}
  406. {\footnotesize\ttfamily template$<$typename... Ts$>$ \\
  407. using \mbox{\hyperlink{namespaceutl_a4d76d9e29b830c16ad7dd34e3800a746}{utl\+::common\+\_\+reference\+\_\+t}} = typedef \mbox{\hyperlink{namespaceutl_1_1meta_aa5a37adba244ff4286f994111c4c02ea}{meta\+::eval}}$<$ \mbox{\hyperlink{namespaceutl_a3970b90f0e0fd9f801cfcb1d955e3d42}{common\+\_\+reference}}$<$Ts...$>$ $>$}
  408. Definition at line 286 of file stl.\+h.
  409. \mbox{\Hypertarget{namespaceutl_a7d69beba08b81379703fd3b0ca42044d}\label{namespaceutl_a7d69beba08b81379703fd3b0ca42044d}}
  410. \index{utl@{utl}!cref\+\_\+@{cref\+\_\+}}
  411. \index{cref\+\_\+@{cref\+\_\+}!utl@{utl}}
  412. \subsubsection{\texorpdfstring{cref\+\_\+}{cref\_}}
  413. {\footnotesize\ttfamily template$<$typename T $>$ \\
  414. using \mbox{\hyperlink{namespaceutl_a7d69beba08b81379703fd3b0ca42044d}{utl\+::cref\+\_\+}} = typedef const std\+::remove\+\_\+reference\+\_\+t$<$T$>$\&}
  415. Definition at line 45 of file stl.\+h.
  416. \mbox{\Hypertarget{namespaceutl_abc93b88d0c0f95081ecd3d2194daf0fb}\label{namespaceutl_abc93b88d0c0f95081ecd3d2194daf0fb}}
  417. \index{utl@{utl}!dword\+\_\+t@{dword\+\_\+t}}
  418. \index{dword\+\_\+t@{dword\+\_\+t}!utl@{utl}}
  419. \subsubsection{\texorpdfstring{dword\+\_\+t}{dword\_t}}
  420. {\footnotesize\ttfamily using \mbox{\hyperlink{namespaceutl_abc93b88d0c0f95081ecd3d2194daf0fb}{utl\+::dword\+\_\+t}} = typedef uint32\+\_\+t}
  421. 32 bits wide
  422. Definition at line 33 of file types.\+h.
  423. \mbox{\Hypertarget{namespaceutl_a676c0acd539dd04048dcc7b4d698577e}\label{namespaceutl_a676c0acd539dd04048dcc7b4d698577e}}
  424. \index{utl@{utl}!index\+\_\+t@{index\+\_\+t}}
  425. \index{index\+\_\+t@{index\+\_\+t}!utl@{utl}}
  426. \subsubsection{\texorpdfstring{index\+\_\+t}{index\_t}}
  427. {\footnotesize\ttfamily using \mbox{\hyperlink{namespaceutl_a676c0acd539dd04048dcc7b4d698577e}{utl\+::index\+\_\+t}} = typedef \mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}}}
  428. index\+\_\+t and size\+\_\+t mend to be interchangeable
  429. \begin{Desc}
  430. \item[Examples\+: ]\par
  431. \mbox{\hyperlink{_w_1_2_work_2_software_2_libraries_2utl_2include_2utl_2meta_2typelist_8h-example}{W\+:/\+Work/\+Software/\+Libraries/utl/include/utl/meta/typelist.\+h}}.\end{Desc}
  432. Definition at line 38 of file types.\+h.
  433. \mbox{\Hypertarget{namespaceutl_a9dd560a1b217a10af34d1ade3e77a76b}\label{namespaceutl_a9dd560a1b217a10af34d1ade3e77a76b}}
  434. \index{utl@{utl}!invoke\+\_\+result@{invoke\+\_\+result}}
  435. \index{invoke\+\_\+result@{invoke\+\_\+result}!utl@{utl}}
  436. \subsubsection{\texorpdfstring{invoke\+\_\+result}{invoke\_result}}
  437. {\footnotesize\ttfamily template$<$typename \+\_\+\+Callable , typename... \+\_\+\+Args$>$ \\
  438. using \mbox{\hyperlink{namespaceutl_a9dd560a1b217a10af34d1ade3e77a76b}{utl\+::invoke\+\_\+result}} = typedef \mbox{\hyperlink{structutl_1_1detail_1_1invoke__result__}{detail\+::invoke\+\_\+result\+\_\+}}$<$ \mbox{\hyperlink{structutl_1_1is__invocable}{is\+\_\+invocable}}$<$\+\_\+\+Callable, \+\_\+\+Args...$>$\+::value, \+\_\+\+Callable, \+\_\+\+Args... $>$}
  439. invoke\+\_\+result (for C++14)
  440. Definition at line 174 of file invoke.\+h.
  441. \mbox{\Hypertarget{namespaceutl_ae40494acc30f2894c74544f3e9142933}\label{namespaceutl_ae40494acc30f2894c74544f3e9142933}}
  442. \index{utl@{utl}!invoke\+\_\+result\+\_\+t@{invoke\+\_\+result\+\_\+t}}
  443. \index{invoke\+\_\+result\+\_\+t@{invoke\+\_\+result\+\_\+t}!utl@{utl}}
  444. \subsubsection{\texorpdfstring{invoke\+\_\+result\+\_\+t}{invoke\_result\_t}}
  445. {\footnotesize\ttfamily template$<$typename \+\_\+\+Callable , typename... \+\_\+\+Args$>$ \\
  446. using \mbox{\hyperlink{namespaceutl_ae40494acc30f2894c74544f3e9142933}{utl\+::invoke\+\_\+result\+\_\+t}} = typedef \mbox{\hyperlink{namespaceutl_1_1meta_aa5a37adba244ff4286f994111c4c02ea}{meta\+::eval}} $<$ \mbox{\hyperlink{namespaceutl_a9dd560a1b217a10af34d1ade3e77a76b}{invoke\+\_\+result}}$<$\+\_\+\+Callable, \+\_\+\+Args...$>$ $>$}
  447. invoke\+\_\+result\+\_\+t (for C++14)
  448. Definition at line 180 of file invoke.\+h.
  449. \mbox{\Hypertarget{namespaceutl_a1d50e9abd420e77555624f3e52bc7479}\label{namespaceutl_a1d50e9abd420e77555624f3e52bc7479}}
  450. \index{utl@{utl}!is\+\_\+swappable@{is\+\_\+swappable}}
  451. \index{is\+\_\+swappable@{is\+\_\+swappable}!utl@{utl}}
  452. \subsubsection{\texorpdfstring{is\+\_\+swappable}{is\_swappable}}
  453. {\footnotesize\ttfamily using \mbox{\hyperlink{namespaceutl_a1d50e9abd420e77555624f3e52bc7479}{utl\+::is\+\_\+swappable}} = typedef std\+::is\+\_\+swappable}
  454. Swappable, Swappable\+With
  455. Definition at line 407 of file stl.\+h.
  456. \mbox{\Hypertarget{namespaceutl_ab437a6d3a1f420b44e01378ae37fcb24}\label{namespaceutl_ab437a6d3a1f420b44e01378ae37fcb24}}
  457. \index{utl@{utl}!is\+\_\+swappable\+\_\+with@{is\+\_\+swappable\+\_\+with}}
  458. \index{is\+\_\+swappable\+\_\+with@{is\+\_\+swappable\+\_\+with}!utl@{utl}}
  459. \subsubsection{\texorpdfstring{is\+\_\+swappable\+\_\+with}{is\_swappable\_with}}
  460. {\footnotesize\ttfamily using \mbox{\hyperlink{namespaceutl_ab437a6d3a1f420b44e01378ae37fcb24}{utl\+::is\+\_\+swappable\+\_\+with}} = typedef std\+::is\+\_\+swappable\+\_\+with}
  461. Definition at line 408 of file stl.\+h.
  462. \mbox{\Hypertarget{namespaceutl_a1b83655ba00b548af9b51f169c6c567a}\label{namespaceutl_a1b83655ba00b548af9b51f169c6c567a}}
  463. \index{utl@{utl}!ptrdiff\+\_\+t@{ptrdiff\+\_\+t}}
  464. \index{ptrdiff\+\_\+t@{ptrdiff\+\_\+t}!utl@{utl}}
  465. \subsubsection{\texorpdfstring{ptrdiff\+\_\+t}{ptrdiff\_t}}
  466. {\footnotesize\ttfamily using \mbox{\hyperlink{namespaceutl_a1b83655ba00b548af9b51f169c6c567a}{utl\+::ptrdiff\+\_\+t}} = typedef std\+::ptrdiff\+\_\+t}
  467. Definition at line 40 of file types.\+h.
  468. \mbox{\Hypertarget{namespaceutl_a7a9d26263662e02fbe3b238da5fd7338}\label{namespaceutl_a7a9d26263662e02fbe3b238da5fd7338}}
  469. \index{utl@{utl}!remove\+\_\+cvref\+\_\+t@{remove\+\_\+cvref\+\_\+t}}
  470. \index{remove\+\_\+cvref\+\_\+t@{remove\+\_\+cvref\+\_\+t}!utl@{utl}}
  471. \subsubsection{\texorpdfstring{remove\+\_\+cvref\+\_\+t}{remove\_cvref\_t}}
  472. {\footnotesize\ttfamily template$<$typename T $>$ \\
  473. using \mbox{\hyperlink{namespaceutl_a7a9d26263662e02fbe3b238da5fd7338}{utl\+::remove\+\_\+cvref\+\_\+t}} = typedef std\+::remove\+\_\+cv\+\_\+t$<$ std\+::remove\+\_\+reference\+\_\+t$<$T$>$ $>$}
  474. Definition at line 42 of file stl.\+h.
  475. \mbox{\Hypertarget{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}\label{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}}
  476. \index{utl@{utl}!size\+\_\+t@{size\+\_\+t}}
  477. \index{size\+\_\+t@{size\+\_\+t}!utl@{utl}}
  478. \subsubsection{\texorpdfstring{size\+\_\+t}{size\_t}}
  479. {\footnotesize\ttfamily using \mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{utl\+::size\+\_\+t}} = typedef std\+::size\+\_\+t}
  480. Definition at line 37 of file types.\+h.
  481. \mbox{\Hypertarget{namespaceutl_ac5e425d39e8ee62e68664c6166d02d0c}\label{namespaceutl_ac5e425d39e8ee62e68664c6166d02d0c}}
  482. \index{utl@{utl}!use\+\_\+if\+\_\+same\+\_\+t@{use\+\_\+if\+\_\+same\+\_\+t}}
  483. \index{use\+\_\+if\+\_\+same\+\_\+t@{use\+\_\+if\+\_\+same\+\_\+t}!utl@{utl}}
  484. \subsubsection{\texorpdfstring{use\+\_\+if\+\_\+same\+\_\+t}{use\_if\_same\_t}}
  485. {\footnotesize\ttfamily template$<$typename \+\_\+\+T1 , typename \+\_\+\+T2 , typename \+\_\+\+Ret = \+\_\+\+T1$>$ \\
  486. using \mbox{\hyperlink{namespaceutl_ac5e425d39e8ee62e68664c6166d02d0c}{utl\+::use\+\_\+if\+\_\+same\+\_\+t}} = typedef \mbox{\hyperlink{namespaceutl_1_1meta_aa5a37adba244ff4286f994111c4c02ea}{meta\+::eval}}$<$ \mbox{\hyperlink{namespaceutl_1_1meta_ab3fed26a4c7a8204accb349f0b6600e8}{meta\+::enable\+\_\+if}}$<$ \mbox{\hyperlink{structutl_1_1meta_1_1same__}{meta\+::same\+\_\+}}$<$\+\_\+\+T1, \+\_\+\+T2$>$\+::value, \+\_\+\+Ret $>$ $>$}
  487. Definition at line 55 of file stl.\+h.
  488. \mbox{\Hypertarget{namespaceutl_a1368cb6928f648fe4db1c85c190f0548}\label{namespaceutl_a1368cb6928f648fe4db1c85c190f0548}}
  489. \index{utl@{utl}!word\+\_\+t@{word\+\_\+t}}
  490. \index{word\+\_\+t@{word\+\_\+t}!utl@{utl}}
  491. \subsubsection{\texorpdfstring{word\+\_\+t}{word\_t}}
  492. {\footnotesize\ttfamily using \mbox{\hyperlink{namespaceutl_a1368cb6928f648fe4db1c85c190f0548}{utl\+::word\+\_\+t}} = typedef uint16\+\_\+t}
  493. 16 bits wide
  494. Definition at line 32 of file types.\+h.
  495. \subsection{Function Documentation}
  496. \mbox{\Hypertarget{namespaceutl_a29057d2e164fe6dd3f3095f0d69c6546}\label{namespaceutl_a29057d2e164fe6dd3f3095f0d69c6546}}
  497. \index{utl@{utl}!get@{get}}
  498. \index{get@{get}!utl@{utl}}
  499. \subsubsection{\texorpdfstring{get()}{get()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
  500. {\footnotesize\ttfamily template$<$size\+\_\+t \+\_\+\+Int, typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\
  501. constexpr \+\_\+\+Tp\& utl\+::get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{arr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [noexcept]}}
  502. Definition at line 220 of file array.\+h.
  503. \mbox{\Hypertarget{namespaceutl_ab0087ff901c30848b7ac6f5ffa31f5cf}\label{namespaceutl_ab0087ff901c30848b7ac6f5ffa31f5cf}}
  504. \index{utl@{utl}!get@{get}}
  505. \index{get@{get}!utl@{utl}}
  506. \subsubsection{\texorpdfstring{get()}{get()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
  507. {\footnotesize\ttfamily template$<$size\+\_\+t \+\_\+\+Int, typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\
  508. constexpr \+\_\+\+Tp\&\& utl\+::get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&\&}]{arr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [noexcept]}}
  509. Definition at line 226 of file array.\+h.
  510. \mbox{\Hypertarget{namespaceutl_aad376ab583a0db920180465f9f35d67b}\label{namespaceutl_aad376ab583a0db920180465f9f35d67b}}
  511. \index{utl@{utl}!get@{get}}
  512. \index{get@{get}!utl@{utl}}
  513. \subsubsection{\texorpdfstring{get()}{get()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
  514. {\footnotesize\ttfamily template$<$size\+\_\+t \+\_\+\+Int, typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\
  515. constexpr const \+\_\+\+Tp\& utl\+::get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{arr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [noexcept]}}
  516. Definition at line 232 of file array.\+h.
  517. \mbox{\Hypertarget{namespaceutl_adc675874b5426194d04112f76b356714}\label{namespaceutl_adc675874b5426194d04112f76b356714}}
  518. \index{utl@{utl}!invoke@{invoke}}
  519. \index{invoke@{invoke}!utl@{utl}}
  520. \subsubsection{\texorpdfstring{invoke()}{invoke()}}
  521. {\footnotesize\ttfamily template$<$typename \+\_\+\+Callable , typename... \+\_\+\+Args$>$ \\
  522. decltype(auto) utl\+::invoke (\begin{DoxyParamCaption}\item[{\+\_\+\+Callable \&\&}]{fn, }\item[{\+\_\+\+Args \&\&...}]{args }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  523. Invoke a callable object (for C++14)
  524. Definition at line 121 of file invoke.\+h.
  525. \mbox{\Hypertarget{namespaceutl_a45cd30dab2ec904b6fd64641d777b35e}\label{namespaceutl_a45cd30dab2ec904b6fd64641d777b35e}}
  526. \index{utl@{utl}!operator"!=@{operator"!=}}
  527. \index{operator"!=@{operator"!=}!utl@{utl}}
  528. \subsubsection{\texorpdfstring{operator"!=()}{operator!=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/6]}}
  529. {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\
  530. bool utl\+::operator!= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{lhs, }\item[{const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  531. Definition at line 186 of file array.\+h.
  532. \mbox{\Hypertarget{namespaceutl_a7f05cda5b7a37dea074df55db31aefb6}\label{namespaceutl_a7f05cda5b7a37dea074df55db31aefb6}}
  533. \index{utl@{utl}!operator"!=@{operator"!=}}
  534. \index{operator"!=@{operator"!=}!utl@{utl}}
  535. \subsubsection{\texorpdfstring{operator"!=()}{operator!=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/6]}}
  536. {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\
  537. bool utl\+::operator!= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{lhs, }\item[{const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  538. Definition at line 206 of file id.\+h.
  539. \mbox{\Hypertarget{namespaceutl_aa7a25ea4d2598ec5db5b37bfaaf55ec3}\label{namespaceutl_aa7a25ea4d2598ec5db5b37bfaaf55ec3}}
  540. \index{utl@{utl}!operator"!=@{operator"!=}}
  541. \index{operator"!=@{operator"!=}!utl@{utl}}
  542. \subsubsection{\texorpdfstring{operator"!=()}{operator!=()}\hspace{0.1cm}{\footnotesize\ttfamily [3/6]}}
  543. {\footnotesize\ttfamily template$<$typename \+\_\+\+C1 , typename \+\_\+\+D1 , typename \+\_\+\+C2 , typename \+\_\+\+D2 $>$ \\
  544. bool utl\+::operator!= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1istreamdev__it}{istreamdev\+\_\+it}}$<$ \+\_\+\+C1, \+\_\+\+D1 $>$ \&}]{lhs, }\item[{const \mbox{\hyperlink{classutl_1_1istreamdev__it}{istreamdev\+\_\+it}}$<$ \+\_\+\+C2, \+\_\+\+D2 $>$ \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}
  545. Definition at line 236 of file dev\+\_\+iterators.\+h.
  546. \mbox{\Hypertarget{namespaceutl_ada8975062732a20074909f8a3f609538}\label{namespaceutl_ada8975062732a20074909f8a3f609538}}
  547. \index{utl@{utl}!operator"!=@{operator"!=}}
  548. \index{operator"!=@{operator"!=}!utl@{utl}}
  549. \subsubsection{\texorpdfstring{operator"!=()}{operator!=()}\hspace{0.1cm}{\footnotesize\ttfamily [4/6]}}
  550. {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, index\+\_\+t \+\_\+end1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, index\+\_\+t \+\_\+end2$>$ \\
  551. bool utl\+::operator!= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1outdev__it}{outdev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+end1 $>$ \&}]{lhs, }\item[{const \mbox{\hyperlink{classutl_1_1outdev__it}{outdev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+end2 $>$ \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}
  552. Inequality comparison template so that comparison between cv-\/qualified and non-\/cv-\/qualified iterators be valid.
  553. \begin{DoxyParams}{Parameters}
  554. {\em lhs} & Left hand site iterator \\
  555. \hline
  556. {\em rhs} & Right hand site iterator \\
  557. \hline
  558. \end{DoxyParams}
  559. \begin{DoxyReturn}{Returns}
  560. True in inequality
  561. \end{DoxyReturn}
  562. Definition at line 382 of file dev\+\_\+iterators.\+h.
  563. \mbox{\Hypertarget{namespaceutl_a15d049c37bf09ffb29f2a0c0070bf89c}\label{namespaceutl_a15d049c37bf09ffb29f2a0c0070bf89c}}
  564. \index{utl@{utl}!operator"!=@{operator"!=}}
  565. \index{operator"!=@{operator"!=}!utl@{utl}}
  566. \subsubsection{\texorpdfstring{operator"!=()}{operator!=()}\hspace{0.1cm}{\footnotesize\ttfamily [5/6]}}
  567. {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\
  568. bool utl\+::operator!= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&}]{x, }\item[{const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}
  569. Definition at line 624 of file dev\+\_\+iterators.\+h.
  570. \mbox{\Hypertarget{namespaceutl_a388830b63c30f5ee32a3e2a761c703c8}\label{namespaceutl_a388830b63c30f5ee32a3e2a761c703c8}}
  571. \index{utl@{utl}!operator"!=@{operator"!=}}
  572. \index{operator"!=@{operator"!=}!utl@{utl}}
  573. \subsubsection{\texorpdfstring{operator"!=()}{operator!=()}\hspace{0.1cm}{\footnotesize\ttfamily [6/6]}}
  574. {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\
  575. bool utl\+::operator!= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&}]{x, }\item[{const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}
  576. Definition at line 909 of file dev\+\_\+iterators.\+h.
  577. \mbox{\Hypertarget{namespaceutl_a69289a7a150563ce48244d7f39b33dbb}\label{namespaceutl_a69289a7a150563ce48244d7f39b33dbb}}
  578. \index{utl@{utl}!operator+@{operator+}}
  579. \index{operator+@{operator+}!utl@{utl}}
  580. \subsubsection{\texorpdfstring{operator+()}{operator+()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
  581. {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont , typename \+\_\+\+It , index\+\_\+t \+\_\+beg, size\+\_\+t \+\_\+size$>$ \\
  582. \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$\+\_\+\+Cont, \+\_\+\+It, \+\_\+beg, \+\_\+size$>$ utl\+::operator+ (\begin{DoxyParamCaption}\item[{typename \+\_\+\+Cont\+::difference\+\_\+type}]{n, }\item[{\mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont, \+\_\+\+It, \+\_\+beg, \+\_\+size $>$ \&}]{it }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}
  583. Definition at line 659 of file dev\+\_\+iterators.\+h.
  584. \mbox{\Hypertarget{namespaceutl_a829bc4894560bf7e0a6fd829ac9d3c10}\label{namespaceutl_a829bc4894560bf7e0a6fd829ac9d3c10}}
  585. \index{utl@{utl}!operator+@{operator+}}
  586. \index{operator+@{operator+}!utl@{utl}}
  587. \subsubsection{\texorpdfstring{operator+()}{operator+()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
  588. {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont , typename \+\_\+\+It , index\+\_\+t \+\_\+beg, size\+\_\+t \+\_\+size$>$ \\
  589. \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$\+\_\+\+Cont, \+\_\+\+It, \+\_\+beg, \+\_\+size$>$ utl\+::operator+ (\begin{DoxyParamCaption}\item[{typename \+\_\+\+Cont\+::difference\+\_\+type}]{n, }\item[{\mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont, \+\_\+\+It, \+\_\+beg, \+\_\+size $>$ \&}]{it }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}
  590. Definition at line 944 of file dev\+\_\+iterators.\+h.
  591. \mbox{\Hypertarget{namespaceutl_aae4b45dc79b7d9b85e0bf83278f88508}\label{namespaceutl_aae4b45dc79b7d9b85e0bf83278f88508}}
  592. \index{utl@{utl}!operator-\/@{operator-\/}}
  593. \index{operator-\/@{operator-\/}!utl@{utl}}
  594. \subsubsection{\texorpdfstring{operator-\/()}{operator-()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
  595. {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\
  596. auto utl\+::operator-\/ (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&}]{x, }\item[{\mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&}]{y }\end{DoxyParamCaption}) -\/$>$ decltype (x.\+cursor() -\/ y.\+cursor()) \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}
  597. Definition at line 651 of file dev\+\_\+iterators.\+h.
  598. \mbox{\Hypertarget{namespaceutl_a191590b661dc64e2fd487adb6b5e8889}\label{namespaceutl_a191590b661dc64e2fd487adb6b5e8889}}
  599. \index{utl@{utl}!operator-\/@{operator-\/}}
  600. \index{operator-\/@{operator-\/}!utl@{utl}}
  601. \subsubsection{\texorpdfstring{operator-\/()}{operator-()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
  602. {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\
  603. auto utl\+::operator-\/ (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&}]{x, }\item[{\mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&}]{y }\end{DoxyParamCaption}) -\/$>$ decltype (x.\+cursor() -\/ y.\+cursor()) \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}
  604. Definition at line 936 of file dev\+\_\+iterators.\+h.
  605. \mbox{\Hypertarget{namespaceutl_a633f700b294b53e4f58183fd4bc6963f}\label{namespaceutl_a633f700b294b53e4f58183fd4bc6963f}}
  606. \index{utl@{utl}!operator$<$@{operator$<$}}
  607. \index{operator$<$@{operator$<$}!utl@{utl}}
  608. \subsubsection{\texorpdfstring{operator$<$()}{operator<()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
  609. {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\
  610. bool utl\+::operator$<$ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{lhs, }\item[{const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  611. Definition at line 191 of file array.\+h.
  612. \mbox{\Hypertarget{namespaceutl_a64bc464138b386821977a0c4ac43fddf}\label{namespaceutl_a64bc464138b386821977a0c4ac43fddf}}
  613. \index{utl@{utl}!operator$<$@{operator$<$}}
  614. \index{operator$<$@{operator$<$}!utl@{utl}}
  615. \subsubsection{\texorpdfstring{operator$<$()}{operator<()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
  616. {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\
  617. bool utl\+::operator$<$ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{lhs, }\item[{const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  618. Definition at line 211 of file id.\+h.
  619. \mbox{\Hypertarget{namespaceutl_aac9f2116bf5b1463391b2a5ec437ef1d}\label{namespaceutl_aac9f2116bf5b1463391b2a5ec437ef1d}}
  620. \index{utl@{utl}!operator$<$@{operator$<$}}
  621. \index{operator$<$@{operator$<$}!utl@{utl}}
  622. \subsubsection{\texorpdfstring{operator$<$()}{operator<()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
  623. {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\
  624. bool utl\+::operator$<$ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&}]{x, }\item[{const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}
  625. Less than.
  626. Definition at line 616 of file dev\+\_\+iterators.\+h.
  627. \mbox{\Hypertarget{namespaceutl_aacd0760a2943441abcc86ef9d825c8b0}\label{namespaceutl_aacd0760a2943441abcc86ef9d825c8b0}}
  628. \index{utl@{utl}!operator$<$@{operator$<$}}
  629. \index{operator$<$@{operator$<$}!utl@{utl}}
  630. \subsubsection{\texorpdfstring{operator$<$()}{operator<()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
  631. {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\
  632. bool utl\+::operator$<$ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&}]{x, }\item[{const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}
  633. Less than.
  634. Definition at line 901 of file dev\+\_\+iterators.\+h.
  635. \mbox{\Hypertarget{namespaceutl_a36f9fadffe88aefcc2d37249eaf951c3}\label{namespaceutl_a36f9fadffe88aefcc2d37249eaf951c3}}
  636. \index{utl@{utl}!operator$<$=@{operator$<$=}}
  637. \index{operator$<$=@{operator$<$=}!utl@{utl}}
  638. \subsubsection{\texorpdfstring{operator$<$=()}{operator<=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
  639. {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\
  640. bool utl\+::operator$<$= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{lhs, }\item[{const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  641. Definition at line 201 of file array.\+h.
  642. \mbox{\Hypertarget{namespaceutl_aa2c449f74d1214cb7406b1648d2caf6f}\label{namespaceutl_aa2c449f74d1214cb7406b1648d2caf6f}}
  643. \index{utl@{utl}!operator$<$=@{operator$<$=}}
  644. \index{operator$<$=@{operator$<$=}!utl@{utl}}
  645. \subsubsection{\texorpdfstring{operator$<$=()}{operator<=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
  646. {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\
  647. bool utl\+::operator$<$= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{lhs, }\item[{const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  648. Definition at line 222 of file id.\+h.
  649. \mbox{\Hypertarget{namespaceutl_a93043b2e245bb724c9c2e89577222532}\label{namespaceutl_a93043b2e245bb724c9c2e89577222532}}
  650. \index{utl@{utl}!operator$<$=@{operator$<$=}}
  651. \index{operator$<$=@{operator$<$=}!utl@{utl}}
  652. \subsubsection{\texorpdfstring{operator$<$=()}{operator<=()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
  653. {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\
  654. bool utl\+::operator$<$= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&}]{x, }\item[{const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}
  655. Definition at line 630 of file dev\+\_\+iterators.\+h.
  656. \mbox{\Hypertarget{namespaceutl_aa369d59a59c21d50b371b5db6195b043}\label{namespaceutl_aa369d59a59c21d50b371b5db6195b043}}
  657. \index{utl@{utl}!operator$<$=@{operator$<$=}}
  658. \index{operator$<$=@{operator$<$=}!utl@{utl}}
  659. \subsubsection{\texorpdfstring{operator$<$=()}{operator<=()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
  660. {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\
  661. bool utl\+::operator$<$= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&}]{x, }\item[{const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}
  662. Definition at line 915 of file dev\+\_\+iterators.\+h.
  663. \mbox{\Hypertarget{namespaceutl_a841f326020eb98fa4b8f764bf35442c0}\label{namespaceutl_a841f326020eb98fa4b8f764bf35442c0}}
  664. \index{utl@{utl}!operator==@{operator==}}
  665. \index{operator==@{operator==}!utl@{utl}}
  666. \subsubsection{\texorpdfstring{operator==()}{operator==()}\hspace{0.1cm}{\footnotesize\ttfamily [1/6]}}
  667. {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\
  668. bool utl\+::operator== (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{lhs, }\item[{const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  669. Definition at line 181 of file array.\+h.
  670. \mbox{\Hypertarget{namespaceutl_a2e319bae5449ee07261f547a94c31f87}\label{namespaceutl_a2e319bae5449ee07261f547a94c31f87}}
  671. \index{utl@{utl}!operator==@{operator==}}
  672. \index{operator==@{operator==}!utl@{utl}}
  673. \subsubsection{\texorpdfstring{operator==()}{operator==()}\hspace{0.1cm}{\footnotesize\ttfamily [2/6]}}
  674. {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\
  675. bool utl\+::operator== (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{lhs, }\item[{const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  676. Definition at line 201 of file id.\+h.
  677. \mbox{\Hypertarget{namespaceutl_a5ba78d196f9abb63a1d2fff13cabe636}\label{namespaceutl_a5ba78d196f9abb63a1d2fff13cabe636}}
  678. \index{utl@{utl}!operator==@{operator==}}
  679. \index{operator==@{operator==}!utl@{utl}}
  680. \subsubsection{\texorpdfstring{operator==()}{operator==()}\hspace{0.1cm}{\footnotesize\ttfamily [3/6]}}
  681. {\footnotesize\ttfamily template$<$typename \+\_\+\+C1 , typename \+\_\+\+D1 , typename \+\_\+\+C2 , typename \+\_\+\+D2 $>$ \\
  682. bool utl\+::operator== (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1istreamdev__it}{istreamdev\+\_\+it}}$<$ \+\_\+\+C1, \+\_\+\+D1 $>$ \&}]{lhs, }\item[{const \mbox{\hyperlink{classutl_1_1istreamdev__it}{istreamdev\+\_\+it}}$<$ \+\_\+\+C2, \+\_\+\+D2 $>$ \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}
  683. Equality comparison template so that comparison between cv-\/qualified and non-\/cv-\/qualified iterators be valid.
  684. \begin{DoxyParams}{Parameters}
  685. {\em lhs} & Left hand site iterator \\
  686. \hline
  687. {\em rhs} & Right hand site iterator \\
  688. \hline
  689. \end{DoxyParams}
  690. \begin{DoxyReturn}{Returns}
  691. True in equality
  692. \end{DoxyReturn}
  693. Definition at line 229 of file dev\+\_\+iterators.\+h.
  694. \mbox{\Hypertarget{namespaceutl_a6726b451c897c4581e8781a819c025ba}\label{namespaceutl_a6726b451c897c4581e8781a819c025ba}}
  695. \index{utl@{utl}!operator==@{operator==}}
  696. \index{operator==@{operator==}!utl@{utl}}
  697. \subsubsection{\texorpdfstring{operator==()}{operator==()}\hspace{0.1cm}{\footnotesize\ttfamily [4/6]}}
  698. {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, index\+\_\+t \+\_\+end1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, index\+\_\+t \+\_\+end2$>$ \\
  699. bool utl\+::operator== (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1outdev__it}{outdev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+end1 $>$ \&}]{lhs, }\item[{const \mbox{\hyperlink{classutl_1_1outdev__it}{outdev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+end2 $>$ \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}
  700. Equality comparison template so that comparison between cv-\/qualified and non-\/cv-\/qualified iterators be valid.
  701. \begin{DoxyNote}{Note}
  702. The following are not requirements for output iterator. We provide them nevertheless. Required\+: The rhs and lhs M\+U\+ST belong to the same owner or the result is undefined.
  703. \end{DoxyNote}
  704. \begin{DoxyParams}{Parameters}
  705. {\em lhs} & Left hand site iterator \\
  706. \hline
  707. {\em rhs} & Right hand site iterator \\
  708. \hline
  709. \end{DoxyParams}
  710. \begin{DoxyReturn}{Returns}
  711. True in equality
  712. \end{DoxyReturn}
  713. Definition at line 366 of file dev\+\_\+iterators.\+h.
  714. \mbox{\Hypertarget{namespaceutl_aa30fa8ed97138ea75003069144f78e97}\label{namespaceutl_aa30fa8ed97138ea75003069144f78e97}}
  715. \index{utl@{utl}!operator==@{operator==}}
  716. \index{operator==@{operator==}!utl@{utl}}
  717. \subsubsection{\texorpdfstring{operator==()}{operator==()}\hspace{0.1cm}{\footnotesize\ttfamily [5/6]}}
  718. {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\
  719. bool utl\+::operator== (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&}]{x, }\item[{const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}
  720. Equality
  721. Definition at line 608 of file dev\+\_\+iterators.\+h.
  722. \mbox{\Hypertarget{namespaceutl_a7ad3384389159ce575279712fb92e3c6}\label{namespaceutl_a7ad3384389159ce575279712fb92e3c6}}
  723. \index{utl@{utl}!operator==@{operator==}}
  724. \index{operator==@{operator==}!utl@{utl}}
  725. \subsubsection{\texorpdfstring{operator==()}{operator==()}\hspace{0.1cm}{\footnotesize\ttfamily [6/6]}}
  726. {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\
  727. bool utl\+::operator== (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&}]{x, }\item[{const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}
  728. Equality
  729. Definition at line 893 of file dev\+\_\+iterators.\+h.
  730. \mbox{\Hypertarget{namespaceutl_a1d5c761bf59037aeed9157e4f63bed9e}\label{namespaceutl_a1d5c761bf59037aeed9157e4f63bed9e}}
  731. \index{utl@{utl}!operator$>$@{operator$>$}}
  732. \index{operator$>$@{operator$>$}!utl@{utl}}
  733. \subsubsection{\texorpdfstring{operator$>$()}{operator>()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
  734. {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\
  735. bool utl\+::operator$>$ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{lhs, }\item[{const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  736. Definition at line 196 of file array.\+h.
  737. \mbox{\Hypertarget{namespaceutl_aa88fd098a89e4477ff55319be1d44a64}\label{namespaceutl_aa88fd098a89e4477ff55319be1d44a64}}
  738. \index{utl@{utl}!operator$>$@{operator$>$}}
  739. \index{operator$>$@{operator$>$}!utl@{utl}}
  740. \subsubsection{\texorpdfstring{operator$>$()}{operator>()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
  741. {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\
  742. bool utl\+::operator$>$ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{lhs, }\item[{const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  743. Definition at line 217 of file id.\+h.
  744. \mbox{\Hypertarget{namespaceutl_a254af18987f59f185ceeaac1aaf3c1e1}\label{namespaceutl_a254af18987f59f185ceeaac1aaf3c1e1}}
  745. \index{utl@{utl}!operator$>$@{operator$>$}}
  746. \index{operator$>$@{operator$>$}!utl@{utl}}
  747. \subsubsection{\texorpdfstring{operator$>$()}{operator>()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
  748. {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\
  749. bool utl\+::operator$>$ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&}]{x, }\item[{const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}
  750. Definition at line 636 of file dev\+\_\+iterators.\+h.
  751. \mbox{\Hypertarget{namespaceutl_a623dee5dafd7fe274dc205c3e20c96af}\label{namespaceutl_a623dee5dafd7fe274dc205c3e20c96af}}
  752. \index{utl@{utl}!operator$>$@{operator$>$}}
  753. \index{operator$>$@{operator$>$}!utl@{utl}}
  754. \subsubsection{\texorpdfstring{operator$>$()}{operator>()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
  755. {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\
  756. bool utl\+::operator$>$ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&}]{x, }\item[{const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}
  757. Definition at line 921 of file dev\+\_\+iterators.\+h.
  758. \mbox{\Hypertarget{namespaceutl_a942cac675f6dd1313807eccb407ebec6}\label{namespaceutl_a942cac675f6dd1313807eccb407ebec6}}
  759. \index{utl@{utl}!operator$>$=@{operator$>$=}}
  760. \index{operator$>$=@{operator$>$=}!utl@{utl}}
  761. \subsubsection{\texorpdfstring{operator$>$=()}{operator>=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
  762. {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\
  763. bool utl\+::operator$>$= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{lhs, }\item[{const \mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  764. Definition at line 207 of file array.\+h.
  765. \mbox{\Hypertarget{namespaceutl_a3f53717133a73715f387ebac4b6f22b3}\label{namespaceutl_a3f53717133a73715f387ebac4b6f22b3}}
  766. \index{utl@{utl}!operator$>$=@{operator$>$=}}
  767. \index{operator$>$=@{operator$>$=}!utl@{utl}}
  768. \subsubsection{\texorpdfstring{operator$>$=()}{operator>=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
  769. {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\
  770. bool utl\+::operator$>$= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{lhs, }\item[{const \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  771. Definition at line 227 of file id.\+h.
  772. \mbox{\Hypertarget{namespaceutl_abdada8bc0cbd311c4dea3dde078f5483}\label{namespaceutl_abdada8bc0cbd311c4dea3dde078f5483}}
  773. \index{utl@{utl}!operator$>$=@{operator$>$=}}
  774. \index{operator$>$=@{operator$>$=}!utl@{utl}}
  775. \subsubsection{\texorpdfstring{operator$>$=()}{operator>=()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
  776. {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\
  777. bool utl\+::operator$>$= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&}]{x, }\item[{const \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}
  778. Definition at line 642 of file dev\+\_\+iterators.\+h.
  779. \mbox{\Hypertarget{namespaceutl_a1988125a6394416aaf6ae85eaafa3ec4}\label{namespaceutl_a1988125a6394416aaf6ae85eaafa3ec4}}
  780. \index{utl@{utl}!operator$>$=@{operator$>$=}}
  781. \index{operator$>$=@{operator$>$=}!utl@{utl}}
  782. \subsubsection{\texorpdfstring{operator$>$=()}{operator>=()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
  783. {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\
  784. bool utl\+::operator$>$= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont1, \+\_\+\+It1, \+\_\+beg1, \+\_\+size1 $>$ \&}]{x, }\item[{const \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}}$<$ \+\_\+\+Cont2, \+\_\+\+It2, \+\_\+beg2, \+\_\+size2 $>$ \&}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}
  785. Definition at line 927 of file dev\+\_\+iterators.\+h.
  786. \mbox{\Hypertarget{namespaceutl_ae0f873b4883af7cc18cb23dd2810f4e6}\label{namespaceutl_ae0f873b4883af7cc18cb23dd2810f4e6}}
  787. \index{utl@{utl}!swap@{swap}}
  788. \index{swap@{swap}!utl@{utl}}
  789. \subsubsection{\texorpdfstring{swap()}{swap()}}
  790. {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\
  791. void utl\+::swap (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{lhs, }\item[{\mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}
  792. Definition at line 214 of file array.\+h.
  793. \subsection{Variable Documentation}
  794. \mbox{\Hypertarget{namespaceutl_a41733496c30138efd3d88f13d9382aad}\label{namespaceutl_a41733496c30138efd3d88f13d9382aad}}
  795. \index{utl@{utl}!Arithmetic@{Arithmetic}}
  796. \index{Arithmetic@{Arithmetic}!utl@{utl}}
  797. \subsubsection{\texorpdfstring{Arithmetic}{Arithmetic}}
  798. {\footnotesize\ttfamily template$<$class T $>$ \\
  799. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Arithmetic}
  800. {\bfseries Initial value\+:}
  801. \begin{DoxyCode}
  802. =
  803. std::is\_arithmetic<T>::value && Scalar<T> && StrictTotallyOrdered<T>
  804. \end{DoxyCode}
  805. Arithmetic
  806. Definition at line 736 of file stl.\+h.
  807. \mbox{\Hypertarget{namespaceutl_acfbced82f83ceb87eeb77d31941c011a}\label{namespaceutl_acfbced82f83ceb87eeb77d31941c011a}}
  808. \index{utl@{utl}!Assignable@{Assignable}}
  809. \index{Assignable@{Assignable}!utl@{utl}}
  810. \subsubsection{\texorpdfstring{Assignable}{Assignable}}
  811. {\footnotesize\ttfamily template$<$class L\+HS , class R\+HS $>$ \\
  812. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Assignable}
  813. {\bfseries Initial value\+:}
  814. \begin{DoxyCode}
  815. =
  816. std::is\_assignable<LHS, RHS>::value
  817. \end{DoxyCode}
  818. Assignable \begin{DoxyNote}{Note}
  819. != std\+:\+: on Common\+Reference
  820. \end{DoxyNote}
  821. Definition at line 366 of file stl.\+h.
  822. \mbox{\Hypertarget{namespaceutl_a38e00606b4b45a2ac59fa4576b4498c6}\label{namespaceutl_a38e00606b4b45a2ac59fa4576b4498c6}}
  823. \index{utl@{utl}!Boolean@{Boolean}}
  824. \index{Boolean@{Boolean}!utl@{utl}}
  825. \subsubsection{\texorpdfstring{Boolean}{Boolean}}
  826. {\footnotesize\ttfamily template$<$class B $>$ \\
  827. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Boolean}
  828. {\bfseries Initial value\+:}
  829. \begin{DoxyCode}
  830. =
  831. Movable<remove\_cvref\_t<B>> &&
  832. ConvertibleTo<const \_ref\_t<B>, \textcolor{keywordtype}{bool}> &&
  833. Same<meta::true\_, details::is\_boolean\_t<B>>
  834. \end{DoxyCode}
  835. Definition at line 551 of file stl.\+h.
  836. \mbox{\Hypertarget{namespaceutl_a79e23f98aa58c2dcd111743a096ef092}\label{namespaceutl_a79e23f98aa58c2dcd111743a096ef092}}
  837. \index{utl@{utl}!Common@{Common}}
  838. \index{Common@{Common}!utl@{utl}}
  839. \subsubsection{\texorpdfstring{Common}{Common}}
  840. {\footnotesize\ttfamily template$<$class T , class U $>$ \\
  841. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Common}
  842. {\bfseries Initial value\+:}
  843. \begin{DoxyCode}
  844. =
  845. Same<std::common\_type\_t<T, U>, std::common\_type\_t<U, T>>
  846. \end{DoxyCode}
  847. Definition at line 301 of file stl.\+h.
  848. \mbox{\Hypertarget{namespaceutl_a1cc37f121888dcc030b8e676b077024f}\label{namespaceutl_a1cc37f121888dcc030b8e676b077024f}}
  849. \index{utl@{utl}!Common\+Reference@{Common\+Reference}}
  850. \index{Common\+Reference@{Common\+Reference}!utl@{utl}}
  851. \subsubsection{\texorpdfstring{Common\+Reference}{CommonReference}}
  852. {\footnotesize\ttfamily template$<$class T , class U $>$ \\
  853. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Common\+Reference}
  854. {\bfseries Initial value\+:}
  855. \begin{DoxyCode}
  856. =
  857. Same<common\_reference\_t<T, U>, common\_reference\_t<U, T>> &&
  858. ConvertibleTo<T, common\_reference\_t<T, U>> &&
  859. ConvertibleTo<U, common\_reference\_t<T, U>>
  860. \end{DoxyCode}
  861. Definition at line 293 of file stl.\+h.
  862. \mbox{\Hypertarget{namespaceutl_a2a3ef7a9c788ffc1291ce15d2e5869bf}\label{namespaceutl_a2a3ef7a9c788ffc1291ce15d2e5869bf}}
  863. \index{utl@{utl}!Constructible@{Constructible}}
  864. \index{Constructible@{Constructible}!utl@{utl}}
  865. \subsubsection{\texorpdfstring{Constructible}{Constructible}}
  866. {\footnotesize\ttfamily template$<$class T , class... Args$>$ \\
  867. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Constructible}
  868. {\bfseries Initial value\+:}
  869. \begin{DoxyCode}
  870. =
  871. Destructible<T> && std::is\_constructible<T, Args...>::value
  872. \end{DoxyCode}
  873. Constructible
  874. Definition at line 438 of file stl.\+h.
  875. \mbox{\Hypertarget{namespaceutl_a9c88a03a5b6dd66200e86f98fb1eb9eb}\label{namespaceutl_a9c88a03a5b6dd66200e86f98fb1eb9eb}}
  876. \index{utl@{utl}!Convertible\+To@{Convertible\+To}}
  877. \index{Convertible\+To@{Convertible\+To}!utl@{utl}}
  878. \subsubsection{\texorpdfstring{Convertible\+To}{ConvertibleTo}}
  879. {\footnotesize\ttfamily template$<$class From , class To $>$ \\
  880. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Convertible\+To = std\+::is\+\_\+convertible$<$From, To$>$\+::value}
  881. Convertible\+To
  882. Definition at line 87 of file stl.\+h.
  883. \mbox{\Hypertarget{namespaceutl_ac300f0e204f0ec4bd0ca38a551bb2b88}\label{namespaceutl_ac300f0e204f0ec4bd0ca38a551bb2b88}}
  884. \index{utl@{utl}!Copyable@{Copyable}}
  885. \index{Copyable@{Copyable}!utl@{utl}}
  886. \subsubsection{\texorpdfstring{Copyable}{Copyable}}
  887. {\footnotesize\ttfamily template$<$class T $>$ \\
  888. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Copyable}
  889. {\bfseries Initial value\+:}
  890. \begin{DoxyCode}
  891. =
  892. CopyConstructible<T> &&
  893. Movable<T> &&
  894. Assignable<\_ref\_t<T>, \textcolor{keyword}{const} \_ref\_t<T>>
  895. \end{DoxyCode}
  896. Copyable
  897. Definition at line 480 of file stl.\+h.
  898. \mbox{\Hypertarget{namespaceutl_a1be866c815c4fcb2a7344650c3491c0c}\label{namespaceutl_a1be866c815c4fcb2a7344650c3491c0c}}
  899. \index{utl@{utl}!Copy\+Assignable@{Copy\+Assignable}}
  900. \index{Copy\+Assignable@{Copy\+Assignable}!utl@{utl}}
  901. \subsubsection{\texorpdfstring{Copy\+Assignable}{CopyAssignable}}
  902. {\footnotesize\ttfamily template$<$typename T $>$ \\
  903. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Copy\+Assignable = std\+::is\+\_\+copy\+\_\+assignable$<$T$>$\+::value}
  904. Definition at line 359 of file stl.\+h.
  905. \mbox{\Hypertarget{namespaceutl_afb0f121b33b44640406b724c4d582b70}\label{namespaceutl_afb0f121b33b44640406b724c4d582b70}}
  906. \index{utl@{utl}!Copy\+Constructible@{Copy\+Constructible}}
  907. \index{Copy\+Constructible@{Copy\+Constructible}!utl@{utl}}
  908. \subsubsection{\texorpdfstring{Copy\+Constructible}{CopyConstructible}}
  909. {\footnotesize\ttfamily template$<$class T $>$ \\
  910. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Copy\+Constructible}
  911. {\bfseries Initial value\+:}
  912. \begin{DoxyCode}
  913. =
  914. MoveConstructible<T> &&
  915. Constructible<T, \_ref\_t<T>> && ConvertibleTo<\_ref\_t<T>, T> &&
  916. Constructible<T, const \_ref\_t<T>> && ConvertibleTo<const \_ref\_t<T>, T> &&
  917. Constructible<T, const T> && ConvertibleTo<const T, T>
  918. \end{DoxyCode}
  919. Copy\+Constructible
  920. Definition at line 459 of file stl.\+h.
  921. \mbox{\Hypertarget{namespaceutl_aacd3a17129d764e8a80c615eb4b88dc3}\label{namespaceutl_aacd3a17129d764e8a80c615eb4b88dc3}}
  922. \index{utl@{utl}!Default\+Constructible@{Default\+Constructible}}
  923. \index{Default\+Constructible@{Default\+Constructible}!utl@{utl}}
  924. \subsubsection{\texorpdfstring{Default\+Constructible}{DefaultConstructible}}
  925. {\footnotesize\ttfamily template$<$class T $>$ \\
  926. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Default\+Constructible = \mbox{\hyperlink{namespaceutl_a2a3ef7a9c788ffc1291ce15d2e5869bf}{Constructible}}$<$T$>$}
  927. Default\+Constructible
  928. Definition at line 444 of file stl.\+h.
  929. \mbox{\Hypertarget{namespaceutl_a0904cc4071a8ea97a1d646dc0a9ca85b}\label{namespaceutl_a0904cc4071a8ea97a1d646dc0a9ca85b}}
  930. \index{utl@{utl}!Derived\+From@{Derived\+From}}
  931. \index{Derived\+From@{Derived\+From}!utl@{utl}}
  932. \subsubsection{\texorpdfstring{Derived\+From}{DerivedFrom}}
  933. {\footnotesize\ttfamily template$<$class Derived , class Base $>$ \\
  934. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Derived\+From}
  935. {\bfseries Initial value\+:}
  936. \begin{DoxyCode}
  937. =
  938. std::is\_base\_of<Base, Derived>::value &&
  939. std::is\_convertible<const volatile Derived*, const volatile Base*>::value
  940. \end{DoxyCode}
  941. Derived\+From
  942. Definition at line 71 of file stl.\+h.
  943. \mbox{\Hypertarget{namespaceutl_acf2f1df100b0cc4f127243a1a83a8469}\label{namespaceutl_acf2f1df100b0cc4f127243a1a83a8469}}
  944. \index{utl@{utl}!Destructible@{Destructible}}
  945. \index{Destructible@{Destructible}!utl@{utl}}
  946. \subsubsection{\texorpdfstring{Destructible}{Destructible}}
  947. {\footnotesize\ttfamily template$<$class T $>$ \\
  948. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Destructible = std\+::is\+\_\+nothrow\+\_\+destructible$<$T$>$\+::value}
  949. Destructible
  950. Definition at line 432 of file stl.\+h.
  951. \mbox{\Hypertarget{namespaceutl_a92a38a3d1638ccad068c24d1242ef63a}\label{namespaceutl_a92a38a3d1638ccad068c24d1242ef63a}}
  952. \index{utl@{utl}!Equality\+Comparable@{Equality\+Comparable}}
  953. \index{Equality\+Comparable@{Equality\+Comparable}!utl@{utl}}
  954. \subsubsection{\texorpdfstring{Equality\+Comparable}{EqualityComparable}}
  955. {\footnotesize\ttfamily template$<$class T $>$ \\
  956. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Equality\+Comparable = \mbox{\hyperlink{namespaceutl_a216f6e14ca647d85841fa13c40dc4ee3}{Weakly\+Equality\+Comparable\+With}}$<$T, T$>$}
  957. Definition at line 596 of file stl.\+h.
  958. \mbox{\Hypertarget{namespaceutl_aa2be0b64c41b392c5264de5f5fee094e}\label{namespaceutl_aa2be0b64c41b392c5264de5f5fee094e}}
  959. \index{utl@{utl}!Equality\+Comparable\+With@{Equality\+Comparable\+With}}
  960. \index{Equality\+Comparable\+With@{Equality\+Comparable\+With}!utl@{utl}}
  961. \subsubsection{\texorpdfstring{Equality\+Comparable\+With}{EqualityComparableWith}}
  962. {\footnotesize\ttfamily template$<$class T , class U $>$ \\
  963. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Equality\+Comparable\+With}
  964. {\bfseries Initial value\+:}
  965. \begin{DoxyCode}
  966. =
  967. EqualityComparable<T> &&
  968. EqualityComparable<U> &&
  969. WeaklyEqualityComparableWith<T, U>
  970. \end{DoxyCode}
  971. Definition at line 599 of file stl.\+h.
  972. \mbox{\Hypertarget{namespaceutl_a07e83d4763a298c1faf2b1069b55e286}\label{namespaceutl_a07e83d4763a298c1faf2b1069b55e286}}
  973. \index{utl@{utl}!Floating\+Point@{Floating\+Point}}
  974. \index{Floating\+Point@{Floating\+Point}!utl@{utl}}
  975. \subsubsection{\texorpdfstring{Floating\+Point}{FloatingPoint}}
  976. {\footnotesize\ttfamily template$<$class T $>$ \\
  977. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Floating\+Point}
  978. {\bfseries Initial value\+:}
  979. \begin{DoxyCode}
  980. =
  981. std::is\_floating\_point<T>::value && Arithmetic<T>
  982. \end{DoxyCode}
  983. Floating\+Point
  984. Definition at line 743 of file stl.\+h.
  985. \mbox{\Hypertarget{namespaceutl_a80a0424d220ac1f7be50086617a05dbd}\label{namespaceutl_a80a0424d220ac1f7be50086617a05dbd}}
  986. \index{utl@{utl}!Idx\+\_\+dev@{Idx\+\_\+dev}}
  987. \index{Idx\+\_\+dev@{Idx\+\_\+dev}!utl@{utl}}
  988. \subsubsection{\texorpdfstring{Idx\+\_\+dev}{Idx\_dev}}
  989. {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp $>$ \\
  990. constexpr bool utl\+::\+Idx\+\_\+dev = \mbox{\hyperlink{structutl_1_1idx__dev__details_1_1is__idx__dev__}{idx\+\_\+dev\+\_\+details\+::is\+\_\+idx\+\_\+dev\+\_\+}} $<$\+\_\+\+Tp$>$\+::value}
  991. Predicate for input device checking
  992. \begin{DoxyParams}{Parameters}
  993. {\em \+\_\+\+Tp} & Type to check \\
  994. \hline
  995. \end{DoxyParams}
  996. \begin{DoxyReturn}{Returns}
  997. True if \+\_\+\+Tp is a input device
  998. \end{DoxyReturn}
  999. Definition at line 523 of file idx\+\_\+dev.\+h.
  1000. \mbox{\Hypertarget{namespaceutl_a1470ab9407ee21ea374b2c7a81e3511b}\label{namespaceutl_a1470ab9407ee21ea374b2c7a81e3511b}}
  1001. \index{utl@{utl}!In\+\_\+dev@{In\+\_\+dev}}
  1002. \index{In\+\_\+dev@{In\+\_\+dev}!utl@{utl}}
  1003. \subsubsection{\texorpdfstring{In\+\_\+dev}{In\_dev}}
  1004. {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp $>$ \\
  1005. constexpr bool utl\+::\+In\+\_\+dev = \mbox{\hyperlink{structutl_1_1in__dev__details_1_1is__in__dev__}{in\+\_\+dev\+\_\+details\+::is\+\_\+in\+\_\+dev\+\_\+}} $<$\+\_\+\+Tp$>$\+::value}
  1006. Predicate for input device checking
  1007. \begin{DoxyParams}{Parameters}
  1008. {\em \+\_\+\+Tp} & Type to check \\
  1009. \hline
  1010. \end{DoxyParams}
  1011. \begin{DoxyReturn}{Returns}
  1012. True if \+\_\+\+Tp is a input device
  1013. \end{DoxyReturn}
  1014. Definition at line 335 of file in\+\_\+dev.\+h.
  1015. \mbox{\Hypertarget{namespaceutl_ac447a457f18a1c4dcd1dddb4c2789006}\label{namespaceutl_ac447a457f18a1c4dcd1dddb4c2789006}}
  1016. \index{utl@{utl}!Inbuf\+\_\+dev@{Inbuf\+\_\+dev}}
  1017. \index{Inbuf\+\_\+dev@{Inbuf\+\_\+dev}!utl@{utl}}
  1018. \subsubsection{\texorpdfstring{Inbuf\+\_\+dev}{Inbuf\_dev}}
  1019. {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp $>$ \\
  1020. constexpr bool utl\+::\+Inbuf\+\_\+dev = \mbox{\hyperlink{structutl_1_1inbuf__dev__details_1_1is__inbuf__dev__}{inbuf\+\_\+dev\+\_\+details\+::is\+\_\+inbuf\+\_\+dev\+\_\+}} $<$\+\_\+\+Tp$>$\+::value}
  1021. Predicate for input device checking
  1022. \begin{DoxyParams}{Parameters}
  1023. {\em \+\_\+\+Tp} & Type to check \\
  1024. \hline
  1025. \end{DoxyParams}
  1026. \begin{DoxyReturn}{Returns}
  1027. True if \+\_\+\+Tp is a input device
  1028. \end{DoxyReturn}
  1029. Definition at line 380 of file inbuf\+\_\+dev.\+h.
  1030. \mbox{\Hypertarget{namespaceutl_ada9137016ddccf3339b2f6b3c409cc3c}\label{namespaceutl_ada9137016ddccf3339b2f6b3c409cc3c}}
  1031. \index{utl@{utl}!Integral@{Integral}}
  1032. \index{Integral@{Integral}!utl@{utl}}
  1033. \subsubsection{\texorpdfstring{Integral}{Integral}}
  1034. {\footnotesize\ttfamily template$<$class T $>$ \\
  1035. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Integral = std\+::is\+\_\+integral$<$T$>$\+::value}
  1036. Integral
  1037. Definition at line 340 of file stl.\+h.
  1038. \mbox{\Hypertarget{namespaceutl_a9d5bbdf19b08d6d714ec696b0ec44d0a}\label{namespaceutl_a9d5bbdf19b08d6d714ec696b0ec44d0a}}
  1039. \index{utl@{utl}!Invocable@{Invocable}}
  1040. \index{Invocable@{Invocable}!utl@{utl}}
  1041. \subsubsection{\texorpdfstring{Invocable}{Invocable}}
  1042. {\footnotesize\ttfamily template$<$class F , class... Args$>$ \\
  1043. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Invocable = \mbox{\hyperlink{structutl_1_1is__invocable}{is\+\_\+invocable}}$<$F, Args...$>$\+::value}
  1044. Invocable
  1045. Definition at line 750 of file stl.\+h.
  1046. \mbox{\Hypertarget{namespaceutl_afc25cb525eb29162042c21238f28f26e}\label{namespaceutl_afc25cb525eb29162042c21238f28f26e}}
  1047. \index{utl@{utl}!Movable@{Movable}}
  1048. \index{Movable@{Movable}!utl@{utl}}
  1049. \subsubsection{\texorpdfstring{Movable}{Movable}}
  1050. {\footnotesize\ttfamily template$<$class T $>$ \\
  1051. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Movable}
  1052. {\bfseries Initial value\+:}
  1053. \begin{DoxyCode}
  1054. =
  1055. std::is\_object<T>::value &&
  1056. MoveConstructible<T> &&
  1057. Assignable<\_ref\_t<T>, T> &&
  1058. Swappable<T>
  1059. \end{DoxyCode}
  1060. Movable
  1061. Definition at line 469 of file stl.\+h.
  1062. \mbox{\Hypertarget{namespaceutl_a7b8e4a26148ed5f2c60e4fd7d41e7e63}\label{namespaceutl_a7b8e4a26148ed5f2c60e4fd7d41e7e63}}
  1063. \index{utl@{utl}!Move\+Assignable@{Move\+Assignable}}
  1064. \index{Move\+Assignable@{Move\+Assignable}!utl@{utl}}
  1065. \subsubsection{\texorpdfstring{Move\+Assignable}{MoveAssignable}}
  1066. {\footnotesize\ttfamily template$<$typename T $>$ \\
  1067. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Move\+Assignable = std\+::is\+\_\+move\+\_\+assignable$<$T$>$\+::value}
  1068. Definition at line 356 of file stl.\+h.
  1069. \mbox{\Hypertarget{namespaceutl_a2a728f3d477d96f4f719bf62079321cf}\label{namespaceutl_a2a728f3d477d96f4f719bf62079321cf}}
  1070. \index{utl@{utl}!Move\+Constructible@{Move\+Constructible}}
  1071. \index{Move\+Constructible@{Move\+Constructible}!utl@{utl}}
  1072. \subsubsection{\texorpdfstring{Move\+Constructible}{MoveConstructible}}
  1073. {\footnotesize\ttfamily template$<$class T $>$ \\
  1074. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Move\+Constructible}
  1075. {\bfseries Initial value\+:}
  1076. \begin{DoxyCode}
  1077. =
  1078. Constructible<T, T> && ConvertibleTo<T, T>
  1079. \end{DoxyCode}
  1080. Move\+Constructible \begin{DoxyNote}{Note}
  1081. Another approach would be std\+::is\+\_\+move\+\_\+constructible$<$\+T$>$\+::value;
  1082. \end{DoxyNote}
  1083. Definition at line 452 of file stl.\+h.
  1084. \mbox{\Hypertarget{namespaceutl_a77f27f594c8696fcfbc85a9ec66c11f1}\label{namespaceutl_a77f27f594c8696fcfbc85a9ec66c11f1}}
  1085. \index{utl@{utl}!Out\+\_\+dev@{Out\+\_\+dev}}
  1086. \index{Out\+\_\+dev@{Out\+\_\+dev}!utl@{utl}}
  1087. \subsubsection{\texorpdfstring{Out\+\_\+dev}{Out\_dev}}
  1088. {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp $>$ \\
  1089. constexpr bool utl\+::\+Out\+\_\+dev = \mbox{\hyperlink{structutl_1_1out__dev__details_1_1is__out__dev__}{out\+\_\+dev\+\_\+details\+::is\+\_\+out\+\_\+dev\+\_\+}}$<$\+\_\+\+Tp$>$\+::value}
  1090. Predicate for output device checking
  1091. \begin{DoxyParams}{Parameters}
  1092. {\em \+\_\+\+Tp} & Type to check \\
  1093. \hline
  1094. \end{DoxyParams}
  1095. \begin{DoxyReturn}{Returns}
  1096. True if \+\_\+\+Tp is a output device
  1097. \end{DoxyReturn}
  1098. Definition at line 357 of file out\+\_\+dev.\+h.
  1099. \mbox{\Hypertarget{namespaceutl_aae56a019cdd2006c4f07d2e207289195}\label{namespaceutl_aae56a019cdd2006c4f07d2e207289195}}
  1100. \index{utl@{utl}!Predicate@{Predicate}}
  1101. \index{Predicate@{Predicate}!utl@{utl}}
  1102. \subsubsection{\texorpdfstring{Predicate}{Predicate}}
  1103. {\footnotesize\ttfamily template$<$class F , class... Args$>$ \\
  1104. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Predicate}
  1105. {\bfseries Initial value\+:}
  1106. \begin{DoxyCode}
  1107. =
  1108. \mbox{\hyperlink{namespaceutl_ace9ef6da96e8cf5dc72762cd66240186}{RegularInvocable}}<F, Args...> &&
  1109. \mbox{\hyperlink{namespaceutl_a38e00606b4b45a2ac59fa4576b4498c6}{Boolean}}<\mbox{\hyperlink{namespaceutl_ae40494acc30f2894c74544f3e9142933}{invoke\_result\_t}}<F, Args...>>
  1110. \end{DoxyCode}
  1111. Definition at line 759 of file stl.\+h.
  1112. \mbox{\Hypertarget{namespaceutl_a3accaa436a17248b4214baebc582b2f6}\label{namespaceutl_a3accaa436a17248b4214baebc582b2f6}}
  1113. \index{utl@{utl}!Regular@{Regular}}
  1114. \index{Regular@{Regular}!utl@{utl}}
  1115. \subsubsection{\texorpdfstring{Regular}{Regular}}
  1116. {\footnotesize\ttfamily template$<$class T $>$ \\
  1117. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Regular = \mbox{\hyperlink{namespaceutl_af6b010e85897cb590e66a52157be1af5}{Semiregular}}$<$T$>$ \&\& \mbox{\hyperlink{namespaceutl_a92a38a3d1638ccad068c24d1242ef63a}{Equality\+Comparable}}$<$T$>$}
  1118. Regular
  1119. Definition at line 723 of file stl.\+h.
  1120. \mbox{\Hypertarget{namespaceutl_ace9ef6da96e8cf5dc72762cd66240186}\label{namespaceutl_ace9ef6da96e8cf5dc72762cd66240186}}
  1121. \index{utl@{utl}!Regular\+Invocable@{Regular\+Invocable}}
  1122. \index{Regular\+Invocable@{Regular\+Invocable}!utl@{utl}}
  1123. \subsubsection{\texorpdfstring{Regular\+Invocable}{RegularInvocable}}
  1124. {\footnotesize\ttfamily template$<$class F , class... Args$>$ \\
  1125. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Regular\+Invocable = \mbox{\hyperlink{namespaceutl_a9d5bbdf19b08d6d714ec696b0ec44d0a}{Invocable}}$<$F, Args...$>$}
  1126. Definition at line 756 of file stl.\+h.
  1127. \mbox{\Hypertarget{namespaceutl_a6d1e9b4853dd005ddaf61a79333cab98}\label{namespaceutl_a6d1e9b4853dd005ddaf61a79333cab98}}
  1128. \index{utl@{utl}!Relation@{Relation}}
  1129. \index{Relation@{Relation}!utl@{utl}}
  1130. \subsubsection{\texorpdfstring{Relation}{Relation}}
  1131. {\footnotesize\ttfamily template$<$class R , class T , class U $>$ \\
  1132. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Relation}
  1133. {\bfseries Initial value\+:}
  1134. \begin{DoxyCode}
  1135. =
  1136. Predicate<R, T, T> && Predicate<R, U, U> &&
  1137. Predicate<R, T, U> && Predicate<R, U, T>
  1138. \end{DoxyCode}
  1139. Definition at line 764 of file stl.\+h.
  1140. \mbox{\Hypertarget{namespaceutl_af86da3571c3026c6bbd501c6b7bc5093}\label{namespaceutl_af86da3571c3026c6bbd501c6b7bc5093}}
  1141. \index{utl@{utl}!Same@{Same}}
  1142. \index{Same@{Same}!utl@{utl}}
  1143. \subsubsection{\texorpdfstring{Same}{Same}}
  1144. {\footnotesize\ttfamily template$<$class T , class U $>$ \\
  1145. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Same = \mbox{\hyperlink{structutl_1_1meta_1_1same__}{meta\+::same\+\_\+}}$<$T, U$>$\+::value}
  1146. Same
  1147. Definition at line 62 of file stl.\+h.
  1148. \mbox{\Hypertarget{namespaceutl_a7f86c4bf42b13d9525481d731b194308}\label{namespaceutl_a7f86c4bf42b13d9525481d731b194308}}
  1149. \index{utl@{utl}!Scalar@{Scalar}}
  1150. \index{Scalar@{Scalar}!utl@{utl}}
  1151. \subsubsection{\texorpdfstring{Scalar}{Scalar}}
  1152. {\footnotesize\ttfamily template$<$class T $>$ \\
  1153. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Scalar}
  1154. {\bfseries Initial value\+:}
  1155. \begin{DoxyCode}
  1156. =
  1157. std::is\_scalar<T>::value && Regular<T>
  1158. \end{DoxyCode}
  1159. Scalar
  1160. Definition at line 729 of file stl.\+h.
  1161. \mbox{\Hypertarget{namespaceutl_af6b010e85897cb590e66a52157be1af5}\label{namespaceutl_af6b010e85897cb590e66a52157be1af5}}
  1162. \index{utl@{utl}!Semiregular@{Semiregular}}
  1163. \index{Semiregular@{Semiregular}!utl@{utl}}
  1164. \subsubsection{\texorpdfstring{Semiregular}{Semiregular}}
  1165. {\footnotesize\ttfamily template$<$class T $>$ \\
  1166. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Semiregular = \mbox{\hyperlink{namespaceutl_ac300f0e204f0ec4bd0ca38a551bb2b88}{Copyable}}$<$T$>$ \&\& \mbox{\hyperlink{namespaceutl_aacd3a17129d764e8a80c615eb4b88dc3}{Default\+Constructible}}$<$T$>$}
  1167. Semiregular
  1168. Definition at line 717 of file stl.\+h.
  1169. \mbox{\Hypertarget{namespaceutl_a667b758d906c466d1b8a878a45750bf1}\label{namespaceutl_a667b758d906c466d1b8a878a45750bf1}}
  1170. \index{utl@{utl}!Signed\+Integral@{Signed\+Integral}}
  1171. \index{Signed\+Integral@{Signed\+Integral}!utl@{utl}}
  1172. \subsubsection{\texorpdfstring{Signed\+Integral}{SignedIntegral}}
  1173. {\footnotesize\ttfamily template$<$class T $>$ \\
  1174. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Signed\+Integral = \mbox{\hyperlink{namespaceutl_ada9137016ddccf3339b2f6b3c409cc3c}{Integral}}$<$T$>$ \&\& std\+::is\+\_\+signed$<$T$>$\+::value}
  1175. Signed Integral
  1176. Definition at line 346 of file stl.\+h.
  1177. \mbox{\Hypertarget{namespaceutl_a720d6ece86f3f3320816aaae02eb16e4}\label{namespaceutl_a720d6ece86f3f3320816aaae02eb16e4}}
  1178. \index{utl@{utl}!Strict\+Totally\+Ordered@{Strict\+Totally\+Ordered}}
  1179. \index{Strict\+Totally\+Ordered@{Strict\+Totally\+Ordered}!utl@{utl}}
  1180. \subsubsection{\texorpdfstring{Strict\+Totally\+Ordered}{StrictTotallyOrdered}}
  1181. {\footnotesize\ttfamily template$<$class T $>$ \\
  1182. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Strict\+Totally\+Ordered}
  1183. {\bfseries Initial value\+:}
  1184. \begin{DoxyCode}
  1185. =
  1186. EqualityComparable<T> &&
  1187. Same <meta::true\_, details::is\_strict\_totally\_ordered\_t<T>>
  1188. \end{DoxyCode}
  1189. Definition at line 647 of file stl.\+h.
  1190. \mbox{\Hypertarget{namespaceutl_a5599d14d1bd008e4c14787d610a2b429}\label{namespaceutl_a5599d14d1bd008e4c14787d610a2b429}}
  1191. \index{utl@{utl}!Strict\+Totally\+Ordered\+With@{Strict\+Totally\+Ordered\+With}}
  1192. \index{Strict\+Totally\+Ordered\+With@{Strict\+Totally\+Ordered\+With}!utl@{utl}}
  1193. \subsubsection{\texorpdfstring{Strict\+Totally\+Ordered\+With}{StrictTotallyOrderedWith}}
  1194. {\footnotesize\ttfamily template$<$class T , class U $>$ \\
  1195. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Strict\+Totally\+Ordered\+With}
  1196. {\bfseries Initial value\+:}
  1197. \begin{DoxyCode}
  1198. =
  1199. StrictTotallyOrdered<T> &&
  1200. StrictTotallyOrdered<U> &&
  1201. EqualityComparableWith<T, U> &&
  1202. Same <meta::true\_, details::is\_strict\_totally\_ordered\_with\_t<T, U>>
  1203. \end{DoxyCode}
  1204. Definition at line 706 of file stl.\+h.
  1205. \mbox{\Hypertarget{namespaceutl_aa4b7b9105cfab3cd72865b5e0db23b11}\label{namespaceutl_aa4b7b9105cfab3cd72865b5e0db23b11}}
  1206. \index{utl@{utl}!Strict\+Weak\+Order@{Strict\+Weak\+Order}}
  1207. \index{Strict\+Weak\+Order@{Strict\+Weak\+Order}!utl@{utl}}
  1208. \subsubsection{\texorpdfstring{Strict\+Weak\+Order}{StrictWeakOrder}}
  1209. {\footnotesize\ttfamily template$<$class R , class T , class U $>$ \\
  1210. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Strict\+Weak\+Order = \mbox{\hyperlink{namespaceutl_a6d1e9b4853dd005ddaf61a79333cab98}{Relation}}$<$R, T, U$>$}
  1211. Definition at line 769 of file stl.\+h.
  1212. \mbox{\Hypertarget{namespaceutl_ae2b149b19fb3d69a4fc555e4474bf9de}\label{namespaceutl_ae2b149b19fb3d69a4fc555e4474bf9de}}
  1213. \index{utl@{utl}!Swappable@{Swappable}}
  1214. \index{Swappable@{Swappable}!utl@{utl}}
  1215. \subsubsection{\texorpdfstring{Swappable}{Swappable}}
  1216. {\footnotesize\ttfamily template$<$class T $>$ \\
  1217. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Swappable = \mbox{\hyperlink{namespaceutl_ab437a6d3a1f420b44e01378ae37fcb24}{is\+\_\+swappable\+\_\+with}}$<$T, T$>$\+::type\+::value}
  1218. Definition at line 425 of file stl.\+h.
  1219. \mbox{\Hypertarget{namespaceutl_a4a3bb850ba59d499382bd11153104af7}\label{namespaceutl_a4a3bb850ba59d499382bd11153104af7}}
  1220. \index{utl@{utl}!Swappable\+With@{Swappable\+With}}
  1221. \index{Swappable\+With@{Swappable\+With}!utl@{utl}}
  1222. \subsubsection{\texorpdfstring{Swappable\+With}{SwappableWith}}
  1223. {\footnotesize\ttfamily template$<$class T , class U $>$ \\
  1224. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Swappable\+With}
  1225. {\bfseries Initial value\+:}
  1226. \begin{DoxyCode}
  1227. =
  1228. is\_swappable\_with<T, T>::type::value &&
  1229. is\_swappable\_with<U, U>::type::value &&
  1230. is\_swappable\_with<T, U>::type::value &&
  1231. is\_swappable\_with<U, T>::type::value
  1232. \end{DoxyCode}
  1233. Definition at line 413 of file stl.\+h.
  1234. \mbox{\Hypertarget{namespaceutl_a7fb6eaf8fc1c5d65755c8c96a7a9b61f}\label{namespaceutl_a7fb6eaf8fc1c5d65755c8c96a7a9b61f}}
  1235. \index{utl@{utl}!Unsigned\+Integral@{Unsigned\+Integral}}
  1236. \index{Unsigned\+Integral@{Unsigned\+Integral}!utl@{utl}}
  1237. \subsubsection{\texorpdfstring{Unsigned\+Integral}{UnsignedIntegral}}
  1238. {\footnotesize\ttfamily template$<$class T $>$ \\
  1239. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Unsigned\+Integral = \mbox{\hyperlink{namespaceutl_ada9137016ddccf3339b2f6b3c409cc3c}{Integral}}$<$T$>$ \&\& !std\+::is\+\_\+signed$<$T$>$\+::value}
  1240. Unsigned Integral
  1241. Definition at line 352 of file stl.\+h.
  1242. \mbox{\Hypertarget{namespaceutl_a216f6e14ca647d85841fa13c40dc4ee3}\label{namespaceutl_a216f6e14ca647d85841fa13c40dc4ee3}}
  1243. \index{utl@{utl}!Weakly\+Equality\+Comparable\+With@{Weakly\+Equality\+Comparable\+With}}
  1244. \index{Weakly\+Equality\+Comparable\+With@{Weakly\+Equality\+Comparable\+With}!utl@{utl}}
  1245. \subsubsection{\texorpdfstring{Weakly\+Equality\+Comparable\+With}{WeaklyEqualityComparableWith}}
  1246. {\footnotesize\ttfamily template$<$class T , class U $>$ \\
  1247. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Weakly\+Equality\+Comparable\+With}
  1248. {\bfseries Initial value\+:}
  1249. \begin{DoxyCode}
  1250. =
  1251. Same<meta::true\_, details::is\_weakly\_equality\_comparable\_with\_t<T, U>>
  1252. \end{DoxyCode}
  1253. Definition at line 582 of file stl.\+h.
  1254. \mbox{\Hypertarget{namespaceutl_a25b4f216e3d7754b1c7088dd59504dee}\label{namespaceutl_a25b4f216e3d7754b1c7088dd59504dee}}
  1255. \index{utl@{utl}!Weakly\+Incrementable@{Weakly\+Incrementable}}
  1256. \index{Weakly\+Incrementable@{Weakly\+Incrementable}!utl@{utl}}
  1257. \subsubsection{\texorpdfstring{Weakly\+Incrementable}{WeaklyIncrementable}}
  1258. {\footnotesize\ttfamily template$<$class I $>$ \\
  1259. \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Weakly\+Incrementable}
  1260. {\bfseries Initial value\+:}
  1261. \begin{DoxyCode}
  1262. =
  1263. Semiregular<I>
  1264. && Same<\_ref\_t<I>, meta::detected\_t<detail::try\_ppI, \_ref\_t<I>>>
  1265. && meta::is\_detected<detail::try\_Ipp, \_ref\_t<I>>::value
  1266. \end{DoxyCode}
  1267. Definition at line 49 of file iterators.\+h.