Micro template library A library for building device drivers
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 

1727 lignes
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.