\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<T>::value && Scalar<T> && StrictTotallyOrdered<T>
\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<LHS, RHS>::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<remove\_cvref\_t<B>> &&
      
      ConvertibleTo<const \_ref\_t<B>, \textcolor{keywordtype}{bool}> &&
      Same<meta::true\_, details::is\_boolean\_t<B>>
\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<T, U>, std::common\_type\_t<U, 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<T, U>, common\_reference\_t<U, T>> &&
      ConvertibleTo<T, common\_reference\_t<T, U>> &&
      ConvertibleTo<U, common\_reference\_t<T, U>>
\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<T> && std::is\_constructible<T, Args...>::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<T> &&
      Movable<T> &&
      Assignable<\_ref\_t<T>, \textcolor{keyword}{const} \_ref\_t<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<T> &&
      Constructible<T, \_ref\_t<T>> && ConvertibleTo<\_ref\_t<T>, T> &&
      Constructible<T, const \_ref\_t<T>> && ConvertibleTo<const \_ref\_t<T>, T> &&
      Constructible<T, const T> && ConvertibleTo<const T, T>
\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<Base, Derived>::value &&
      std::is\_convertible<const volatile Derived*, const volatile Base*>::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<T> &&
      EqualityComparable<U> &&







      WeaklyEqualityComparableWith<T, U>
\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<T>::value && Arithmetic<T>
\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<T>::value &&
      MoveConstructible<T> &&
      Assignable<\_ref\_t<T>, T> &&
      Swappable<T>
\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<T, T> && ConvertibleTo<T, T>
\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}}<F, Args...> &&
      \mbox{\hyperlink{namespaceutl_a38e00606b4b45a2ac59fa4576b4498c6}{Boolean}}<\mbox{\hyperlink{namespaceutl_ae40494acc30f2894c74544f3e9142933}{invoke\_result\_t}}<F, Args...>>
\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<R, T, T> && Predicate<R, U, U> &&
     Predicate<R, T, U> && Predicate<R, U, T>
\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<T>::value && Regular<T>
\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<T> &&
      Same <meta::true\_, details::is\_strict\_totally\_ordered\_t<T>>
\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<T> &&
      StrictTotallyOrdered<U> &&
      EqualityComparableWith<T, U> &&
      Same <meta::true\_, details::is\_strict\_totally\_ordered\_with\_t<T, U>>
\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<T, T>::type::value &&
      is\_swappable\_with<U, U>::type::value &&
      is\_swappable\_with<T, U>::type::value &&
      is\_swappable\_with<U, T>::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<meta::true\_, details::is\_weakly\_equality\_comparable\_with\_t<T, U>>
\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<I>
      && Same<\_ref\_t<I>, meta::detected\_t<detail::try\_ppI, \_ref\_t<I>>>
      && meta::is\_detected<detail::try\_Ipp, \_ref\_t<I>>::value
\end{DoxyCode}


Definition at line 49 of file iterators.\+h.

