|
- \hypertarget{idx__dev_8h}{}\section{include/utl/dev/idx\+\_\+dev.h File Reference}
- \label{idx__dev_8h}\index{include/utl/dev/idx\+\_\+dev.\+h@{include/utl/dev/idx\+\_\+dev.\+h}}
-
-
- Abstract base class implementations for indexed devices interface of utl.
-
-
- {\ttfamily \#include $<$utl/core/impl.\+h$>$}\newline
- {\ttfamily \#include $<$utl/core/crtp.\+h$>$}\newline
- {\ttfamily \#include $<$utl/dev/dev\+\_\+iterators.\+h$>$}\newline
- {\ttfamily \#include $<$utl/meta/meta.\+h$>$}\newline
- \subsection*{Classes}
- \begin{DoxyCompactItemize}
- \item
- class \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev$<$ impl\+\_\+t, data\+\_\+t, idx\+\_\+t, N $>$}}
- \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}{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
- \begin{DoxyCompactList}\small\item\em A virtual base class specialization. \end{DoxyCompactList}\item
- struct \mbox{\hyperlink{structutl_1_1idx__dev__details_1_1is__idx__dev__}{utl\+::idx\+\_\+dev\+\_\+details\+::is\+\_\+idx\+\_\+dev\+\_\+$<$ \+\_\+\+Tp, typename $>$}}
- \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}{utl\+::idx\+\_\+dev\+\_\+details\+::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*{Namespaces}
- \begin{DoxyCompactItemize}
- \item
- \mbox{\hyperlink{namespaceutl}{utl}}
- \begin{DoxyCompactList}\small\item\em S\+TL\textquotesingle{}s core language concepts. \end{DoxyCompactList}\item
- \mbox{\hyperlink{namespaceutl_1_1idx__dev__details}{utl\+::idx\+\_\+dev\+\_\+details}}
- \end{DoxyCompactItemize}
- \subsection*{Typedefs}
- \begin{DoxyCompactItemize}
- \item
- {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_ac3a877d2f57d7c50b77456e0571112f0}{utl\+::idx\+\_\+dev\+\_\+details\+::try\+\_\+get1\+\_\+t}} = decltype(declval$<$ \+\_\+\+Tp $>$().get(declval$<$ typename \+\_\+\+Tp\+::data\+\_\+type \& $>$()))
- \item
- {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_a4cf6896009d70acdccfb55ba333fe7ef}{utl\+::idx\+\_\+dev\+\_\+details\+::try\+\_\+get2\+\_\+t}} = decltype(declval$<$ \+\_\+\+Tp $>$().get(declval$<$ typename \+\_\+\+Tp\+::data\+\_\+type $\ast$ $>$(), declval$<$ size\+\_\+t $>$()))
- \item
- {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_a69a8af95a0fd62c3e022c34ddc3a956b}{utl\+::idx\+\_\+dev\+\_\+details\+::try\+\_\+begin\+\_\+t}} = decltype(declval$<$ \+\_\+\+Tp $>$().begin())
- \item
- {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_afe8e2fc19d7b37a1b379a5f8302ef421}{utl\+::idx\+\_\+dev\+\_\+details\+::tryc\+\_\+begin\+\_\+t}} = decltype(declval$<$ const \+\_\+\+Tp $>$().begin())
- \item
- {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_a655c6de0d6d8f4ac3778f2fff8e9c7de}{utl\+::idx\+\_\+dev\+\_\+details\+::try\+\_\+cbegin\+\_\+t}} = decltype(declval$<$ const \+\_\+\+Tp $>$().cbegin())
- \item
- {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_ab85fa5de8595b6e56a6718ffb7d4edfe}{utl\+::idx\+\_\+dev\+\_\+details\+::try\+\_\+end\+\_\+t}} = decltype(declval$<$ \+\_\+\+Tp $>$().begin())
- \item
- {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_aad6edb02a37f897cf4157f6345909ef1}{utl\+::idx\+\_\+dev\+\_\+details\+::tryc\+\_\+end\+\_\+t}} = decltype(declval$<$ const \+\_\+\+Tp $>$().begin())
- \item
- {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1idx__dev__details_adb8cac5f5772e513749038257a1f92df}{utl\+::idx\+\_\+dev\+\_\+details\+::try\+\_\+cend\+\_\+t}} = decltype(declval$<$ const \+\_\+\+Tp $>$().cend())
- \end{DoxyCompactItemize}
- \subsection*{Variables}
- \textbf{ }\par
- \begin{DoxyCompactItemize}
- \item
- {\footnotesize template$<$typename \+\_\+\+Tp $>$ }\\constexpr bool \mbox{\hyperlink{namespaceutl_a80a0424d220ac1f7be50086617a05dbd}{utl\+::\+Idx\+\_\+dev}} = idx\+\_\+dev\+\_\+details\+::is\+\_\+idx\+\_\+dev\+\_\+ $<$\+\_\+\+Tp$>$\+::value
- \end{DoxyCompactItemize}
-
-
-
- \subsection{Detailed Description}
- Abstract base class implementations for indexed devices interface of utl.
-
- Copyright (C) 2018 Christos Choutouridis
-
- This program is free software\+: you can redistribute it and/or modify it under the terms of the G\+NU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but W\+I\+T\+H\+O\+UT A\+NY W\+A\+R\+R\+A\+N\+TY; without even the implied warranty of M\+E\+R\+C\+H\+A\+N\+T\+A\+B\+I\+L\+I\+TY or F\+I\+T\+N\+E\+SS F\+OR A P\+A\+R\+T\+I\+C\+U\+L\+AR P\+U\+R\+P\+O\+SE. See the G\+NU Lesser General Public License for more details.
-
- You should have received a copy of the G\+NU Lesser General Public License along with this program. If not, see \href{http://www.gnu.org/licenses/}{\tt http\+://www.\+gnu.\+org/licenses/}.
|