\hypertarget{namespaceutl}{}\section{utl Namespace Reference} \label{namespaceutl}\index{utl@{utl}} S\+TL\textquotesingle{}s core language concepts. \subsection*{Namespaces} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{namespaceutl_1_1__1wire__i__det}{\+\_\+1wire\+\_\+i\+\_\+det}} \item \mbox{\hyperlink{namespaceutl_1_1common__impl}{common\+\_\+impl}} \item \mbox{\hyperlink{namespaceutl_1_1detail}{detail}} \item \mbox{\hyperlink{namespaceutl_1_1details}{details}} \item \mbox{\hyperlink{namespaceutl_1_1i2c__i__details}{i2c\+\_\+i\+\_\+details}} \item \mbox{\hyperlink{namespaceutl_1_1idx__dev__details}{idx\+\_\+dev\+\_\+details}} \item \mbox{\hyperlink{namespaceutl_1_1idxdev__it__details}{idxdev\+\_\+it\+\_\+details}} \item \mbox{\hyperlink{namespaceutl_1_1in__dev__details}{in\+\_\+dev\+\_\+details}} \item \mbox{\hyperlink{namespaceutl_1_1inbuf__dev__details}{inbuf\+\_\+dev\+\_\+details}} \item \mbox{\hyperlink{namespaceutl_1_1indev__it__details}{indev\+\_\+it\+\_\+details}} \item \mbox{\hyperlink{namespaceutl_1_1meta}{meta}} \item \mbox{\hyperlink{namespaceutl_1_1out__dev__details}{out\+\_\+dev\+\_\+details}} \item \mbox{\hyperlink{namespaceutl_1_1outdev__it__details}{outdev\+\_\+it\+\_\+details}} \item \mbox{\hyperlink{namespaceutl_1_1spi}{spi}} \begin{DoxyCompactList}\small\item\em Abstract base class for spi bus. \end{DoxyCompactList}\item \mbox{\hyperlink{namespaceutl_1_1spi__i__details}{spi\+\_\+i\+\_\+details}} \end{DoxyCompactItemize} \subsection*{Classes} \begin{DoxyCompactItemize} \item class \mbox{\hyperlink{classutl_1_1__1wire__i}{\+\_\+1wire\+\_\+i}} \begin{DoxyCompactList}\small\item\em Template base class for 1-\/wire communication interface using C\+R\+TP. \end{DoxyCompactList}\item class \mbox{\hyperlink{classutl_1_1__1wire__i_3_01virtual__tag_01_4}{\+\_\+1wire\+\_\+i$<$ virtual\+\_\+tag $>$}} \begin{DoxyCompactList}\small\item\em A virtual base class implementation. \end{DoxyCompactList}\item class \mbox{\hyperlink{classutl_1_1__1wire__id__t}{\+\_\+1wire\+\_\+id\+\_\+t}} \item class \mbox{\hyperlink{classutl_1_1__1wire__uart__i}{\+\_\+1wire\+\_\+uart\+\_\+i}} \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 class \mbox{\hyperlink{classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4}{\+\_\+1wire\+\_\+uart\+\_\+i$<$ virtual\+\_\+tag $>$}} \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 struct \mbox{\hyperlink{structutl_1_1array}{array}} \begin{DoxyCompactList}\small\item\em A standard container for storing a fixed size sequence of elements. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structutl_1_1array__traits}{array\+\_\+traits}} \begin{DoxyCompactList}\small\item\em array container traits helper \end{DoxyCompactList}\item struct \mbox{\hyperlink{structutl_1_1array__traits_3_01___tp_00_010_01_4}{array\+\_\+traits$<$ \+\_\+\+Tp, 0 $>$}} \item struct \mbox{\hyperlink{structutl_1_1bidirectional__iterator__tag}{bidirectional\+\_\+iterator\+\_\+tag}} \item struct \mbox{\hyperlink{structutl_1_1contiguous__iterator__tag}{contiguous\+\_\+iterator\+\_\+tag}} \item struct \mbox{\hyperlink{structutl_1_1crtp__tag}{crtp\+\_\+tag}} \begin{DoxyCompactList}\small\item\em C\+R\+TP support tag type. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structutl_1_1dev__iterator__traits}{dev\+\_\+iterator\+\_\+traits}} \begin{DoxyCompactList}\small\item\em Device iterator collection. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structutl_1_1forward__iterator__tag}{forward\+\_\+iterator\+\_\+tag}} \item class \mbox{\hyperlink{classutl_1_1i2c__bb__i}{i2c\+\_\+bb\+\_\+i}} \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 class \mbox{\hyperlink{classutl_1_1i2c__bb__i_3_01virtual__tag_01_4}{i2c\+\_\+bb\+\_\+i$<$ virtual\+\_\+tag $>$}} \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 class \mbox{\hyperlink{classutl_1_1i2c__i}{i2c\+\_\+i}} \begin{DoxyCompactList}\small\item\em Abstract base class for i2c bus. \end{DoxyCompactList}\item class \mbox{\hyperlink{classutl_1_1i2c__i_3_01virtual__tag_01_4}{i2c\+\_\+i$<$ virtual\+\_\+tag $>$}} \begin{DoxyCompactList}\small\item\em A virtual base class specialization. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structutl_1_1id__t}{id\+\_\+t}} \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 struct \mbox{\hyperlink{structutl_1_1id__traits}{id\+\_\+traits}} \begin{DoxyCompactList}\small\item\em id container traits helper \end{DoxyCompactList}\item struct \mbox{\hyperlink{structutl_1_1id__traits_3_01___tp_00_010_01_4}{id\+\_\+traits$<$ \+\_\+\+Tp, 0 $>$}} \item class \mbox{\hyperlink{classutl_1_1idx__dev}{idx\+\_\+dev}} \begin{DoxyCompactList}\small\item\em Abstract base class for indexed devices. \end{DoxyCompactList}\item 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 $>$}} \begin{DoxyCompactList}\small\item\em A virtual base class specialization. \end{DoxyCompactList}\item class \mbox{\hyperlink{classutl_1_1in__dev}{in\+\_\+dev}} \begin{DoxyCompactList}\small\item\em Abstract base class for input devices. \end{DoxyCompactList}\item class \mbox{\hyperlink{classutl_1_1in__dev_3_01virtual__tag_00_01data__t_00_01streamsize_01_4}{in\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, streamsize $>$}} \begin{DoxyCompactList}\small\item\em A virtual base class specialization. \end{DoxyCompactList}\item class \mbox{\hyperlink{classutl_1_1inbuf__dev}{inbuf\+\_\+dev}} \begin{DoxyCompactList}\small\item\em Abstract base class for input buffered devices. \end{DoxyCompactList}\item class \mbox{\hyperlink{classutl_1_1inbuf__dev_3_01virtual__tag_00_01data__t_00_01streamsize_01_4}{inbuf\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, streamsize $>$}} \begin{DoxyCompactList}\small\item\em A virtual base class specialization. \end{DoxyCompactList}\item class \mbox{\hyperlink{classutl_1_1indev__it}{indev\+\_\+it}} \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 struct \mbox{\hyperlink{structutl_1_1input__iterator__tag}{input\+\_\+iterator\+\_\+tag}} \item class \mbox{\hyperlink{classutl_1_1iodev__it}{iodev\+\_\+it}} \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 struct \mbox{\hyperlink{structutl_1_1is__invocable}{is\+\_\+invocable}} \begin{DoxyCompactList}\small\item\em std\+::is\+\_\+invocable trait for C++11 \end{DoxyCompactList}\item struct \mbox{\hyperlink{structutl_1_1is__invocable__r}{is\+\_\+invocable\+\_\+r}} \begin{DoxyCompactList}\small\item\em std\+::is\+\_\+invocable\+\_\+r trait for C++11 \end{DoxyCompactList}\item class \mbox{\hyperlink{classutl_1_1istreamdev__it}{istreamdev\+\_\+it}} \item class \mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+dev}} \begin{DoxyCompactList}\small\item\em Abstract base classes for output stream devices. \end{DoxyCompactList}\item class \mbox{\hyperlink{classutl_1_1ostream__dev_3_01virtual__tag_00_01data__t_01_4}{ostream\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t $>$}} \item class \mbox{\hyperlink{classutl_1_1ostreamdev__it}{ostreamdev\+\_\+it}} \item class \mbox{\hyperlink{classutl_1_1out__dev}{out\+\_\+dev}} \begin{DoxyCompactList}\small\item\em Abstract base classes for output devices. \end{DoxyCompactList}\item class \mbox{\hyperlink{classutl_1_1out__dev_3_01virtual__tag_00_01data__t_00_01streamsize_01_4}{out\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, streamsize $>$}} \begin{DoxyCompactList}\small\item\em A virtual base class specialization. \end{DoxyCompactList}\item class \mbox{\hyperlink{classutl_1_1outdev__it}{outdev\+\_\+it}} \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 struct \mbox{\hyperlink{structutl_1_1output__iterator__tag}{output\+\_\+iterator\+\_\+tag}} \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 struct \mbox{\hyperlink{structutl_1_1random__access__iterator__tag}{random\+\_\+access\+\_\+iterator\+\_\+tag}} \item class \mbox{\hyperlink{classutl_1_1spi__bb__i}{spi\+\_\+bb\+\_\+i}} \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 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 $>$}} \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 class \mbox{\hyperlink{classutl_1_1spi__i}{spi\+\_\+i}} \item class \mbox{\hyperlink{classutl_1_1spi__i_3_01virtual__tag_01_4}{spi\+\_\+i$<$ virtual\+\_\+tag $>$}} \begin{DoxyCompactList}\small\item\em A virtual base class implementation. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}} \begin{DoxyCompactList}\small\item\em virtual support tag type \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection*{Typedefs} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename T $>$ }\\using \mbox{\hyperlink{namespaceutl_a7a9d26263662e02fbe3b238da5fd7338}{remove\+\_\+cvref\+\_\+t}} = std\+::remove\+\_\+cv\+\_\+t$<$ std\+::remove\+\_\+reference\+\_\+t$<$ T $>$ $>$ \item {\footnotesize template$<$typename T $>$ }\\using \mbox{\hyperlink{namespaceutl_a7d69beba08b81379703fd3b0ca42044d}{cref\+\_\+}} = const std\+::remove\+\_\+reference\+\_\+t$<$ T $>$ \& \item {\footnotesize template$<$typename T $>$ }\\using \mbox{\hyperlink{namespaceutl_aa3f95fc48a94b2fae3c2959b7c024998}{\+\_\+ref\+\_\+t}} = std\+::add\+\_\+lvalue\+\_\+reference\+\_\+t$<$ T $>$ \item {\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 $>$ $>$ \end{DoxyCompactItemize} \textbf{ }\par \begin{DoxyCompactItemize} \item {\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... $>$ \item {\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... $>$ $>$ \end{DoxyCompactItemize} \begin{Indent}\textbf{ byte and word types}\par \begin{DoxyCompactItemize} \item using \mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}} = uint8\+\_\+t \begin{DoxyCompactList}\small\item\em 8 bits wide \end{DoxyCompactList}\item using \mbox{\hyperlink{namespaceutl_a1368cb6928f648fe4db1c85c190f0548}{word\+\_\+t}} = uint16\+\_\+t \begin{DoxyCompactList}\small\item\em 16 bits wide \end{DoxyCompactList}\item using \mbox{\hyperlink{namespaceutl_abc93b88d0c0f95081ecd3d2194daf0fb}{dword\+\_\+t}} = uint32\+\_\+t \end{DoxyCompactItemize} \end{Indent} \begin{Indent}\textbf{ size and index}\par \begin{DoxyCompactItemize} \item using \mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} = std\+::size\+\_\+t \item using \mbox{\hyperlink{namespaceutl_a676c0acd539dd04048dcc7b4d698577e}{index\+\_\+t}} = \mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} \begin{DoxyCompactList}\small\item\em index\+\_\+t and size\+\_\+t mend to be interchangeable \end{DoxyCompactList}\item using \mbox{\hyperlink{namespaceutl_a1b83655ba00b548af9b51f169c6c567a}{ptrdiff\+\_\+t}} = std\+::ptrdiff\+\_\+t \end{DoxyCompactItemize} \end{Indent} \textbf{ }\par \begin{DoxyCompactItemize} \item {\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... $>$ \begin{DoxyCompactList}\small\item\em invoke\+\_\+result (for C++14) \end{DoxyCompactList}\item {\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... $>$ $>$ \begin{DoxyCompactList}\small\item\em invoke\+\_\+result\+\_\+t (for C++14) \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection*{Functions} \begin{DoxyCompactItemize} \item {\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))) \item {\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 \item {\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 \item {\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 \item {\footnotesize template$<$typename \+\_\+\+Callable , typename... \+\_\+\+Args$>$ }\\decltype(auto) \mbox{\hyperlink{namespaceutl_adc675874b5426194d04112f76b356714}{invoke}} (\+\_\+\+Callable \&\&fn, \+\_\+\+Args \&\&... args) \begin{DoxyCompactList}\small\item\em Invoke a callable object (for C++14) \end{DoxyCompactList}\end{DoxyCompactItemize} \begin{Indent}\textbf{ Array comparisons.}\par \begin{DoxyCompactItemize} \item {\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) \item {\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) \item {\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) \item {\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) \item {\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) \item {\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) \end{DoxyCompactItemize} \end{Indent} \begin{Indent}\textbf{ device ID comparisons.}\par \begin{DoxyCompactItemize} \item {\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) \item {\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) \item {\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) \item {\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) \item {\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) \item {\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) \end{DoxyCompactItemize} \end{Indent} \textbf{ }\par \begin{DoxyCompactItemize} \item {\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 \begin{DoxyCompactList}\small\item\em Equality comparison template so that comparison between cv-\/qualified and non-\/cv-\/qualified iterators be valid. \end{DoxyCompactList}\item {\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 \item {\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 \begin{DoxyCompactList}\small\item\em Equality comparison template so that comparison between cv-\/qualified and non-\/cv-\/qualified iterators be valid. \end{DoxyCompactList}\item {\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 \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} \begin{Indent}\textbf{ indev\+\_\+it Equality\+Comparable \&\& Less\+Than\+Comparable requirements}\par {\em comparison template so that comparison between cv-\/qualified and non-\/cv-\/qualified iterators be valid }\begin{DoxyCompactItemize} \item {\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 \item {\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 \begin{DoxyCompactList}\small\item\em Less than. \end{DoxyCompactList}\item {\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 \item {\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 \item {\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 \item {\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 \item {\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 \item {\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 \begin{DoxyCompactList}\small\item\em Less than. \end{DoxyCompactList}\item {\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 \item {\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 \item {\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 \item {\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 \end{DoxyCompactItemize} \end{Indent} \begin{Indent}\textbf{ iterator arithmetic}\par \begin{DoxyCompactItemize} \item {\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()) \item {\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 \item {\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()) \item {\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 \end{DoxyCompactItemize} \end{Indent} \subsection*{Variables} \begin{DoxyCompactItemize} \item {\footnotesize template$<$class I $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a25b4f216e3d7754b1c7088dd59504dee}{Weakly\+Incrementable}} \item {\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 \item {\footnotesize template$<$class Derived , class Base $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a0904cc4071a8ea97a1d646dc0a9ca85b}{Derived\+From}} \item {\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 \item {\footnotesize template$<$class T , class U $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a1cc37f121888dcc030b8e676b077024f}{Common\+Reference}} \item {\footnotesize template$<$class T , class U $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a79e23f98aa58c2dcd111743a096ef092}{Common}} \item {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_ada9137016ddccf3339b2f6b3c409cc3c}{Integral}} = std\+::is\+\_\+integral$<$T$>$\+::value \item {\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 \item {\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 \item {\footnotesize template$<$typename T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a7b8e4a26148ed5f2c60e4fd7d41e7e63}{Move\+Assignable}} = std\+::is\+\_\+move\+\_\+assignable$<$T$>$\+::value \item {\footnotesize template$<$typename T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a1be866c815c4fcb2a7344650c3491c0c}{Copy\+Assignable}} = std\+::is\+\_\+copy\+\_\+assignable$<$T$>$\+::value \item {\footnotesize template$<$class L\+HS , class R\+HS $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_acfbced82f83ceb87eeb77d31941c011a}{Assignable}} \item {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_acf2f1df100b0cc4f127243a1a83a8469}{Destructible}} = std\+::is\+\_\+nothrow\+\_\+destructible$<$T$>$\+::value \item {\footnotesize template$<$class T , class... Args$>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a2a3ef7a9c788ffc1291ce15d2e5869bf}{Constructible}} \item {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_aacd3a17129d764e8a80c615eb4b88dc3}{Default\+Constructible}} = \mbox{\hyperlink{namespaceutl_a2a3ef7a9c788ffc1291ce15d2e5869bf}{Constructible}}$<$T$>$ \item {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a2a728f3d477d96f4f719bf62079321cf}{Move\+Constructible}} \item {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_afb0f121b33b44640406b724c4d582b70}{Copy\+Constructible}} \item {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_afc25cb525eb29162042c21238f28f26e}{Movable}} \item {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_ac300f0e204f0ec4bd0ca38a551bb2b88}{Copyable}} \item {\footnotesize template$<$class B $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a38e00606b4b45a2ac59fa4576b4498c6}{Boolean}} \item {\footnotesize template$<$class T , class U $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a216f6e14ca647d85841fa13c40dc4ee3}{Weakly\+Equality\+Comparable\+With}} \item {\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$>$ \item {\footnotesize template$<$class T , class U $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_aa2be0b64c41b392c5264de5f5fee094e}{Equality\+Comparable\+With}} \item {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a720d6ece86f3f3320816aaae02eb16e4}{Strict\+Totally\+Ordered}} \item {\footnotesize template$<$class T , class U $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a5599d14d1bd008e4c14787d610a2b429}{Strict\+Totally\+Ordered\+With}} \item {\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$>$ \item {\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$>$ \item {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a7f86c4bf42b13d9525481d731b194308}{Scalar}} \item {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a41733496c30138efd3d88f13d9382aad}{Arithmetic}} \item {\footnotesize template$<$class T $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a07e83d4763a298c1faf2b1069b55e286}{Floating\+Point}} \item {\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 \item {\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...$>$ \item {\footnotesize template$<$class F , class... Args$>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_aae56a019cdd2006c4f07d2e207289195}{Predicate}} \item {\footnotesize template$<$class R , class T , class U $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a6d1e9b4853dd005ddaf61a79333cab98}{Relation}} \item {\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$>$ \end{DoxyCompactItemize} \textbf{ }\par \begin{DoxyCompactItemize} \item {\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 \end{DoxyCompactItemize} \textbf{ }\par \begin{DoxyCompactItemize} \item {\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 \end{DoxyCompactItemize} \textbf{ }\par \begin{DoxyCompactItemize} \item {\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 \end{DoxyCompactItemize} \textbf{ }\par \begin{DoxyCompactItemize} \item {\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 \end{DoxyCompactItemize} \begin{DoxyCompactItemize} \item using \mbox{\hyperlink{namespaceutl_a1d50e9abd420e77555624f3e52bc7479}{is\+\_\+swappable}} = std\+::is\+\_\+swappable \item using \mbox{\hyperlink{namespaceutl_ab437a6d3a1f420b44e01378ae37fcb24}{is\+\_\+swappable\+\_\+with}} = std\+::is\+\_\+swappable\+\_\+with \item {\footnotesize template$<$class T , class U $>$ }\\\mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} \mbox{\hyperlink{namespaceutl_a4a3bb850ba59d499382bd11153104af7}{Swappable\+With}} \item {\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 \end{DoxyCompactItemize} \subsection{Detailed Description} S\+TL\textquotesingle{}s core language concepts. We provide std concepts in case host\textquotesingle{}s stl does not provide them yet. For more information \begin{DoxySeeAlso}{See also} \href{https://en.cppreference.com/w/cpp/concepts}{\tt https\+://en.\+cppreference.\+com/w/cpp/concepts} \end{DoxySeeAlso} \subsection{Typedef Documentation} \mbox{\Hypertarget{namespaceutl_aa3f95fc48a94b2fae3c2959b7c024998}\label{namespaceutl_aa3f95fc48a94b2fae3c2959b7c024998}} \index{utl@{utl}!\+\_\+ref\+\_\+t@{\+\_\+ref\+\_\+t}} \index{\+\_\+ref\+\_\+t@{\+\_\+ref\+\_\+t}!utl@{utl}} \subsubsection{\texorpdfstring{\+\_\+ref\+\_\+t}{\_ref\_t}} {\footnotesize\ttfamily template$<$typename T $>$ \\ using \mbox{\hyperlink{namespaceutl_aa3f95fc48a94b2fae3c2959b7c024998}{utl\+::\+\_\+ref\+\_\+t}} = typedef std\+::add\+\_\+lvalue\+\_\+reference\+\_\+t$<$T$>$} Definition at line 48 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}\label{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}} \index{utl@{utl}!byte\+\_\+t@{byte\+\_\+t}} \index{byte\+\_\+t@{byte\+\_\+t}!utl@{utl}} \subsubsection{\texorpdfstring{byte\+\_\+t}{byte\_t}} {\footnotesize\ttfamily using \mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{utl\+::byte\+\_\+t}} = typedef uint8\+\_\+t} 8 bits wide Definition at line 31 of file types.\+h. \mbox{\Hypertarget{namespaceutl_a3970b90f0e0fd9f801cfcb1d955e3d42}\label{namespaceutl_a3970b90f0e0fd9f801cfcb1d955e3d42}} \index{utl@{utl}!common\+\_\+reference@{common\+\_\+reference}} \index{common\+\_\+reference@{common\+\_\+reference}!utl@{utl}} \subsubsection{\texorpdfstring{common\+\_\+reference}{common\_reference}} {\footnotesize\ttfamily template$<$typename... Ts$>$ \\ using \mbox{\hyperlink{namespaceutl_a3970b90f0e0fd9f801cfcb1d955e3d42}{utl\+::common\+\_\+reference}} = typedef \mbox{\hyperlink{structutl_1_1common__impl_1_1common__reference}{common\+\_\+impl\+::common\+\_\+reference}}$<$Ts...$>$} Definition at line 281 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a4d76d9e29b830c16ad7dd34e3800a746}\label{namespaceutl_a4d76d9e29b830c16ad7dd34e3800a746}} \index{utl@{utl}!common\+\_\+reference\+\_\+t@{common\+\_\+reference\+\_\+t}} \index{common\+\_\+reference\+\_\+t@{common\+\_\+reference\+\_\+t}!utl@{utl}} \subsubsection{\texorpdfstring{common\+\_\+reference\+\_\+t}{common\_reference\_t}} {\footnotesize\ttfamily template$<$typename... Ts$>$ \\ 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...$>$ $>$} Definition at line 286 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a7d69beba08b81379703fd3b0ca42044d}\label{namespaceutl_a7d69beba08b81379703fd3b0ca42044d}} \index{utl@{utl}!cref\+\_\+@{cref\+\_\+}} \index{cref\+\_\+@{cref\+\_\+}!utl@{utl}} \subsubsection{\texorpdfstring{cref\+\_\+}{cref\_}} {\footnotesize\ttfamily template$<$typename T $>$ \\ using \mbox{\hyperlink{namespaceutl_a7d69beba08b81379703fd3b0ca42044d}{utl\+::cref\+\_\+}} = typedef const std\+::remove\+\_\+reference\+\_\+t$<$T$>$\&} Definition at line 45 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_abc93b88d0c0f95081ecd3d2194daf0fb}\label{namespaceutl_abc93b88d0c0f95081ecd3d2194daf0fb}} \index{utl@{utl}!dword\+\_\+t@{dword\+\_\+t}} \index{dword\+\_\+t@{dword\+\_\+t}!utl@{utl}} \subsubsection{\texorpdfstring{dword\+\_\+t}{dword\_t}} {\footnotesize\ttfamily using \mbox{\hyperlink{namespaceutl_abc93b88d0c0f95081ecd3d2194daf0fb}{utl\+::dword\+\_\+t}} = typedef uint32\+\_\+t} 32 bits wide Definition at line 33 of file types.\+h. \mbox{\Hypertarget{namespaceutl_a676c0acd539dd04048dcc7b4d698577e}\label{namespaceutl_a676c0acd539dd04048dcc7b4d698577e}} \index{utl@{utl}!index\+\_\+t@{index\+\_\+t}} \index{index\+\_\+t@{index\+\_\+t}!utl@{utl}} \subsubsection{\texorpdfstring{index\+\_\+t}{index\_t}} {\footnotesize\ttfamily using \mbox{\hyperlink{namespaceutl_a676c0acd539dd04048dcc7b4d698577e}{utl\+::index\+\_\+t}} = typedef \mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}}} index\+\_\+t and size\+\_\+t mend to be interchangeable \begin{Desc} \item[Examples\+: ]\par \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} Definition at line 38 of file types.\+h. \mbox{\Hypertarget{namespaceutl_a9dd560a1b217a10af34d1ade3e77a76b}\label{namespaceutl_a9dd560a1b217a10af34d1ade3e77a76b}} \index{utl@{utl}!invoke\+\_\+result@{invoke\+\_\+result}} \index{invoke\+\_\+result@{invoke\+\_\+result}!utl@{utl}} \subsubsection{\texorpdfstring{invoke\+\_\+result}{invoke\_result}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Callable , typename... \+\_\+\+Args$>$ \\ 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... $>$} invoke\+\_\+result (for C++14) Definition at line 174 of file invoke.\+h. \mbox{\Hypertarget{namespaceutl_ae40494acc30f2894c74544f3e9142933}\label{namespaceutl_ae40494acc30f2894c74544f3e9142933}} \index{utl@{utl}!invoke\+\_\+result\+\_\+t@{invoke\+\_\+result\+\_\+t}} \index{invoke\+\_\+result\+\_\+t@{invoke\+\_\+result\+\_\+t}!utl@{utl}} \subsubsection{\texorpdfstring{invoke\+\_\+result\+\_\+t}{invoke\_result\_t}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Callable , typename... \+\_\+\+Args$>$ \\ 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...$>$ $>$} invoke\+\_\+result\+\_\+t (for C++14) Definition at line 180 of file invoke.\+h. \mbox{\Hypertarget{namespaceutl_a1d50e9abd420e77555624f3e52bc7479}\label{namespaceutl_a1d50e9abd420e77555624f3e52bc7479}} \index{utl@{utl}!is\+\_\+swappable@{is\+\_\+swappable}} \index{is\+\_\+swappable@{is\+\_\+swappable}!utl@{utl}} \subsubsection{\texorpdfstring{is\+\_\+swappable}{is\_swappable}} {\footnotesize\ttfamily using \mbox{\hyperlink{namespaceutl_a1d50e9abd420e77555624f3e52bc7479}{utl\+::is\+\_\+swappable}} = typedef std\+::is\+\_\+swappable} Swappable, Swappable\+With Definition at line 407 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_ab437a6d3a1f420b44e01378ae37fcb24}\label{namespaceutl_ab437a6d3a1f420b44e01378ae37fcb24}} \index{utl@{utl}!is\+\_\+swappable\+\_\+with@{is\+\_\+swappable\+\_\+with}} \index{is\+\_\+swappable\+\_\+with@{is\+\_\+swappable\+\_\+with}!utl@{utl}} \subsubsection{\texorpdfstring{is\+\_\+swappable\+\_\+with}{is\_swappable\_with}} {\footnotesize\ttfamily using \mbox{\hyperlink{namespaceutl_ab437a6d3a1f420b44e01378ae37fcb24}{utl\+::is\+\_\+swappable\+\_\+with}} = typedef std\+::is\+\_\+swappable\+\_\+with} Definition at line 408 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a1b83655ba00b548af9b51f169c6c567a}\label{namespaceutl_a1b83655ba00b548af9b51f169c6c567a}} \index{utl@{utl}!ptrdiff\+\_\+t@{ptrdiff\+\_\+t}} \index{ptrdiff\+\_\+t@{ptrdiff\+\_\+t}!utl@{utl}} \subsubsection{\texorpdfstring{ptrdiff\+\_\+t}{ptrdiff\_t}} {\footnotesize\ttfamily using \mbox{\hyperlink{namespaceutl_a1b83655ba00b548af9b51f169c6c567a}{utl\+::ptrdiff\+\_\+t}} = typedef std\+::ptrdiff\+\_\+t} Definition at line 40 of file types.\+h. \mbox{\Hypertarget{namespaceutl_a7a9d26263662e02fbe3b238da5fd7338}\label{namespaceutl_a7a9d26263662e02fbe3b238da5fd7338}} \index{utl@{utl}!remove\+\_\+cvref\+\_\+t@{remove\+\_\+cvref\+\_\+t}} \index{remove\+\_\+cvref\+\_\+t@{remove\+\_\+cvref\+\_\+t}!utl@{utl}} \subsubsection{\texorpdfstring{remove\+\_\+cvref\+\_\+t}{remove\_cvref\_t}} {\footnotesize\ttfamily template$<$typename T $>$ \\ using \mbox{\hyperlink{namespaceutl_a7a9d26263662e02fbe3b238da5fd7338}{utl\+::remove\+\_\+cvref\+\_\+t}} = typedef std\+::remove\+\_\+cv\+\_\+t$<$ std\+::remove\+\_\+reference\+\_\+t$<$T$>$ $>$} Definition at line 42 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}\label{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}} \index{utl@{utl}!size\+\_\+t@{size\+\_\+t}} \index{size\+\_\+t@{size\+\_\+t}!utl@{utl}} \subsubsection{\texorpdfstring{size\+\_\+t}{size\_t}} {\footnotesize\ttfamily using \mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{utl\+::size\+\_\+t}} = typedef std\+::size\+\_\+t} Definition at line 37 of file types.\+h. \mbox{\Hypertarget{namespaceutl_ac5e425d39e8ee62e68664c6166d02d0c}\label{namespaceutl_ac5e425d39e8ee62e68664c6166d02d0c}} \index{utl@{utl}!use\+\_\+if\+\_\+same\+\_\+t@{use\+\_\+if\+\_\+same\+\_\+t}} \index{use\+\_\+if\+\_\+same\+\_\+t@{use\+\_\+if\+\_\+same\+\_\+t}!utl@{utl}} \subsubsection{\texorpdfstring{use\+\_\+if\+\_\+same\+\_\+t}{use\_if\_same\_t}} {\footnotesize\ttfamily template$<$typename \+\_\+\+T1 , typename \+\_\+\+T2 , typename \+\_\+\+Ret = \+\_\+\+T1$>$ \\ 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 $>$ $>$} Definition at line 55 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a1368cb6928f648fe4db1c85c190f0548}\label{namespaceutl_a1368cb6928f648fe4db1c85c190f0548}} \index{utl@{utl}!word\+\_\+t@{word\+\_\+t}} \index{word\+\_\+t@{word\+\_\+t}!utl@{utl}} \subsubsection{\texorpdfstring{word\+\_\+t}{word\_t}} {\footnotesize\ttfamily using \mbox{\hyperlink{namespaceutl_a1368cb6928f648fe4db1c85c190f0548}{utl\+::word\+\_\+t}} = typedef uint16\+\_\+t} 16 bits wide Definition at line 32 of file types.\+h. \subsection{Function Documentation} \mbox{\Hypertarget{namespaceutl_a29057d2e164fe6dd3f3095f0d69c6546}\label{namespaceutl_a29057d2e164fe6dd3f3095f0d69c6546}} \index{utl@{utl}!get@{get}} \index{get@{get}!utl@{utl}} \subsubsection{\texorpdfstring{get()}{get()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}} {\footnotesize\ttfamily template$<$size\+\_\+t \+\_\+\+Int, typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\ constexpr \+\_\+\+Tp\& utl\+::get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&}]{arr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [noexcept]}} Definition at line 220 of file array.\+h. \mbox{\Hypertarget{namespaceutl_ab0087ff901c30848b7ac6f5ffa31f5cf}\label{namespaceutl_ab0087ff901c30848b7ac6f5ffa31f5cf}} \index{utl@{utl}!get@{get}} \index{get@{get}!utl@{utl}} \subsubsection{\texorpdfstring{get()}{get()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}} {\footnotesize\ttfamily template$<$size\+\_\+t \+\_\+\+Int, typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\ constexpr \+\_\+\+Tp\&\& utl\+::get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structutl_1_1array}{array}}$<$ \+\_\+\+Tp, \+\_\+\+Nm $>$ \&\&}]{arr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [noexcept]}} Definition at line 226 of file array.\+h. \mbox{\Hypertarget{namespaceutl_aad376ab583a0db920180465f9f35d67b}\label{namespaceutl_aad376ab583a0db920180465f9f35d67b}} \index{utl@{utl}!get@{get}} \index{get@{get}!utl@{utl}} \subsubsection{\texorpdfstring{get()}{get()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}} {\footnotesize\ttfamily template$<$size\+\_\+t \+\_\+\+Int, typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\ 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]}} Definition at line 232 of file array.\+h. \mbox{\Hypertarget{namespaceutl_adc675874b5426194d04112f76b356714}\label{namespaceutl_adc675874b5426194d04112f76b356714}} \index{utl@{utl}!invoke@{invoke}} \index{invoke@{invoke}!utl@{utl}} \subsubsection{\texorpdfstring{invoke()}{invoke()}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Callable , typename... \+\_\+\+Args$>$ \\ decltype(auto) utl\+::invoke (\begin{DoxyParamCaption}\item[{\+\_\+\+Callable \&\&}]{fn, }\item[{\+\_\+\+Args \&\&...}]{args }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Invoke a callable object (for C++14) Definition at line 121 of file invoke.\+h. \mbox{\Hypertarget{namespaceutl_a45cd30dab2ec904b6fd64641d777b35e}\label{namespaceutl_a45cd30dab2ec904b6fd64641d777b35e}} \index{utl@{utl}!operator"!=@{operator"!=}} \index{operator"!=@{operator"!=}!utl@{utl}} \subsubsection{\texorpdfstring{operator"!=()}{operator!=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/6]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\ 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]}} Definition at line 186 of file array.\+h. \mbox{\Hypertarget{namespaceutl_a7f05cda5b7a37dea074df55db31aefb6}\label{namespaceutl_a7f05cda5b7a37dea074df55db31aefb6}} \index{utl@{utl}!operator"!=@{operator"!=}} \index{operator"!=@{operator"!=}!utl@{utl}} \subsubsection{\texorpdfstring{operator"!=()}{operator!=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/6]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\ 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]}} Definition at line 206 of file id.\+h. \mbox{\Hypertarget{namespaceutl_aa7a25ea4d2598ec5db5b37bfaaf55ec3}\label{namespaceutl_aa7a25ea4d2598ec5db5b37bfaaf55ec3}} \index{utl@{utl}!operator"!=@{operator"!=}} \index{operator"!=@{operator"!=}!utl@{utl}} \subsubsection{\texorpdfstring{operator"!=()}{operator!=()}\hspace{0.1cm}{\footnotesize\ttfamily [3/6]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+C1 , typename \+\_\+\+D1 , typename \+\_\+\+C2 , typename \+\_\+\+D2 $>$ \\ 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]}} Definition at line 236 of file dev\+\_\+iterators.\+h. \mbox{\Hypertarget{namespaceutl_ada8975062732a20074909f8a3f609538}\label{namespaceutl_ada8975062732a20074909f8a3f609538}} \index{utl@{utl}!operator"!=@{operator"!=}} \index{operator"!=@{operator"!=}!utl@{utl}} \subsubsection{\texorpdfstring{operator"!=()}{operator!=()}\hspace{0.1cm}{\footnotesize\ttfamily [4/6]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, index\+\_\+t \+\_\+end1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, index\+\_\+t \+\_\+end2$>$ \\ 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]}} Inequality comparison template so that comparison between cv-\/qualified and non-\/cv-\/qualified iterators be valid. \begin{DoxyParams}{Parameters} {\em lhs} & Left hand site iterator \\ \hline {\em rhs} & Right hand site iterator \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} True in inequality \end{DoxyReturn} Definition at line 382 of file dev\+\_\+iterators.\+h. \mbox{\Hypertarget{namespaceutl_a15d049c37bf09ffb29f2a0c0070bf89c}\label{namespaceutl_a15d049c37bf09ffb29f2a0c0070bf89c}} \index{utl@{utl}!operator"!=@{operator"!=}} \index{operator"!=@{operator"!=}!utl@{utl}} \subsubsection{\texorpdfstring{operator"!=()}{operator!=()}\hspace{0.1cm}{\footnotesize\ttfamily [5/6]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\ 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]}} Definition at line 624 of file dev\+\_\+iterators.\+h. \mbox{\Hypertarget{namespaceutl_a388830b63c30f5ee32a3e2a761c703c8}\label{namespaceutl_a388830b63c30f5ee32a3e2a761c703c8}} \index{utl@{utl}!operator"!=@{operator"!=}} \index{operator"!=@{operator"!=}!utl@{utl}} \subsubsection{\texorpdfstring{operator"!=()}{operator!=()}\hspace{0.1cm}{\footnotesize\ttfamily [6/6]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\ 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]}} Definition at line 909 of file dev\+\_\+iterators.\+h. \mbox{\Hypertarget{namespaceutl_a69289a7a150563ce48244d7f39b33dbb}\label{namespaceutl_a69289a7a150563ce48244d7f39b33dbb}} \index{utl@{utl}!operator+@{operator+}} \index{operator+@{operator+}!utl@{utl}} \subsubsection{\texorpdfstring{operator+()}{operator+()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont , typename \+\_\+\+It , index\+\_\+t \+\_\+beg, size\+\_\+t \+\_\+size$>$ \\ \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]}} Definition at line 659 of file dev\+\_\+iterators.\+h. \mbox{\Hypertarget{namespaceutl_a829bc4894560bf7e0a6fd829ac9d3c10}\label{namespaceutl_a829bc4894560bf7e0a6fd829ac9d3c10}} \index{utl@{utl}!operator+@{operator+}} \index{operator+@{operator+}!utl@{utl}} \subsubsection{\texorpdfstring{operator+()}{operator+()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont , typename \+\_\+\+It , index\+\_\+t \+\_\+beg, size\+\_\+t \+\_\+size$>$ \\ \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]}} Definition at line 944 of file dev\+\_\+iterators.\+h. \mbox{\Hypertarget{namespaceutl_aae4b45dc79b7d9b85e0bf83278f88508}\label{namespaceutl_aae4b45dc79b7d9b85e0bf83278f88508}} \index{utl@{utl}!operator-\/@{operator-\/}} \index{operator-\/@{operator-\/}!utl@{utl}} \subsubsection{\texorpdfstring{operator-\/()}{operator-()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\ 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]}} Definition at line 651 of file dev\+\_\+iterators.\+h. \mbox{\Hypertarget{namespaceutl_a191590b661dc64e2fd487adb6b5e8889}\label{namespaceutl_a191590b661dc64e2fd487adb6b5e8889}} \index{utl@{utl}!operator-\/@{operator-\/}} \index{operator-\/@{operator-\/}!utl@{utl}} \subsubsection{\texorpdfstring{operator-\/()}{operator-()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\ 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]}} Definition at line 936 of file dev\+\_\+iterators.\+h. \mbox{\Hypertarget{namespaceutl_a633f700b294b53e4f58183fd4bc6963f}\label{namespaceutl_a633f700b294b53e4f58183fd4bc6963f}} \index{utl@{utl}!operator$<$@{operator$<$}} \index{operator$<$@{operator$<$}!utl@{utl}} \subsubsection{\texorpdfstring{operator$<$()}{operator<()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\ 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]}} Definition at line 191 of file array.\+h. \mbox{\Hypertarget{namespaceutl_a64bc464138b386821977a0c4ac43fddf}\label{namespaceutl_a64bc464138b386821977a0c4ac43fddf}} \index{utl@{utl}!operator$<$@{operator$<$}} \index{operator$<$@{operator$<$}!utl@{utl}} \subsubsection{\texorpdfstring{operator$<$()}{operator<()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\ 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]}} Definition at line 211 of file id.\+h. \mbox{\Hypertarget{namespaceutl_aac9f2116bf5b1463391b2a5ec437ef1d}\label{namespaceutl_aac9f2116bf5b1463391b2a5ec437ef1d}} \index{utl@{utl}!operator$<$@{operator$<$}} \index{operator$<$@{operator$<$}!utl@{utl}} \subsubsection{\texorpdfstring{operator$<$()}{operator<()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\ 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]}} Less than. Definition at line 616 of file dev\+\_\+iterators.\+h. \mbox{\Hypertarget{namespaceutl_aacd0760a2943441abcc86ef9d825c8b0}\label{namespaceutl_aacd0760a2943441abcc86ef9d825c8b0}} \index{utl@{utl}!operator$<$@{operator$<$}} \index{operator$<$@{operator$<$}!utl@{utl}} \subsubsection{\texorpdfstring{operator$<$()}{operator<()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\ 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]}} Less than. Definition at line 901 of file dev\+\_\+iterators.\+h. \mbox{\Hypertarget{namespaceutl_a36f9fadffe88aefcc2d37249eaf951c3}\label{namespaceutl_a36f9fadffe88aefcc2d37249eaf951c3}} \index{utl@{utl}!operator$<$=@{operator$<$=}} \index{operator$<$=@{operator$<$=}!utl@{utl}} \subsubsection{\texorpdfstring{operator$<$=()}{operator<=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\ 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]}} Definition at line 201 of file array.\+h. \mbox{\Hypertarget{namespaceutl_aa2c449f74d1214cb7406b1648d2caf6f}\label{namespaceutl_aa2c449f74d1214cb7406b1648d2caf6f}} \index{utl@{utl}!operator$<$=@{operator$<$=}} \index{operator$<$=@{operator$<$=}!utl@{utl}} \subsubsection{\texorpdfstring{operator$<$=()}{operator<=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\ 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]}} Definition at line 222 of file id.\+h. \mbox{\Hypertarget{namespaceutl_a93043b2e245bb724c9c2e89577222532}\label{namespaceutl_a93043b2e245bb724c9c2e89577222532}} \index{utl@{utl}!operator$<$=@{operator$<$=}} \index{operator$<$=@{operator$<$=}!utl@{utl}} \subsubsection{\texorpdfstring{operator$<$=()}{operator<=()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\ 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]}} Definition at line 630 of file dev\+\_\+iterators.\+h. \mbox{\Hypertarget{namespaceutl_aa369d59a59c21d50b371b5db6195b043}\label{namespaceutl_aa369d59a59c21d50b371b5db6195b043}} \index{utl@{utl}!operator$<$=@{operator$<$=}} \index{operator$<$=@{operator$<$=}!utl@{utl}} \subsubsection{\texorpdfstring{operator$<$=()}{operator<=()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\ 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]}} Definition at line 915 of file dev\+\_\+iterators.\+h. \mbox{\Hypertarget{namespaceutl_a841f326020eb98fa4b8f764bf35442c0}\label{namespaceutl_a841f326020eb98fa4b8f764bf35442c0}} \index{utl@{utl}!operator==@{operator==}} \index{operator==@{operator==}!utl@{utl}} \subsubsection{\texorpdfstring{operator==()}{operator==()}\hspace{0.1cm}{\footnotesize\ttfamily [1/6]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\ 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]}} Definition at line 181 of file array.\+h. \mbox{\Hypertarget{namespaceutl_a2e319bae5449ee07261f547a94c31f87}\label{namespaceutl_a2e319bae5449ee07261f547a94c31f87}} \index{utl@{utl}!operator==@{operator==}} \index{operator==@{operator==}!utl@{utl}} \subsubsection{\texorpdfstring{operator==()}{operator==()}\hspace{0.1cm}{\footnotesize\ttfamily [2/6]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\ 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]}} Definition at line 201 of file id.\+h. \mbox{\Hypertarget{namespaceutl_a5ba78d196f9abb63a1d2fff13cabe636}\label{namespaceutl_a5ba78d196f9abb63a1d2fff13cabe636}} \index{utl@{utl}!operator==@{operator==}} \index{operator==@{operator==}!utl@{utl}} \subsubsection{\texorpdfstring{operator==()}{operator==()}\hspace{0.1cm}{\footnotesize\ttfamily [3/6]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+C1 , typename \+\_\+\+D1 , typename \+\_\+\+C2 , typename \+\_\+\+D2 $>$ \\ 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]}} Equality comparison template so that comparison between cv-\/qualified and non-\/cv-\/qualified iterators be valid. \begin{DoxyParams}{Parameters} {\em lhs} & Left hand site iterator \\ \hline {\em rhs} & Right hand site iterator \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} True in equality \end{DoxyReturn} Definition at line 229 of file dev\+\_\+iterators.\+h. \mbox{\Hypertarget{namespaceutl_a6726b451c897c4581e8781a819c025ba}\label{namespaceutl_a6726b451c897c4581e8781a819c025ba}} \index{utl@{utl}!operator==@{operator==}} \index{operator==@{operator==}!utl@{utl}} \subsubsection{\texorpdfstring{operator==()}{operator==()}\hspace{0.1cm}{\footnotesize\ttfamily [4/6]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, index\+\_\+t \+\_\+end1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, index\+\_\+t \+\_\+end2$>$ \\ 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]}} Equality comparison template so that comparison between cv-\/qualified and non-\/cv-\/qualified iterators be valid. \begin{DoxyNote}{Note} 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. \end{DoxyNote} \begin{DoxyParams}{Parameters} {\em lhs} & Left hand site iterator \\ \hline {\em rhs} & Right hand site iterator \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} True in equality \end{DoxyReturn} Definition at line 366 of file dev\+\_\+iterators.\+h. \mbox{\Hypertarget{namespaceutl_aa30fa8ed97138ea75003069144f78e97}\label{namespaceutl_aa30fa8ed97138ea75003069144f78e97}} \index{utl@{utl}!operator==@{operator==}} \index{operator==@{operator==}!utl@{utl}} \subsubsection{\texorpdfstring{operator==()}{operator==()}\hspace{0.1cm}{\footnotesize\ttfamily [5/6]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\ 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]}} Equality Definition at line 608 of file dev\+\_\+iterators.\+h. \mbox{\Hypertarget{namespaceutl_a7ad3384389159ce575279712fb92e3c6}\label{namespaceutl_a7ad3384389159ce575279712fb92e3c6}} \index{utl@{utl}!operator==@{operator==}} \index{operator==@{operator==}!utl@{utl}} \subsubsection{\texorpdfstring{operator==()}{operator==()}\hspace{0.1cm}{\footnotesize\ttfamily [6/6]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\ 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]}} Equality Definition at line 893 of file dev\+\_\+iterators.\+h. \mbox{\Hypertarget{namespaceutl_a1d5c761bf59037aeed9157e4f63bed9e}\label{namespaceutl_a1d5c761bf59037aeed9157e4f63bed9e}} \index{utl@{utl}!operator$>$@{operator$>$}} \index{operator$>$@{operator$>$}!utl@{utl}} \subsubsection{\texorpdfstring{operator$>$()}{operator>()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\ 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]}} Definition at line 196 of file array.\+h. \mbox{\Hypertarget{namespaceutl_aa88fd098a89e4477ff55319be1d44a64}\label{namespaceutl_aa88fd098a89e4477ff55319be1d44a64}} \index{utl@{utl}!operator$>$@{operator$>$}} \index{operator$>$@{operator$>$}!utl@{utl}} \subsubsection{\texorpdfstring{operator$>$()}{operator>()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\ 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]}} Definition at line 217 of file id.\+h. \mbox{\Hypertarget{namespaceutl_a254af18987f59f185ceeaac1aaf3c1e1}\label{namespaceutl_a254af18987f59f185ceeaac1aaf3c1e1}} \index{utl@{utl}!operator$>$@{operator$>$}} \index{operator$>$@{operator$>$}!utl@{utl}} \subsubsection{\texorpdfstring{operator$>$()}{operator>()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\ 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]}} Definition at line 636 of file dev\+\_\+iterators.\+h. \mbox{\Hypertarget{namespaceutl_a623dee5dafd7fe274dc205c3e20c96af}\label{namespaceutl_a623dee5dafd7fe274dc205c3e20c96af}} \index{utl@{utl}!operator$>$@{operator$>$}} \index{operator$>$@{operator$>$}!utl@{utl}} \subsubsection{\texorpdfstring{operator$>$()}{operator>()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\ 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]}} Definition at line 921 of file dev\+\_\+iterators.\+h. \mbox{\Hypertarget{namespaceutl_a942cac675f6dd1313807eccb407ebec6}\label{namespaceutl_a942cac675f6dd1313807eccb407ebec6}} \index{utl@{utl}!operator$>$=@{operator$>$=}} \index{operator$>$=@{operator$>$=}!utl@{utl}} \subsubsection{\texorpdfstring{operator$>$=()}{operator>=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\ 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]}} Definition at line 207 of file array.\+h. \mbox{\Hypertarget{namespaceutl_a3f53717133a73715f387ebac4b6f22b3}\label{namespaceutl_a3f53717133a73715f387ebac4b6f22b3}} \index{utl@{utl}!operator$>$=@{operator$>$=}} \index{operator$>$=@{operator$>$=}!utl@{utl}} \subsubsection{\texorpdfstring{operator$>$=()}{operator>=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\ 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]}} Definition at line 227 of file id.\+h. \mbox{\Hypertarget{namespaceutl_abdada8bc0cbd311c4dea3dde078f5483}\label{namespaceutl_abdada8bc0cbd311c4dea3dde078f5483}} \index{utl@{utl}!operator$>$=@{operator$>$=}} \index{operator$>$=@{operator$>$=}!utl@{utl}} \subsubsection{\texorpdfstring{operator$>$=()}{operator>=()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\ 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]}} Definition at line 642 of file dev\+\_\+iterators.\+h. \mbox{\Hypertarget{namespaceutl_a1988125a6394416aaf6ae85eaafa3ec4}\label{namespaceutl_a1988125a6394416aaf6ae85eaafa3ec4}} \index{utl@{utl}!operator$>$=@{operator$>$=}} \index{operator$>$=@{operator$>$=}!utl@{utl}} \subsubsection{\texorpdfstring{operator$>$=()}{operator>=()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Cont1 , typename \+\_\+\+It1 , index\+\_\+t \+\_\+beg1, size\+\_\+t \+\_\+size1, typename \+\_\+\+Cont2 , typename \+\_\+\+It2 , index\+\_\+t \+\_\+beg2, size\+\_\+t \+\_\+size2$>$ \\ 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]}} Definition at line 927 of file dev\+\_\+iterators.\+h. \mbox{\Hypertarget{namespaceutl_ae0f873b4883af7cc18cb23dd2810f4e6}\label{namespaceutl_ae0f873b4883af7cc18cb23dd2810f4e6}} \index{utl@{utl}!swap@{swap}} \index{swap@{swap}!utl@{utl}} \subsubsection{\texorpdfstring{swap()}{swap()}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp , size\+\_\+t \+\_\+\+Nm$>$ \\ 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]}} Definition at line 214 of file array.\+h. \subsection{Variable Documentation} \mbox{\Hypertarget{namespaceutl_a41733496c30138efd3d88f13d9382aad}\label{namespaceutl_a41733496c30138efd3d88f13d9382aad}} \index{utl@{utl}!Arithmetic@{Arithmetic}} \index{Arithmetic@{Arithmetic}!utl@{utl}} \subsubsection{\texorpdfstring{Arithmetic}{Arithmetic}} {\footnotesize\ttfamily template$<$class T $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Arithmetic} {\bfseries Initial value\+:} \begin{DoxyCode} = std::is\_arithmetic::value && Scalar && StrictTotallyOrdered \end{DoxyCode} Arithmetic Definition at line 736 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_acfbced82f83ceb87eeb77d31941c011a}\label{namespaceutl_acfbced82f83ceb87eeb77d31941c011a}} \index{utl@{utl}!Assignable@{Assignable}} \index{Assignable@{Assignable}!utl@{utl}} \subsubsection{\texorpdfstring{Assignable}{Assignable}} {\footnotesize\ttfamily template$<$class L\+HS , class R\+HS $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Assignable} {\bfseries Initial value\+:} \begin{DoxyCode} = std::is\_assignable::value \end{DoxyCode} Assignable \begin{DoxyNote}{Note} != std\+:\+: on Common\+Reference \end{DoxyNote} Definition at line 366 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a38e00606b4b45a2ac59fa4576b4498c6}\label{namespaceutl_a38e00606b4b45a2ac59fa4576b4498c6}} \index{utl@{utl}!Boolean@{Boolean}} \index{Boolean@{Boolean}!utl@{utl}} \subsubsection{\texorpdfstring{Boolean}{Boolean}} {\footnotesize\ttfamily template$<$class B $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Boolean} {\bfseries Initial value\+:} \begin{DoxyCode} = Movable> && ConvertibleTo, \textcolor{keywordtype}{bool}> && Same> \end{DoxyCode} Definition at line 551 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a79e23f98aa58c2dcd111743a096ef092}\label{namespaceutl_a79e23f98aa58c2dcd111743a096ef092}} \index{utl@{utl}!Common@{Common}} \index{Common@{Common}!utl@{utl}} \subsubsection{\texorpdfstring{Common}{Common}} {\footnotesize\ttfamily template$<$class T , class U $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Common} {\bfseries Initial value\+:} \begin{DoxyCode} = Same, std::common\_type\_t> \end{DoxyCode} Definition at line 301 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a1cc37f121888dcc030b8e676b077024f}\label{namespaceutl_a1cc37f121888dcc030b8e676b077024f}} \index{utl@{utl}!Common\+Reference@{Common\+Reference}} \index{Common\+Reference@{Common\+Reference}!utl@{utl}} \subsubsection{\texorpdfstring{Common\+Reference}{CommonReference}} {\footnotesize\ttfamily template$<$class T , class U $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Common\+Reference} {\bfseries Initial value\+:} \begin{DoxyCode} = Same, common\_reference\_t> && ConvertibleTo> && ConvertibleTo> \end{DoxyCode} Definition at line 293 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a2a3ef7a9c788ffc1291ce15d2e5869bf}\label{namespaceutl_a2a3ef7a9c788ffc1291ce15d2e5869bf}} \index{utl@{utl}!Constructible@{Constructible}} \index{Constructible@{Constructible}!utl@{utl}} \subsubsection{\texorpdfstring{Constructible}{Constructible}} {\footnotesize\ttfamily template$<$class T , class... Args$>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Constructible} {\bfseries Initial value\+:} \begin{DoxyCode} = Destructible && std::is\_constructible::value \end{DoxyCode} Constructible Definition at line 438 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a9c88a03a5b6dd66200e86f98fb1eb9eb}\label{namespaceutl_a9c88a03a5b6dd66200e86f98fb1eb9eb}} \index{utl@{utl}!Convertible\+To@{Convertible\+To}} \index{Convertible\+To@{Convertible\+To}!utl@{utl}} \subsubsection{\texorpdfstring{Convertible\+To}{ConvertibleTo}} {\footnotesize\ttfamily template$<$class From , class To $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Convertible\+To = std\+::is\+\_\+convertible$<$From, To$>$\+::value} Convertible\+To Definition at line 87 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_ac300f0e204f0ec4bd0ca38a551bb2b88}\label{namespaceutl_ac300f0e204f0ec4bd0ca38a551bb2b88}} \index{utl@{utl}!Copyable@{Copyable}} \index{Copyable@{Copyable}!utl@{utl}} \subsubsection{\texorpdfstring{Copyable}{Copyable}} {\footnotesize\ttfamily template$<$class T $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Copyable} {\bfseries Initial value\+:} \begin{DoxyCode} = CopyConstructible && Movable && Assignable<\_ref\_t, \textcolor{keyword}{const} \_ref\_t> \end{DoxyCode} Copyable Definition at line 480 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a1be866c815c4fcb2a7344650c3491c0c}\label{namespaceutl_a1be866c815c4fcb2a7344650c3491c0c}} \index{utl@{utl}!Copy\+Assignable@{Copy\+Assignable}} \index{Copy\+Assignable@{Copy\+Assignable}!utl@{utl}} \subsubsection{\texorpdfstring{Copy\+Assignable}{CopyAssignable}} {\footnotesize\ttfamily template$<$typename T $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Copy\+Assignable = std\+::is\+\_\+copy\+\_\+assignable$<$T$>$\+::value} Definition at line 359 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_afb0f121b33b44640406b724c4d582b70}\label{namespaceutl_afb0f121b33b44640406b724c4d582b70}} \index{utl@{utl}!Copy\+Constructible@{Copy\+Constructible}} \index{Copy\+Constructible@{Copy\+Constructible}!utl@{utl}} \subsubsection{\texorpdfstring{Copy\+Constructible}{CopyConstructible}} {\footnotesize\ttfamily template$<$class T $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Copy\+Constructible} {\bfseries Initial value\+:} \begin{DoxyCode} = MoveConstructible && Constructible> && ConvertibleTo<\_ref\_t, T> && Constructible> && ConvertibleTo, T> && Constructible && ConvertibleTo \end{DoxyCode} Copy\+Constructible Definition at line 459 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_aacd3a17129d764e8a80c615eb4b88dc3}\label{namespaceutl_aacd3a17129d764e8a80c615eb4b88dc3}} \index{utl@{utl}!Default\+Constructible@{Default\+Constructible}} \index{Default\+Constructible@{Default\+Constructible}!utl@{utl}} \subsubsection{\texorpdfstring{Default\+Constructible}{DefaultConstructible}} {\footnotesize\ttfamily template$<$class T $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Default\+Constructible = \mbox{\hyperlink{namespaceutl_a2a3ef7a9c788ffc1291ce15d2e5869bf}{Constructible}}$<$T$>$} Default\+Constructible Definition at line 444 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a0904cc4071a8ea97a1d646dc0a9ca85b}\label{namespaceutl_a0904cc4071a8ea97a1d646dc0a9ca85b}} \index{utl@{utl}!Derived\+From@{Derived\+From}} \index{Derived\+From@{Derived\+From}!utl@{utl}} \subsubsection{\texorpdfstring{Derived\+From}{DerivedFrom}} {\footnotesize\ttfamily template$<$class Derived , class Base $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Derived\+From} {\bfseries Initial value\+:} \begin{DoxyCode} = std::is\_base\_of::value && std::is\_convertible::value \end{DoxyCode} Derived\+From Definition at line 71 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_acf2f1df100b0cc4f127243a1a83a8469}\label{namespaceutl_acf2f1df100b0cc4f127243a1a83a8469}} \index{utl@{utl}!Destructible@{Destructible}} \index{Destructible@{Destructible}!utl@{utl}} \subsubsection{\texorpdfstring{Destructible}{Destructible}} {\footnotesize\ttfamily template$<$class T $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Destructible = std\+::is\+\_\+nothrow\+\_\+destructible$<$T$>$\+::value} Destructible Definition at line 432 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a92a38a3d1638ccad068c24d1242ef63a}\label{namespaceutl_a92a38a3d1638ccad068c24d1242ef63a}} \index{utl@{utl}!Equality\+Comparable@{Equality\+Comparable}} \index{Equality\+Comparable@{Equality\+Comparable}!utl@{utl}} \subsubsection{\texorpdfstring{Equality\+Comparable}{EqualityComparable}} {\footnotesize\ttfamily template$<$class T $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Equality\+Comparable = \mbox{\hyperlink{namespaceutl_a216f6e14ca647d85841fa13c40dc4ee3}{Weakly\+Equality\+Comparable\+With}}$<$T, T$>$} Definition at line 596 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_aa2be0b64c41b392c5264de5f5fee094e}\label{namespaceutl_aa2be0b64c41b392c5264de5f5fee094e}} \index{utl@{utl}!Equality\+Comparable\+With@{Equality\+Comparable\+With}} \index{Equality\+Comparable\+With@{Equality\+Comparable\+With}!utl@{utl}} \subsubsection{\texorpdfstring{Equality\+Comparable\+With}{EqualityComparableWith}} {\footnotesize\ttfamily template$<$class T , class U $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Equality\+Comparable\+With} {\bfseries Initial value\+:} \begin{DoxyCode} = EqualityComparable && EqualityComparable && WeaklyEqualityComparableWith \end{DoxyCode} Definition at line 599 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a07e83d4763a298c1faf2b1069b55e286}\label{namespaceutl_a07e83d4763a298c1faf2b1069b55e286}} \index{utl@{utl}!Floating\+Point@{Floating\+Point}} \index{Floating\+Point@{Floating\+Point}!utl@{utl}} \subsubsection{\texorpdfstring{Floating\+Point}{FloatingPoint}} {\footnotesize\ttfamily template$<$class T $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Floating\+Point} {\bfseries Initial value\+:} \begin{DoxyCode} = std::is\_floating\_point::value && Arithmetic \end{DoxyCode} Floating\+Point Definition at line 743 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a80a0424d220ac1f7be50086617a05dbd}\label{namespaceutl_a80a0424d220ac1f7be50086617a05dbd}} \index{utl@{utl}!Idx\+\_\+dev@{Idx\+\_\+dev}} \index{Idx\+\_\+dev@{Idx\+\_\+dev}!utl@{utl}} \subsubsection{\texorpdfstring{Idx\+\_\+dev}{Idx\_dev}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp $>$ \\ constexpr bool utl\+::\+Idx\+\_\+dev = \mbox{\hyperlink{structutl_1_1idx__dev__details_1_1is__idx__dev__}{idx\+\_\+dev\+\_\+details\+::is\+\_\+idx\+\_\+dev\+\_\+}} $<$\+\_\+\+Tp$>$\+::value} Predicate for input device checking \begin{DoxyParams}{Parameters} {\em \+\_\+\+Tp} & Type to check \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} True if \+\_\+\+Tp is a input device \end{DoxyReturn} Definition at line 523 of file idx\+\_\+dev.\+h. \mbox{\Hypertarget{namespaceutl_a1470ab9407ee21ea374b2c7a81e3511b}\label{namespaceutl_a1470ab9407ee21ea374b2c7a81e3511b}} \index{utl@{utl}!In\+\_\+dev@{In\+\_\+dev}} \index{In\+\_\+dev@{In\+\_\+dev}!utl@{utl}} \subsubsection{\texorpdfstring{In\+\_\+dev}{In\_dev}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp $>$ \\ constexpr bool utl\+::\+In\+\_\+dev = \mbox{\hyperlink{structutl_1_1in__dev__details_1_1is__in__dev__}{in\+\_\+dev\+\_\+details\+::is\+\_\+in\+\_\+dev\+\_\+}} $<$\+\_\+\+Tp$>$\+::value} Predicate for input device checking \begin{DoxyParams}{Parameters} {\em \+\_\+\+Tp} & Type to check \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} True if \+\_\+\+Tp is a input device \end{DoxyReturn} Definition at line 335 of file in\+\_\+dev.\+h. \mbox{\Hypertarget{namespaceutl_ac447a457f18a1c4dcd1dddb4c2789006}\label{namespaceutl_ac447a457f18a1c4dcd1dddb4c2789006}} \index{utl@{utl}!Inbuf\+\_\+dev@{Inbuf\+\_\+dev}} \index{Inbuf\+\_\+dev@{Inbuf\+\_\+dev}!utl@{utl}} \subsubsection{\texorpdfstring{Inbuf\+\_\+dev}{Inbuf\_dev}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp $>$ \\ constexpr bool utl\+::\+Inbuf\+\_\+dev = \mbox{\hyperlink{structutl_1_1inbuf__dev__details_1_1is__inbuf__dev__}{inbuf\+\_\+dev\+\_\+details\+::is\+\_\+inbuf\+\_\+dev\+\_\+}} $<$\+\_\+\+Tp$>$\+::value} Predicate for input device checking \begin{DoxyParams}{Parameters} {\em \+\_\+\+Tp} & Type to check \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} True if \+\_\+\+Tp is a input device \end{DoxyReturn} Definition at line 380 of file inbuf\+\_\+dev.\+h. \mbox{\Hypertarget{namespaceutl_ada9137016ddccf3339b2f6b3c409cc3c}\label{namespaceutl_ada9137016ddccf3339b2f6b3c409cc3c}} \index{utl@{utl}!Integral@{Integral}} \index{Integral@{Integral}!utl@{utl}} \subsubsection{\texorpdfstring{Integral}{Integral}} {\footnotesize\ttfamily template$<$class T $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Integral = std\+::is\+\_\+integral$<$T$>$\+::value} Integral Definition at line 340 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a9d5bbdf19b08d6d714ec696b0ec44d0a}\label{namespaceutl_a9d5bbdf19b08d6d714ec696b0ec44d0a}} \index{utl@{utl}!Invocable@{Invocable}} \index{Invocable@{Invocable}!utl@{utl}} \subsubsection{\texorpdfstring{Invocable}{Invocable}} {\footnotesize\ttfamily template$<$class F , class... Args$>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Invocable = \mbox{\hyperlink{structutl_1_1is__invocable}{is\+\_\+invocable}}$<$F, Args...$>$\+::value} Invocable Definition at line 750 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_afc25cb525eb29162042c21238f28f26e}\label{namespaceutl_afc25cb525eb29162042c21238f28f26e}} \index{utl@{utl}!Movable@{Movable}} \index{Movable@{Movable}!utl@{utl}} \subsubsection{\texorpdfstring{Movable}{Movable}} {\footnotesize\ttfamily template$<$class T $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Movable} {\bfseries Initial value\+:} \begin{DoxyCode} = std::is\_object::value && MoveConstructible && Assignable<\_ref\_t, T> && Swappable \end{DoxyCode} Movable Definition at line 469 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a7b8e4a26148ed5f2c60e4fd7d41e7e63}\label{namespaceutl_a7b8e4a26148ed5f2c60e4fd7d41e7e63}} \index{utl@{utl}!Move\+Assignable@{Move\+Assignable}} \index{Move\+Assignable@{Move\+Assignable}!utl@{utl}} \subsubsection{\texorpdfstring{Move\+Assignable}{MoveAssignable}} {\footnotesize\ttfamily template$<$typename T $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Move\+Assignable = std\+::is\+\_\+move\+\_\+assignable$<$T$>$\+::value} Definition at line 356 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a2a728f3d477d96f4f719bf62079321cf}\label{namespaceutl_a2a728f3d477d96f4f719bf62079321cf}} \index{utl@{utl}!Move\+Constructible@{Move\+Constructible}} \index{Move\+Constructible@{Move\+Constructible}!utl@{utl}} \subsubsection{\texorpdfstring{Move\+Constructible}{MoveConstructible}} {\footnotesize\ttfamily template$<$class T $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Move\+Constructible} {\bfseries Initial value\+:} \begin{DoxyCode} = Constructible && ConvertibleTo \end{DoxyCode} Move\+Constructible \begin{DoxyNote}{Note} Another approach would be std\+::is\+\_\+move\+\_\+constructible$<$\+T$>$\+::value; \end{DoxyNote} Definition at line 452 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a77f27f594c8696fcfbc85a9ec66c11f1}\label{namespaceutl_a77f27f594c8696fcfbc85a9ec66c11f1}} \index{utl@{utl}!Out\+\_\+dev@{Out\+\_\+dev}} \index{Out\+\_\+dev@{Out\+\_\+dev}!utl@{utl}} \subsubsection{\texorpdfstring{Out\+\_\+dev}{Out\_dev}} {\footnotesize\ttfamily template$<$typename \+\_\+\+Tp $>$ \\ constexpr bool utl\+::\+Out\+\_\+dev = \mbox{\hyperlink{structutl_1_1out__dev__details_1_1is__out__dev__}{out\+\_\+dev\+\_\+details\+::is\+\_\+out\+\_\+dev\+\_\+}}$<$\+\_\+\+Tp$>$\+::value} Predicate for output device checking \begin{DoxyParams}{Parameters} {\em \+\_\+\+Tp} & Type to check \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} True if \+\_\+\+Tp is a output device \end{DoxyReturn} Definition at line 357 of file out\+\_\+dev.\+h. \mbox{\Hypertarget{namespaceutl_aae56a019cdd2006c4f07d2e207289195}\label{namespaceutl_aae56a019cdd2006c4f07d2e207289195}} \index{utl@{utl}!Predicate@{Predicate}} \index{Predicate@{Predicate}!utl@{utl}} \subsubsection{\texorpdfstring{Predicate}{Predicate}} {\footnotesize\ttfamily template$<$class F , class... Args$>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Predicate} {\bfseries Initial value\+:} \begin{DoxyCode} = \mbox{\hyperlink{namespaceutl_ace9ef6da96e8cf5dc72762cd66240186}{RegularInvocable}} && \mbox{\hyperlink{namespaceutl_a38e00606b4b45a2ac59fa4576b4498c6}{Boolean}}<\mbox{\hyperlink{namespaceutl_ae40494acc30f2894c74544f3e9142933}{invoke\_result\_t}}> \end{DoxyCode} Definition at line 759 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a3accaa436a17248b4214baebc582b2f6}\label{namespaceutl_a3accaa436a17248b4214baebc582b2f6}} \index{utl@{utl}!Regular@{Regular}} \index{Regular@{Regular}!utl@{utl}} \subsubsection{\texorpdfstring{Regular}{Regular}} {\footnotesize\ttfamily template$<$class T $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Regular = \mbox{\hyperlink{namespaceutl_af6b010e85897cb590e66a52157be1af5}{Semiregular}}$<$T$>$ \&\& \mbox{\hyperlink{namespaceutl_a92a38a3d1638ccad068c24d1242ef63a}{Equality\+Comparable}}$<$T$>$} Regular Definition at line 723 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_ace9ef6da96e8cf5dc72762cd66240186}\label{namespaceutl_ace9ef6da96e8cf5dc72762cd66240186}} \index{utl@{utl}!Regular\+Invocable@{Regular\+Invocable}} \index{Regular\+Invocable@{Regular\+Invocable}!utl@{utl}} \subsubsection{\texorpdfstring{Regular\+Invocable}{RegularInvocable}} {\footnotesize\ttfamily template$<$class F , class... Args$>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Regular\+Invocable = \mbox{\hyperlink{namespaceutl_a9d5bbdf19b08d6d714ec696b0ec44d0a}{Invocable}}$<$F, Args...$>$} Definition at line 756 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a6d1e9b4853dd005ddaf61a79333cab98}\label{namespaceutl_a6d1e9b4853dd005ddaf61a79333cab98}} \index{utl@{utl}!Relation@{Relation}} \index{Relation@{Relation}!utl@{utl}} \subsubsection{\texorpdfstring{Relation}{Relation}} {\footnotesize\ttfamily template$<$class R , class T , class U $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Relation} {\bfseries Initial value\+:} \begin{DoxyCode} = Predicate && Predicate && Predicate && Predicate \end{DoxyCode} Definition at line 764 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_af86da3571c3026c6bbd501c6b7bc5093}\label{namespaceutl_af86da3571c3026c6bbd501c6b7bc5093}} \index{utl@{utl}!Same@{Same}} \index{Same@{Same}!utl@{utl}} \subsubsection{\texorpdfstring{Same}{Same}} {\footnotesize\ttfamily template$<$class T , class U $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Same = \mbox{\hyperlink{structutl_1_1meta_1_1same__}{meta\+::same\+\_\+}}$<$T, U$>$\+::value} Same Definition at line 62 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a7f86c4bf42b13d9525481d731b194308}\label{namespaceutl_a7f86c4bf42b13d9525481d731b194308}} \index{utl@{utl}!Scalar@{Scalar}} \index{Scalar@{Scalar}!utl@{utl}} \subsubsection{\texorpdfstring{Scalar}{Scalar}} {\footnotesize\ttfamily template$<$class T $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Scalar} {\bfseries Initial value\+:} \begin{DoxyCode} = std::is\_scalar::value && Regular \end{DoxyCode} Scalar Definition at line 729 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_af6b010e85897cb590e66a52157be1af5}\label{namespaceutl_af6b010e85897cb590e66a52157be1af5}} \index{utl@{utl}!Semiregular@{Semiregular}} \index{Semiregular@{Semiregular}!utl@{utl}} \subsubsection{\texorpdfstring{Semiregular}{Semiregular}} {\footnotesize\ttfamily template$<$class T $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Semiregular = \mbox{\hyperlink{namespaceutl_ac300f0e204f0ec4bd0ca38a551bb2b88}{Copyable}}$<$T$>$ \&\& \mbox{\hyperlink{namespaceutl_aacd3a17129d764e8a80c615eb4b88dc3}{Default\+Constructible}}$<$T$>$} Semiregular Definition at line 717 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a667b758d906c466d1b8a878a45750bf1}\label{namespaceutl_a667b758d906c466d1b8a878a45750bf1}} \index{utl@{utl}!Signed\+Integral@{Signed\+Integral}} \index{Signed\+Integral@{Signed\+Integral}!utl@{utl}} \subsubsection{\texorpdfstring{Signed\+Integral}{SignedIntegral}} {\footnotesize\ttfamily template$<$class T $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Signed\+Integral = \mbox{\hyperlink{namespaceutl_ada9137016ddccf3339b2f6b3c409cc3c}{Integral}}$<$T$>$ \&\& std\+::is\+\_\+signed$<$T$>$\+::value} Signed Integral Definition at line 346 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a720d6ece86f3f3320816aaae02eb16e4}\label{namespaceutl_a720d6ece86f3f3320816aaae02eb16e4}} \index{utl@{utl}!Strict\+Totally\+Ordered@{Strict\+Totally\+Ordered}} \index{Strict\+Totally\+Ordered@{Strict\+Totally\+Ordered}!utl@{utl}} \subsubsection{\texorpdfstring{Strict\+Totally\+Ordered}{StrictTotallyOrdered}} {\footnotesize\ttfamily template$<$class T $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Strict\+Totally\+Ordered} {\bfseries Initial value\+:} \begin{DoxyCode} = EqualityComparable && Same > \end{DoxyCode} Definition at line 647 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a5599d14d1bd008e4c14787d610a2b429}\label{namespaceutl_a5599d14d1bd008e4c14787d610a2b429}} \index{utl@{utl}!Strict\+Totally\+Ordered\+With@{Strict\+Totally\+Ordered\+With}} \index{Strict\+Totally\+Ordered\+With@{Strict\+Totally\+Ordered\+With}!utl@{utl}} \subsubsection{\texorpdfstring{Strict\+Totally\+Ordered\+With}{StrictTotallyOrderedWith}} {\footnotesize\ttfamily template$<$class T , class U $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Strict\+Totally\+Ordered\+With} {\bfseries Initial value\+:} \begin{DoxyCode} = StrictTotallyOrdered && StrictTotallyOrdered && EqualityComparableWith && Same > \end{DoxyCode} Definition at line 706 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_aa4b7b9105cfab3cd72865b5e0db23b11}\label{namespaceutl_aa4b7b9105cfab3cd72865b5e0db23b11}} \index{utl@{utl}!Strict\+Weak\+Order@{Strict\+Weak\+Order}} \index{Strict\+Weak\+Order@{Strict\+Weak\+Order}!utl@{utl}} \subsubsection{\texorpdfstring{Strict\+Weak\+Order}{StrictWeakOrder}} {\footnotesize\ttfamily template$<$class R , class T , class U $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Strict\+Weak\+Order = \mbox{\hyperlink{namespaceutl_a6d1e9b4853dd005ddaf61a79333cab98}{Relation}}$<$R, T, U$>$} Definition at line 769 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_ae2b149b19fb3d69a4fc555e4474bf9de}\label{namespaceutl_ae2b149b19fb3d69a4fc555e4474bf9de}} \index{utl@{utl}!Swappable@{Swappable}} \index{Swappable@{Swappable}!utl@{utl}} \subsubsection{\texorpdfstring{Swappable}{Swappable}} {\footnotesize\ttfamily template$<$class T $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Swappable = \mbox{\hyperlink{namespaceutl_ab437a6d3a1f420b44e01378ae37fcb24}{is\+\_\+swappable\+\_\+with}}$<$T, T$>$\+::type\+::value} Definition at line 425 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a4a3bb850ba59d499382bd11153104af7}\label{namespaceutl_a4a3bb850ba59d499382bd11153104af7}} \index{utl@{utl}!Swappable\+With@{Swappable\+With}} \index{Swappable\+With@{Swappable\+With}!utl@{utl}} \subsubsection{\texorpdfstring{Swappable\+With}{SwappableWith}} {\footnotesize\ttfamily template$<$class T , class U $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Swappable\+With} {\bfseries Initial value\+:} \begin{DoxyCode} = is\_swappable\_with::type::value && is\_swappable\_with::type::value && is\_swappable\_with::type::value && is\_swappable\_with::type::value \end{DoxyCode} Definition at line 413 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a7fb6eaf8fc1c5d65755c8c96a7a9b61f}\label{namespaceutl_a7fb6eaf8fc1c5d65755c8c96a7a9b61f}} \index{utl@{utl}!Unsigned\+Integral@{Unsigned\+Integral}} \index{Unsigned\+Integral@{Unsigned\+Integral}!utl@{utl}} \subsubsection{\texorpdfstring{Unsigned\+Integral}{UnsignedIntegral}} {\footnotesize\ttfamily template$<$class T $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Unsigned\+Integral = \mbox{\hyperlink{namespaceutl_ada9137016ddccf3339b2f6b3c409cc3c}{Integral}}$<$T$>$ \&\& !std\+::is\+\_\+signed$<$T$>$\+::value} Unsigned Integral Definition at line 352 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a216f6e14ca647d85841fa13c40dc4ee3}\label{namespaceutl_a216f6e14ca647d85841fa13c40dc4ee3}} \index{utl@{utl}!Weakly\+Equality\+Comparable\+With@{Weakly\+Equality\+Comparable\+With}} \index{Weakly\+Equality\+Comparable\+With@{Weakly\+Equality\+Comparable\+With}!utl@{utl}} \subsubsection{\texorpdfstring{Weakly\+Equality\+Comparable\+With}{WeaklyEqualityComparableWith}} {\footnotesize\ttfamily template$<$class T , class U $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Weakly\+Equality\+Comparable\+With} {\bfseries Initial value\+:} \begin{DoxyCode} = Same> \end{DoxyCode} Definition at line 582 of file stl.\+h. \mbox{\Hypertarget{namespaceutl_a25b4f216e3d7754b1c7088dd59504dee}\label{namespaceutl_a25b4f216e3d7754b1c7088dd59504dee}} \index{utl@{utl}!Weakly\+Incrementable@{Weakly\+Incrementable}} \index{Weakly\+Incrementable@{Weakly\+Incrementable}!utl@{utl}} \subsubsection{\texorpdfstring{Weakly\+Incrementable}{WeaklyIncrementable}} {\footnotesize\ttfamily template$<$class I $>$ \\ \mbox{\hyperlink{group__concepts_gaf81026787698cd63592563ab8223062b}{\+\_\+utl\+Concept}} utl\+::\+Weakly\+Incrementable} {\bfseries Initial value\+:} \begin{DoxyCode} = Semiregular && Same<\_ref\_t, meta::detected\_t>> && meta::is\_detected>::value \end{DoxyCode} Definition at line 49 of file iterators.\+h.