\hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{}\section{utl\+:\+:idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$ Class Template Reference}
\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}


A virtual base class specialization.  




{\ttfamily \#include $<$idx\+\_\+dev.\+h$>$}

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
using \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_aa35bd23b888a66ebceffd7ea37f7a230}{type}} = \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}}
\begin{DoxyCompactList}\small\item\em Export type as identity meta-\/function. \end{DoxyCompactList}\end{DoxyCompactItemize}
\textbf{ }\par
\begin{DoxyCompactItemize}
\item 
using \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_aa26f4d0326232c436f3a312edf89b7e1}{data\+\_\+type}} = data\+\_\+t
\begin{DoxyCompactList}\small\item\em Export types as index device concept demands. \end{DoxyCompactList}\item 
using \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a21fdf221d18bb3a118950d51af0b2df6}{pointer\+\_\+type}} = data\+\_\+t $\ast$
\item 
using \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a838a5bd9c2abb86ccde6249dc549e11b}{idx\+\_\+type}} = idx\+\_\+t
\end{DoxyCompactItemize}

\subsection*{Public Member Functions}
\begin{Indent}\textbf{ Public index device interface}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a6d5acffcb7f0ae7d34b47021b55aff6c}{get}} (data\+\_\+t \&data, idx\+\_\+t \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a2524b96ad86605bdadf47f54265154a7}{cursor}})
\begin{DoxyCompactList}\small\item\em Get interface. This function should read a single data\+\_\+t object from device in blocking mode. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a58ce6002f3a5daabcc443aebee42e10b}{get}} (data\+\_\+t $\ast$data, \mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} n, idx\+\_\+t \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a2524b96ad86605bdadf47f54265154a7}{cursor}})
\begin{DoxyCompactList}\small\item\em Old stile get functionality using free standing data\+\_\+t$\ast$. This function should return a stream of data from device. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a183e46d89452a51a029387f621fb4e9f}{put}} (const data\+\_\+t \&data, idx\+\_\+t \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a2524b96ad86605bdadf47f54265154a7}{cursor}})
\begin{DoxyCompactList}\small\item\em Put interface. This function should send a single data\+\_\+t object to device. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a58ee979bbc14205548db85cbfbed7aba}{put}} (const data\+\_\+t $\ast$data, \mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} n, idx\+\_\+t \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a2524b96ad86605bdadf47f54265154a7}{cursor}})
\begin{DoxyCompactList}\small\item\em Put interface. This function should send a stream of data\+\_\+t objects to device. \end{DoxyCompactList}\item 
idx\+\_\+t \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a2524b96ad86605bdadf47f54265154a7}{cursor}} () const
\begin{DoxyCompactList}\small\item\em Return the current cursor position. \end{DoxyCompactList}\item 
idx\+\_\+t \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a4a0f9f2e977055dab73e2ecd0e49d97e}{cursor}} (idx\+\_\+t idx)
\begin{DoxyCompactList}\small\item\em Set the cursor position. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Stream operator$>$$>$ interface}\par
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename \+\_\+\+Dst\+\_\+t $>$ }\\\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}} \& \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a6e758bd01a5d893a8b13476ed55213cc}{operator$>$$>$}} (\+\_\+\+Dst\+\_\+t \&dst)
\begin{DoxyCompactList}\small\item\em Template operator$>$$>$ implementation for for all by value/ref parameters. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename \+\_\+\+Dst\+\_\+t $>$ }\\\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}} \& \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_abd071d6feed8ce4d07d1eb2d60995c6d}{operator$>$$>$}} (\+\_\+\+Dst\+\_\+t $\ast$dst)=delete
\begin{DoxyCompactList}\small\item\em specialization to disallow pointer types as destination \end{DoxyCompactList}\item 
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}} \& \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a379c115c72386cd4407443d9f3c6ac53}{operator$>$$>$}} (data\+\_\+t \&dst)
\begin{DoxyCompactList}\small\item\em Overload for single data\+\_\+t object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Stream operator$<$$<$ interface}\par
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename \+\_\+\+Src\+\_\+t $>$ }\\\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}} \& \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_accbb8a8c64fc4cac385081c9b6b7356b}{operator$<$$<$}} (\+\_\+\+Src\+\_\+t \&src)
\begin{DoxyCompactList}\small\item\em Template operator$<$$<$ implementation for for all by value/ref parameters. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename \+\_\+\+Src\+\_\+t $>$ }\\\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}} \& \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a0443e0880c43aedb5735c52a5c9eb144}{operator$<$$<$}} (\+\_\+\+Src\+\_\+t $\ast$src)=delete
\begin{DoxyCompactList}\small\item\em specialization to disallow pointer types as source \end{DoxyCompactList}\item 
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}} \& \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a52d8bf37aa7e4549db3ac11677cf9ec1}{operator$<$$<$}} (const data\+\_\+t \&src)
\begin{DoxyCompactList}\small\item\em Overload for single data\+\_\+t object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Helper operators}\par
\begin{DoxyCompactItemize}
\item 
data\+\_\+t \& \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_aa636cd6c14608d8f5a0d16d409be3aaa}{operator\mbox{[}$\,$\mbox{]}}} (const idx\+\_\+t idx)
\end{DoxyCompactItemize}
\end{Indent}
\textbf{ }\par
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a0965be515cca243b76f571aa425cfd96}{iterator}} \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_ad9166f4899994039eb64b6f63bcee621}{end}} () noexcept
\item 
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a66a2229a8f511c9eb147072211bbda92}{const\+\_\+iterator}} \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a4da6ff073a9f8452ebbd5371e017e4b9}{end}} () const noexcept
\item 
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a66a2229a8f511c9eb147072211bbda92}{const\+\_\+iterator}} \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a413c6a4e5bc1c13ac0d78f5c3c228408}{cend}} () const noexcept
\end{DoxyCompactItemize}

\subsection*{Constructor / Destructor}
\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a67f3694debf7a8e563ac7d56c1771dfc}{$\sim$idx\+\_\+dev}} ()=default
\begin{DoxyCompactList}\small\item\em Virtual destructor. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a32699d8dd6ed81986262ba74dccd3957}{idx\+\_\+dev}} ()=default
\begin{DoxyCompactList}\small\item\em A default constructor from derived only. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_ac00ac9cb399b3e08997c45f3204a3151}{idx\+\_\+dev}} (const \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}} \&)=delete
\begin{DoxyCompactList}\small\item\em No copies. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}} \& \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_ae31763ec2ad32c26b43f010f850fe3eb}{operator=}} (const \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}} \&)=delete
\end{DoxyCompactItemize}
\subsection*{S\+T\+L-\/like Input iterator interface}
\begin{DoxyCompactItemize}
\item 
using \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a0965be515cca243b76f571aa425cfd96}{iterator}} = idxdev\+\_\+it$<$ \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}}, data\+\_\+t $\ast$, N $>$
\begin{DoxyCompactList}\small\item\em Iterator. \end{DoxyCompactList}\item 
using \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a66a2229a8f511c9eb147072211bbda92}{const\+\_\+iterator}} = idxdev\+\_\+it$<$ \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}}, const data\+\_\+t $\ast$, N $>$
\begin{DoxyCompactList}\small\item\em Const iterator. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a0965be515cca243b76f571aa425cfd96}{iterator}} \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a3923ae24a74fef19919f818636e063e4}{begin}} () noexcept
\begin{DoxyCompactList}\small\item\em .begin implementation \end{DoxyCompactList}\item 
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a66a2229a8f511c9eb147072211bbda92}{const\+\_\+iterator}} \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a07967f7a2c5d324361b7ffc829f31600}{begin}} () const noexcept
\item 
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a66a2229a8f511c9eb147072211bbda92}{const\+\_\+iterator}} \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a99e214886247aaff0567799ba7b5c6a9}{cbegin}} () const noexcept
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename data\+\_\+t, typename idx\+\_\+t, size\+\_\+t N$>$\newline
class utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}

A virtual base class specialization. 


\begin{DoxyParams}{Parameters}
{\em impl\+\_\+t} & = \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}} \\
\hline
{\em data\+\_\+t} & The devices base type of data \\
\hline
{\em idx\+\_\+t} & The type to use for indexing \\
\hline
{\em streamsize} & The number of elements to indicate eos. \\
\hline
\end{DoxyParams}


Definition at line 256 of file idx\+\_\+dev.\+h.



\subsection{Member Typedef Documentation}
\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a66a2229a8f511c9eb147072211bbda92}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a66a2229a8f511c9eb147072211bbda92}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!const\+\_\+iterator@{const\+\_\+iterator}}
\index{const\+\_\+iterator@{const\+\_\+iterator}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{const\+\_\+iterator}{const\_iterator}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
using \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a66a2229a8f511c9eb147072211bbda92}{const\+\_\+iterator}} =  idxdev\+\_\+it $<$\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}}, const data\+\_\+t$\ast$, N$>$}



Const iterator. 



Definition at line 430 of file idx\+\_\+dev.\+h.

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_aa26f4d0326232c436f3a312edf89b7e1}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_aa26f4d0326232c436f3a312edf89b7e1}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!data\+\_\+type@{data\+\_\+type}}
\index{data\+\_\+type@{data\+\_\+type}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{data\+\_\+type}{data\_type}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
using \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_aa26f4d0326232c436f3a312edf89b7e1}{data\+\_\+type}} =  data\+\_\+t}



Export types as index device concept demands. 



Definition at line 261 of file idx\+\_\+dev.\+h.

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a838a5bd9c2abb86ccde6249dc549e11b}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a838a5bd9c2abb86ccde6249dc549e11b}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!idx\+\_\+type@{idx\+\_\+type}}
\index{idx\+\_\+type@{idx\+\_\+type}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{idx\+\_\+type}{idx\_type}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
using \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a838a5bd9c2abb86ccde6249dc549e11b}{idx\+\_\+type}} =  idx\+\_\+t}



Definition at line 263 of file idx\+\_\+dev.\+h.

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a0965be515cca243b76f571aa425cfd96}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a0965be515cca243b76f571aa425cfd96}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!iterator@{iterator}}
\index{iterator@{iterator}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{iterator}{iterator}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
using \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a0965be515cca243b76f571aa425cfd96}{iterator}} =  idxdev\+\_\+it $<$\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}}, data\+\_\+t$\ast$, N$>$}



Iterator. 



Definition at line 429 of file idx\+\_\+dev.\+h.

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a21fdf221d18bb3a118950d51af0b2df6}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a21fdf221d18bb3a118950d51af0b2df6}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!pointer\+\_\+type@{pointer\+\_\+type}}
\index{pointer\+\_\+type@{pointer\+\_\+type}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{pointer\+\_\+type}{pointer\_type}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
using \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a21fdf221d18bb3a118950d51af0b2df6}{pointer\+\_\+type}} =  data\+\_\+t$\ast$}



Definition at line 262 of file idx\+\_\+dev.\+h.

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_aa35bd23b888a66ebceffd7ea37f7a230}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_aa35bd23b888a66ebceffd7ea37f7a230}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!type@{type}}
\index{type@{type}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{type}{type}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
using \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_aa35bd23b888a66ebceffd7ea37f7a230}{type}} =  \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}}}



Export type as identity meta-\/function. 



Definition at line 265 of file idx\+\_\+dev.\+h.



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a67f3694debf7a8e563ac7d56c1771dfc}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a67f3694debf7a8e563ac7d56c1771dfc}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!````~idx\+\_\+dev@{$\sim$idx\+\_\+dev}}
\index{````~idx\+\_\+dev@{$\sim$idx\+\_\+dev}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{$\sim$idx\+\_\+dev()}{~idx\_dev()}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
virtual \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::$\sim$\mbox{\hyperlink{classutl_1_1idx__dev}{idx\+\_\+dev}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [default]}}



Virtual destructor. 

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a32699d8dd6ed81986262ba74dccd3957}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a32699d8dd6ed81986262ba74dccd3957}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!idx\+\_\+dev@{idx\+\_\+dev}}
\index{idx\+\_\+dev@{idx\+\_\+dev}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{idx\+\_\+dev()}{idx\_dev()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
\mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::\mbox{\hyperlink{classutl_1_1idx__dev}{idx\+\_\+dev}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [default]}}



A default constructor from derived only. 

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_ac00ac9cb399b3e08997c45f3204a3151}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_ac00ac9cb399b3e08997c45f3204a3151}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!idx\+\_\+dev@{idx\+\_\+dev}}
\index{idx\+\_\+dev@{idx\+\_\+dev}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{idx\+\_\+dev()}{idx\_dev()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
\mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::\mbox{\hyperlink{classutl_1_1idx__dev}{idx\+\_\+dev}} (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}} \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [delete]}}



No copies. 



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a3923ae24a74fef19919f818636e063e4}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a3923ae24a74fef19919f818636e063e4}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!begin@{begin}}
\index{begin@{begin}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{begin()}{begin()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a0965be515cca243b76f571aa425cfd96}{iterator}} \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::begin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



.begin implementation 



Definition at line 433 of file idx\+\_\+dev.\+h.

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a07967f7a2c5d324361b7ffc829f31600}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a07967f7a2c5d324361b7ffc829f31600}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!begin@{begin}}
\index{begin@{begin}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{begin()}{begin()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a66a2229a8f511c9eb147072211bbda92}{const\+\_\+iterator}} \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::begin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line 434 of file idx\+\_\+dev.\+h.

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a99e214886247aaff0567799ba7b5c6a9}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a99e214886247aaff0567799ba7b5c6a9}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!cbegin@{cbegin}}
\index{cbegin@{cbegin}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{cbegin()}{cbegin()}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a66a2229a8f511c9eb147072211bbda92}{const\+\_\+iterator}} \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::cbegin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line 435 of file idx\+\_\+dev.\+h.

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a413c6a4e5bc1c13ac0d78f5c3c228408}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a413c6a4e5bc1c13ac0d78f5c3c228408}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!cend@{cend}}
\index{cend@{cend}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{cend()}{cend()}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a66a2229a8f511c9eb147072211bbda92}{const\+\_\+iterator}} \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::cend (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line 440 of file idx\+\_\+dev.\+h.

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a2524b96ad86605bdadf47f54265154a7}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a2524b96ad86605bdadf47f54265154a7}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!cursor@{cursor}}
\index{cursor@{cursor}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{cursor()}{cursor()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
idx\+\_\+t \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::cursor (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Return the current cursor position. 



Definition at line 348 of file idx\+\_\+dev.\+h.

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a4a0f9f2e977055dab73e2ecd0e49d97e}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a4a0f9f2e977055dab73e2ecd0e49d97e}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!cursor@{cursor}}
\index{cursor@{cursor}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{cursor()}{cursor()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
idx\+\_\+t \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::cursor (\begin{DoxyParamCaption}\item[{idx\+\_\+t}]{idx }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Set the cursor position. 


\begin{DoxyParams}{Parameters}
{\em idx} & Cursor address to set \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The current cursor 
\end{DoxyReturn}


Definition at line 355 of file idx\+\_\+dev.\+h.

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_ad9166f4899994039eb64b6f63bcee621}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_ad9166f4899994039eb64b6f63bcee621}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!end@{end}}
\index{end@{end}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{end()}{end()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a0965be515cca243b76f571aa425cfd96}{iterator}} \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::end (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}

.end implementation 

Definition at line 438 of file idx\+\_\+dev.\+h.

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a4da6ff073a9f8452ebbd5371e017e4b9}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a4da6ff073a9f8452ebbd5371e017e4b9}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!end@{end}}
\index{end@{end}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{end()}{end()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a66a2229a8f511c9eb147072211bbda92}{const\+\_\+iterator}} \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::end (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line 439 of file idx\+\_\+dev.\+h.

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a6d5acffcb7f0ae7d34b47021b55aff6c}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a6d5acffcb7f0ae7d34b47021b55aff6c}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!get@{get}}
\index{get@{get}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{get()}{get()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
\mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::get (\begin{DoxyParamCaption}\item[{data\+\_\+t \&}]{data,  }\item[{idx\+\_\+t}]{cursor }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Get interface. This function should read a single data\+\_\+t object from device in blocking mode. 


\begin{DoxyParams}{Parameters}
{\em data} & Reference to data output from device. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Number of data read from device 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
A successful call should return 1 
\end{DoxyNote}


Definition at line 303 of file idx\+\_\+dev.\+h.

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a58ce6002f3a5daabcc443aebee42e10b}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a58ce6002f3a5daabcc443aebee42e10b}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!get@{get}}
\index{get@{get}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{get()}{get()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
\mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::get (\begin{DoxyParamCaption}\item[{data\+\_\+t $\ast$}]{data,  }\item[{\mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}}}]{n,  }\item[{idx\+\_\+t}]{cursor }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Old stile get functionality using free standing data\+\_\+t$\ast$. This function should return a stream of data from device. 


\begin{DoxyParams}{Parameters}
{\em data} & Pointer to buffer to write the data from device. \\
\hline
{\em n} & The number of data of type data\+\_\+t to read \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The read data items. 
\end{DoxyReturn}


Definition at line 315 of file idx\+\_\+dev.\+h.

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_accbb8a8c64fc4cac385081c9b6b7356b}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_accbb8a8c64fc4cac385081c9b6b7356b}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!operator$<$$<$@{operator$<$$<$}}
\index{operator$<$$<$@{operator$<$$<$}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{operator$<$$<$()}{operator<<()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
template$<$typename \+\_\+\+Src\+\_\+t $>$ \\
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}}\& \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::operator$<$$<$ (\begin{DoxyParamCaption}\item[{\+\_\+\+Src\+\_\+t \&}]{src }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Template operator$<$$<$ implementation for for all by value/ref parameters. 


\begin{DoxyParams}{Parameters}
{\em src} & Reference to source data \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Reference to this device for chaining 
\end{DoxyReturn}


Definition at line 397 of file idx\+\_\+dev.\+h.

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a0443e0880c43aedb5735c52a5c9eb144}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a0443e0880c43aedb5735c52a5c9eb144}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!operator$<$$<$@{operator$<$$<$}}
\index{operator$<$$<$@{operator$<$$<$}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{operator$<$$<$()}{operator<<()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
template$<$typename \+\_\+\+Src\+\_\+t $>$ \\
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}}\& \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::operator$<$$<$ (\begin{DoxyParamCaption}\item[{\+\_\+\+Src\+\_\+t $\ast$}]{src }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}}



specialization to disallow pointer types as source 

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a52d8bf37aa7e4549db3ac11677cf9ec1}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a52d8bf37aa7e4549db3ac11677cf9ec1}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!operator$<$$<$@{operator$<$$<$}}
\index{operator$<$$<$@{operator$<$$<$}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{operator$<$$<$()}{operator<<()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}}\& \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::operator$<$$<$ (\begin{DoxyParamCaption}\item[{const data\+\_\+t \&}]{src }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Overload for single data\+\_\+t object. 



Definition at line 408 of file idx\+\_\+dev.\+h.

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_ae31763ec2ad32c26b43f010f850fe3eb}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_ae31763ec2ad32c26b43f010f850fe3eb}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!operator=@{operator=}}
\index{operator=@{operator=}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{operator=()}{operator=()}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}}\& \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}} \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [delete]}}

No copy assignments \mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a6e758bd01a5d893a8b13476ed55213cc}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a6e758bd01a5d893a8b13476ed55213cc}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!operator$>$$>$@{operator$>$$>$}}
\index{operator$>$$>$@{operator$>$$>$}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{operator$>$$>$()}{operator>>()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
template$<$typename \+\_\+\+Dst\+\_\+t $>$ \\
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}}\& \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::operator$>$$>$ (\begin{DoxyParamCaption}\item[{\+\_\+\+Dst\+\_\+t \&}]{dst }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Template operator$>$$>$ implementation for for all by value/ref parameters. 


\begin{DoxyParams}{Parameters}
{\em dst} & Reference to destination \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Reference to this device for chaining 
\end{DoxyReturn}


Definition at line 369 of file idx\+\_\+dev.\+h.

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_abd071d6feed8ce4d07d1eb2d60995c6d}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_abd071d6feed8ce4d07d1eb2d60995c6d}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!operator$>$$>$@{operator$>$$>$}}
\index{operator$>$$>$@{operator$>$$>$}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{operator$>$$>$()}{operator>>()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
template$<$typename \+\_\+\+Dst\+\_\+t $>$ \\
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}}\& \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::operator$>$$>$ (\begin{DoxyParamCaption}\item[{\+\_\+\+Dst\+\_\+t $\ast$}]{dst }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}}



specialization to disallow pointer types as destination 

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a379c115c72386cd4407443d9f3c6ac53}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a379c115c72386cd4407443d9f3c6ac53}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!operator$>$$>$@{operator$>$$>$}}
\index{operator$>$$>$@{operator$>$$>$}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{operator$>$$>$()}{operator>>()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
\mbox{\hyperlink{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4}{idx\+\_\+dev\+\_\+t}}\& \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::operator$>$$>$ (\begin{DoxyParamCaption}\item[{data\+\_\+t \&}]{dst }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Overload for single data\+\_\+t object. 



Definition at line 380 of file idx\+\_\+dev.\+h.

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_aa636cd6c14608d8f5a0d16d409be3aaa}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_aa636cd6c14608d8f5a0d16d409be3aaa}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!operator\mbox{[}\mbox{]}@{operator[]}}
\index{operator\mbox{[}\mbox{]}@{operator[]}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{operator[]()}{operator[]()}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
data\+\_\+t\& \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::operator\mbox{[}$\,$\mbox{]} (\begin{DoxyParamCaption}\item[{const idx\+\_\+t}]{idx }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Definition at line 418 of file idx\+\_\+dev.\+h.

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a183e46d89452a51a029387f621fb4e9f}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a183e46d89452a51a029387f621fb4e9f}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!put@{put}}
\index{put@{put}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{put()}{put()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
\mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::put (\begin{DoxyParamCaption}\item[{const data\+\_\+t \&}]{data,  }\item[{idx\+\_\+t}]{cursor }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Put interface. This function should send a single data\+\_\+t object to device. 


\begin{DoxyParams}{Parameters}
{\em data} & The data to send \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number of transmitted data items 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
A successful call should return 1 
\end{DoxyNote}


Definition at line 328 of file idx\+\_\+dev.\+h.

\mbox{\Hypertarget{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a58ee979bbc14205548db85cbfbed7aba}\label{classutl_1_1idx__dev_3_01virtual__tag_00_01data__t_00_01idx__t_00_01_n_01_4_a58ee979bbc14205548db85cbfbed7aba}} 
\index{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}!put@{put}}
\index{put@{put}!utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$@{utl\+::idx\+\_\+dev$<$ virtual\+\_\+tag, data\+\_\+t, idx\+\_\+t, N $>$}}
\subsubsection{\texorpdfstring{put()}{put()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename data\+\_\+t , typename idx\+\_\+t , size\+\_\+t N$>$ \\
\mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} \mbox{\hyperlink{classutl_1_1idx__dev}{utl\+::idx\+\_\+dev}}$<$ \mbox{\hyperlink{structutl_1_1virtual__tag}{virtual\+\_\+tag}}, data\+\_\+t, idx\+\_\+t, N $>$\+::put (\begin{DoxyParamCaption}\item[{const data\+\_\+t $\ast$}]{data,  }\item[{\mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}}}]{n,  }\item[{idx\+\_\+t}]{cursor }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Put interface. This function should send a stream of data\+\_\+t objects to device. 


\begin{DoxyParams}{Parameters}
{\em data} & Pointer to buffer indenting write to device. \\
\hline
{\em n} & The number of data of type data\+\_\+t to send \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number of transmitted items. 
\end{DoxyReturn}


Definition at line 340 of file idx\+\_\+dev.\+h.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
include/utl/dev/\mbox{\hyperlink{idx__dev_8h}{idx\+\_\+dev.\+h}}\end{DoxyCompactItemize}
