\hypertarget{namespaceutl_1_1idx__dev__details}{}\section{utl\+:\+:idx\+\_\+dev\+\_\+details Namespace Reference} \label{namespaceutl_1_1idx__dev__details}\index{utl\+::idx\+\_\+dev\+\_\+details@{utl\+::idx\+\_\+dev\+\_\+details}} \subsection*{Classes} \begin{DoxyCompactItemize} \item struct \mbox{\hyperlink{structutl_1_1idx__dev__details_1_1is__idx__dev__}{is\+\_\+idx\+\_\+dev\+\_\+}} \begin{DoxyCompactList}\small\item\em Primary template to catch any non input device types. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structutl_1_1idx__dev__details_1_1is__idx__dev___3_01___tp_00_01void__t_3_01typename_01___tp_1_1ae8b6b24c31c81bdd901da6e6387d84b}{is\+\_\+idx\+\_\+dev\+\_\+$<$ \+\_\+\+Tp, void\+\_\+t$<$ typename \+\_\+\+Tp\+::data\+\_\+type, typename \+\_\+\+Tp\+::pointer\+\_\+type, typename \+\_\+\+Tp\+::iterator, typename \+\_\+\+Tp\+::const\+\_\+iterator, use\+\_\+if\+\_\+same\+\_\+t$<$ try\+\_\+get1\+\_\+t$<$ \+\_\+\+Tp $>$, size\+\_\+t $>$, use\+\_\+if\+\_\+same\+\_\+t$<$ try\+\_\+get2\+\_\+t$<$ \+\_\+\+Tp $>$, size\+\_\+t $>$, use\+\_\+if\+\_\+same\+\_\+t$<$ try\+\_\+begin\+\_\+t$<$ \+\_\+\+Tp $>$, typename \+\_\+\+Tp\+::iterator $>$, use\+\_\+if\+\_\+same\+\_\+t$<$ tryc\+\_\+begin\+\_\+t$<$ \+\_\+\+Tp $>$, typename \+\_\+\+Tp\+::const\+\_\+iterator $>$, use\+\_\+if\+\_\+same\+\_\+t$<$ try\+\_\+cbegin\+\_\+t$<$ \+\_\+\+Tp $>$, typename \+\_\+\+Tp\+::const\+\_\+iterator $>$, use\+\_\+if\+\_\+same\+\_\+t$<$ try\+\_\+end\+\_\+t$<$ \+\_\+\+Tp $>$, typename \+\_\+\+Tp\+::iterator $>$, use\+\_\+if\+\_\+same\+\_\+t$<$ tryc\+\_\+end\+\_\+t$<$ \+\_\+\+Tp $>$, typename \+\_\+\+Tp\+::const\+\_\+iterator $>$, use\+\_\+if\+\_\+same\+\_\+t$<$ try\+\_\+cend\+\_\+t$<$ \+\_\+\+Tp $>$, typename \+\_\+\+Tp\+::const\+\_\+iterator $>$ $>$ $>$}} \begin{DoxyCompactList}\small\item\em template to catch a proper input device type \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection*{Typedefs} \begin{DoxyCompactItemize} \item {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_ac3a877d2f57d7c50b77456e0571112f0}{try\+\_\+get1\+\_\+t}} = decltype(declval$<$ \+\_\+\+Tp $>$().\mbox{\hyperlink{namespaceutl_a29057d2e164fe6dd3f3095f0d69c6546}{get}}(declval$<$ typename \+\_\+\+Tp\+::data\+\_\+type \& $>$())) \item {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_a4cf6896009d70acdccfb55ba333fe7ef}{try\+\_\+get2\+\_\+t}} = decltype(declval$<$ \+\_\+\+Tp $>$().\mbox{\hyperlink{namespaceutl_a29057d2e164fe6dd3f3095f0d69c6546}{get}}(declval$<$ typename \+\_\+\+Tp\+::data\+\_\+type $\ast$ $>$(), declval$<$ \mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} $>$())) \item {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_a69a8af95a0fd62c3e022c34ddc3a956b}{try\+\_\+begin\+\_\+t}} = decltype(declval$<$ \+\_\+\+Tp $>$().begin()) \item {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_afe8e2fc19d7b37a1b379a5f8302ef421}{tryc\+\_\+begin\+\_\+t}} = decltype(declval$<$ const \+\_\+\+Tp $>$().begin()) \item {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_a655c6de0d6d8f4ac3778f2fff8e9c7de}{try\+\_\+cbegin\+\_\+t}} = decltype(declval$<$ const \+\_\+\+Tp $>$().cbegin()) \item {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_ab85fa5de8595b6e56a6718ffb7d4edfe}{try\+\_\+end\+\_\+t}} = decltype(declval$<$ \+\_\+\+Tp $>$().begin()) \item {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_aad6edb02a37f897cf4157f6345909ef1}{tryc\+\_\+end\+\_\+t}} = decltype(declval$<$ const \+\_\+\+Tp $>$().begin()) \item {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_adb8cac5f5772e513749038257a1f92df}{try\+\_\+cend\+\_\+t}} = decltype(declval$<$ const \+\_\+\+Tp $>$().cend()) \end{DoxyCompactItemize} \subsection{Detailed Description} indexed device concept \subsection{Typedef Documentation} \mbox{\Hypertarget{namespaceutl_1_1idx__dev__details_a69a8af95a0fd62c3e022c34ddc3a956b}\label{namespaceutl_1_1idx__dev__details_a69a8af95a0fd62c3e022c34ddc3a956b}} \index{utl\+::idx\+\_\+dev\+\_\+details@{utl\+::idx\+\_\+dev\+\_\+details}!try\+\_\+begin\+\_\+t@{try\+\_\+begin\+\_\+t}} \index{try\+\_\+begin\+\_\+t@{try\+\_\+begin\+\_\+t}!utl\+::idx\+\_\+dev\+\_\+details@{utl\+::idx\+\_\+dev\+\_\+details}} \subsubsection{\texorpdfstring{try\+\_\+begin\+\_\+t}{try\_begin\_t}} {\footnotesize\ttfamily template$<$class \+\_\+\+Tp $>$ \\ using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_a69a8af95a0fd62c3e022c34ddc3a956b}{utl\+::idx\+\_\+dev\+\_\+details\+::try\+\_\+begin\+\_\+t}} = typedef decltype (declval$<$\+\_\+\+Tp$>$().begin())} Definition at line 486 of file idx\+\_\+dev.\+h. \mbox{\Hypertarget{namespaceutl_1_1idx__dev__details_a655c6de0d6d8f4ac3778f2fff8e9c7de}\label{namespaceutl_1_1idx__dev__details_a655c6de0d6d8f4ac3778f2fff8e9c7de}} \index{utl\+::idx\+\_\+dev\+\_\+details@{utl\+::idx\+\_\+dev\+\_\+details}!try\+\_\+cbegin\+\_\+t@{try\+\_\+cbegin\+\_\+t}} \index{try\+\_\+cbegin\+\_\+t@{try\+\_\+cbegin\+\_\+t}!utl\+::idx\+\_\+dev\+\_\+details@{utl\+::idx\+\_\+dev\+\_\+details}} \subsubsection{\texorpdfstring{try\+\_\+cbegin\+\_\+t}{try\_cbegin\_t}} {\footnotesize\ttfamily template$<$class \+\_\+\+Tp $>$ \\ using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_a655c6de0d6d8f4ac3778f2fff8e9c7de}{utl\+::idx\+\_\+dev\+\_\+details\+::try\+\_\+cbegin\+\_\+t}} = typedef decltype (declval$<$const \+\_\+\+Tp$>$().cbegin())} Definition at line 488 of file idx\+\_\+dev.\+h. \mbox{\Hypertarget{namespaceutl_1_1idx__dev__details_adb8cac5f5772e513749038257a1f92df}\label{namespaceutl_1_1idx__dev__details_adb8cac5f5772e513749038257a1f92df}} \index{utl\+::idx\+\_\+dev\+\_\+details@{utl\+::idx\+\_\+dev\+\_\+details}!try\+\_\+cend\+\_\+t@{try\+\_\+cend\+\_\+t}} \index{try\+\_\+cend\+\_\+t@{try\+\_\+cend\+\_\+t}!utl\+::idx\+\_\+dev\+\_\+details@{utl\+::idx\+\_\+dev\+\_\+details}} \subsubsection{\texorpdfstring{try\+\_\+cend\+\_\+t}{try\_cend\_t}} {\footnotesize\ttfamily template$<$class \+\_\+\+Tp $>$ \\ using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_adb8cac5f5772e513749038257a1f92df}{utl\+::idx\+\_\+dev\+\_\+details\+::try\+\_\+cend\+\_\+t}} = typedef decltype (declval$<$const \+\_\+\+Tp$>$().cend())} Definition at line 491 of file idx\+\_\+dev.\+h. \mbox{\Hypertarget{namespaceutl_1_1idx__dev__details_ab85fa5de8595b6e56a6718ffb7d4edfe}\label{namespaceutl_1_1idx__dev__details_ab85fa5de8595b6e56a6718ffb7d4edfe}} \index{utl\+::idx\+\_\+dev\+\_\+details@{utl\+::idx\+\_\+dev\+\_\+details}!try\+\_\+end\+\_\+t@{try\+\_\+end\+\_\+t}} \index{try\+\_\+end\+\_\+t@{try\+\_\+end\+\_\+t}!utl\+::idx\+\_\+dev\+\_\+details@{utl\+::idx\+\_\+dev\+\_\+details}} \subsubsection{\texorpdfstring{try\+\_\+end\+\_\+t}{try\_end\_t}} {\footnotesize\ttfamily template$<$class \+\_\+\+Tp $>$ \\ using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_ab85fa5de8595b6e56a6718ffb7d4edfe}{utl\+::idx\+\_\+dev\+\_\+details\+::try\+\_\+end\+\_\+t}} = typedef decltype (declval$<$\+\_\+\+Tp$>$().begin())} Definition at line 489 of file idx\+\_\+dev.\+h. \mbox{\Hypertarget{namespaceutl_1_1idx__dev__details_ac3a877d2f57d7c50b77456e0571112f0}\label{namespaceutl_1_1idx__dev__details_ac3a877d2f57d7c50b77456e0571112f0}} \index{utl\+::idx\+\_\+dev\+\_\+details@{utl\+::idx\+\_\+dev\+\_\+details}!try\+\_\+get1\+\_\+t@{try\+\_\+get1\+\_\+t}} \index{try\+\_\+get1\+\_\+t@{try\+\_\+get1\+\_\+t}!utl\+::idx\+\_\+dev\+\_\+details@{utl\+::idx\+\_\+dev\+\_\+details}} \subsubsection{\texorpdfstring{try\+\_\+get1\+\_\+t}{try\_get1\_t}} {\footnotesize\ttfamily template$<$class \+\_\+\+Tp $>$ \\ using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_ac3a877d2f57d7c50b77456e0571112f0}{utl\+::idx\+\_\+dev\+\_\+details\+::try\+\_\+get1\+\_\+t}} = typedef decltype (declval$<$\+\_\+\+Tp$>$().\mbox{\hyperlink{namespaceutl_a29057d2e164fe6dd3f3095f0d69c6546}{get}} (declval$<$typename \+\_\+\+Tp\+::data\+\_\+type\&$>$()))} Definition at line 481 of file idx\+\_\+dev.\+h. \mbox{\Hypertarget{namespaceutl_1_1idx__dev__details_a4cf6896009d70acdccfb55ba333fe7ef}\label{namespaceutl_1_1idx__dev__details_a4cf6896009d70acdccfb55ba333fe7ef}} \index{utl\+::idx\+\_\+dev\+\_\+details@{utl\+::idx\+\_\+dev\+\_\+details}!try\+\_\+get2\+\_\+t@{try\+\_\+get2\+\_\+t}} \index{try\+\_\+get2\+\_\+t@{try\+\_\+get2\+\_\+t}!utl\+::idx\+\_\+dev\+\_\+details@{utl\+::idx\+\_\+dev\+\_\+details}} \subsubsection{\texorpdfstring{try\+\_\+get2\+\_\+t}{try\_get2\_t}} {\footnotesize\ttfamily template$<$class \+\_\+\+Tp $>$ \\ using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_a4cf6896009d70acdccfb55ba333fe7ef}{utl\+::idx\+\_\+dev\+\_\+details\+::try\+\_\+get2\+\_\+t}} = typedef decltype (declval$<$\+\_\+\+Tp$>$().\mbox{\hyperlink{namespaceutl_a29057d2e164fe6dd3f3095f0d69c6546}{get}} (declval$<$typename \+\_\+\+Tp\+::data\+\_\+type$\ast$$>$(), declval$<$\mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}}$>$()))} Definition at line 482 of file idx\+\_\+dev.\+h. \mbox{\Hypertarget{namespaceutl_1_1idx__dev__details_afe8e2fc19d7b37a1b379a5f8302ef421}\label{namespaceutl_1_1idx__dev__details_afe8e2fc19d7b37a1b379a5f8302ef421}} \index{utl\+::idx\+\_\+dev\+\_\+details@{utl\+::idx\+\_\+dev\+\_\+details}!tryc\+\_\+begin\+\_\+t@{tryc\+\_\+begin\+\_\+t}} \index{tryc\+\_\+begin\+\_\+t@{tryc\+\_\+begin\+\_\+t}!utl\+::idx\+\_\+dev\+\_\+details@{utl\+::idx\+\_\+dev\+\_\+details}} \subsubsection{\texorpdfstring{tryc\+\_\+begin\+\_\+t}{tryc\_begin\_t}} {\footnotesize\ttfamily template$<$class \+\_\+\+Tp $>$ \\ using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_afe8e2fc19d7b37a1b379a5f8302ef421}{utl\+::idx\+\_\+dev\+\_\+details\+::tryc\+\_\+begin\+\_\+t}} = typedef decltype (declval$<$const \+\_\+\+Tp$>$().begin())} Definition at line 487 of file idx\+\_\+dev.\+h. \mbox{\Hypertarget{namespaceutl_1_1idx__dev__details_aad6edb02a37f897cf4157f6345909ef1}\label{namespaceutl_1_1idx__dev__details_aad6edb02a37f897cf4157f6345909ef1}} \index{utl\+::idx\+\_\+dev\+\_\+details@{utl\+::idx\+\_\+dev\+\_\+details}!tryc\+\_\+end\+\_\+t@{tryc\+\_\+end\+\_\+t}} \index{tryc\+\_\+end\+\_\+t@{tryc\+\_\+end\+\_\+t}!utl\+::idx\+\_\+dev\+\_\+details@{utl\+::idx\+\_\+dev\+\_\+details}} \subsubsection{\texorpdfstring{tryc\+\_\+end\+\_\+t}{tryc\_end\_t}} {\footnotesize\ttfamily template$<$class \+\_\+\+Tp $>$ \\ using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_aad6edb02a37f897cf4157f6345909ef1}{utl\+::idx\+\_\+dev\+\_\+details\+::tryc\+\_\+end\+\_\+t}} = typedef decltype (declval$<$const \+\_\+\+Tp$>$().begin())} Definition at line 490 of file idx\+\_\+dev.\+h.