\hypertarget{classutl_1_1ostream__dev}{}\section{utl\+:\+:ostream\+\_\+dev$<$ impl\+\_\+t, data\+\_\+t $>$ Class Template Reference} \label{classutl_1_1ostream__dev}\index{utl\+::ostream\+\_\+dev$<$ impl\+\_\+t, data\+\_\+t $>$@{utl\+::ostream\+\_\+dev$<$ impl\+\_\+t, data\+\_\+t $>$}} Abstract base classes for output stream devices. {\ttfamily \#include $<$ostream\+\_\+dev.\+h$>$} \subsection*{Public Types} \begin{DoxyCompactItemize} \item using \mbox{\hyperlink{classutl_1_1ostream__dev_ac7169419677c70f4811803828b826351}{type}} = \mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+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_1ostream__dev_af333211e6a4c20b86c35a1d4fd15b9c5}{data\+\_\+type}} = data\+\_\+t \item using \mbox{\hyperlink{classutl_1_1ostream__dev_a4d60fb31555306bf52a88889db1c8739}{pointer\+\_\+type}} = data\+\_\+t $\ast$ \end{DoxyCompactItemize} \subsection*{Public Member Functions} \begin{Indent}\textbf{ Common output device interface}\par \begin{DoxyCompactItemize} \item \mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} \mbox{\hyperlink{classutl_1_1ostream__dev_a70a8d008d93a5a3f50de63dc70b7b4e4}{put}} (const data\+\_\+t \&data) \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_1ostream__dev_a29f2cad2b83c801cfdab235c880e528b}{put}} (const data\+\_\+t $\ast$data, \mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} n) \begin{DoxyCompactList}\small\item\em Put interface. This function should send a stream of data\+\_\+t objects to device. \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_1ostream__dev}{ostream\+\_\+dev\+\_\+t}} \& \mbox{\hyperlink{classutl_1_1ostream__dev_a4ab9729e2a50b797bcd939c840685b48}{operator$<$$<$}} (const \+\_\+\+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_1ostream__dev}{ostream\+\_\+dev\+\_\+t}} \& \mbox{\hyperlink{classutl_1_1ostream__dev_a17b6362ea015437b1cd3f4b9122c4e35}{operator$<$$<$}} (\+\_\+\+Src\+\_\+t $\ast$src)=delete \begin{DoxyCompactList}\small\item\em Overload to disallow pointer types as source. \end{DoxyCompactList}\item \mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+dev\+\_\+t}} \& \mbox{\hyperlink{classutl_1_1ostream__dev_a776a690023246345f1af2991f1b3b206}{operator$<$$<$}} (const data\+\_\+t \&src) \begin{DoxyCompactList}\small\item\em Overload for single data\+\_\+t object. \end{DoxyCompactList}\end{DoxyCompactItemize} \end{Indent} \textbf{ }\par \begin{DoxyCompactItemize} \item \mbox{\hyperlink{classutl_1_1ostream__dev_a38ce53a3ec7a902bdcbd9dc04350b903}{iterator}} \mbox{\hyperlink{classutl_1_1ostream__dev_a3d2f837c438b1a97ec14384ba3382090}{end}} () noexcept \item \mbox{\hyperlink{classutl_1_1ostream__dev_a04f153a089085daceda6a55854789a95}{const\+\_\+iterator}} \mbox{\hyperlink{classutl_1_1ostream__dev_af836e2bdffe1829593d889f98a35a726}{end}} () const noexcept \item \mbox{\hyperlink{classutl_1_1ostream__dev_a04f153a089085daceda6a55854789a95}{const\+\_\+iterator}} \mbox{\hyperlink{classutl_1_1ostream__dev_a90d454a509be230af0595e5a57e91f56}{cend}} () const noexcept \end{DoxyCompactItemize} \subsection*{Protected Member Functions} \begin{Indent}\textbf{ Constructor / Destructor}\par \begin{DoxyCompactItemize} \item \mbox{\hyperlink{classutl_1_1ostream__dev_ad0358c1b879818118e745da164d99998}{$\sim$ostream\+\_\+dev}} ()=default \begin{DoxyCompactList}\small\item\em Allow destructor from derived only. \end{DoxyCompactList}\item \mbox{\hyperlink{classutl_1_1ostream__dev_a6bb520cb5397ab9f7579c868311017b5}{ostream\+\_\+dev}} ()=default \begin{DoxyCompactList}\small\item\em A default constructor from derived only. \end{DoxyCompactList}\item \mbox{\hyperlink{classutl_1_1ostream__dev_afdb03e10c54fa5d079f59b0bb938c82c}{ostream\+\_\+dev}} (const \mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+dev\+\_\+t}} \&)=delete \begin{DoxyCompactList}\small\item\em No copies. \end{DoxyCompactList}\item \mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+dev\+\_\+t}} \& \mbox{\hyperlink{classutl_1_1ostream__dev_a385318ff45d575ec92801f7c0e29e9c8}{operator=}} (const \mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+dev\+\_\+t}} \&)=delete \end{DoxyCompactItemize} \end{Indent} \subsection*{S\+T\+L-\/like Output iterator interface} \begin{DoxyCompactItemize} \item using \mbox{\hyperlink{classutl_1_1ostream__dev_a38ce53a3ec7a902bdcbd9dc04350b903}{iterator}} = \mbox{\hyperlink{classutl_1_1ostreamdev__it}{ostreamdev\+\_\+it}}$<$ \mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+dev\+\_\+t}}, data\+\_\+t $>$ \begin{DoxyCompactList}\small\item\em Iterator. \end{DoxyCompactList}\item using \mbox{\hyperlink{classutl_1_1ostream__dev_a04f153a089085daceda6a55854789a95}{const\+\_\+iterator}} = \mbox{\hyperlink{classutl_1_1ostreamdev__it}{ostreamdev\+\_\+it}}$<$ const \mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+dev\+\_\+t}}, data\+\_\+t $>$ \begin{DoxyCompactList}\small\item\em Const iterator. \end{DoxyCompactList}\item \mbox{\hyperlink{classutl_1_1ostream__dev_a38ce53a3ec7a902bdcbd9dc04350b903}{iterator}} \mbox{\hyperlink{classutl_1_1ostream__dev_a313cc3aada490c2d2641d6bdac559748}{begin}} () noexcept \begin{DoxyCompactList}\small\item\em .begin implementation \end{DoxyCompactList}\item \mbox{\hyperlink{classutl_1_1ostream__dev_a04f153a089085daceda6a55854789a95}{const\+\_\+iterator}} \mbox{\hyperlink{classutl_1_1ostream__dev_aa541b838442aaf7693d528dabd049790}{begin}} () const noexcept \item \mbox{\hyperlink{classutl_1_1ostream__dev_a04f153a089085daceda6a55854789a95}{const\+\_\+iterator}} \mbox{\hyperlink{classutl_1_1ostream__dev_adad6881acafe06f05545364b3bb3941c}{cbegin}} () const noexcept \end{DoxyCompactItemize} \subsection{Detailed Description} \subsubsection*{template$<$typename impl\+\_\+t, typename data\+\_\+t$>$\newline class utl\+::ostream\+\_\+dev$<$ impl\+\_\+t, data\+\_\+t $>$} Abstract base classes for output stream devices. Template base class for output stream devices using C\+R\+TP This class force a common interface for output stream devices. By using this common interface the class implements \begin{DoxyItemize} \item Stream-\/like inserting operator \item Output iterator \item Const output iterator to inherit to implementation. \end{DoxyItemize} \begin{DoxyParams}{Parameters} {\em impl\+\_\+t} & The C\+R\+TP type (the derived/implementation class typename). \\ \hline {\em data\+\_\+t} & The devices base type of data \\ \hline \end{DoxyParams} Definition at line 52 of file ostream\+\_\+dev.\+h. \subsection{Member Typedef Documentation} \mbox{\Hypertarget{classutl_1_1ostream__dev_a04f153a089085daceda6a55854789a95}\label{classutl_1_1ostream__dev_a04f153a089085daceda6a55854789a95}} \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!const\+\_\+iterator@{const\+\_\+iterator}} \index{const\+\_\+iterator@{const\+\_\+iterator}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}} \subsubsection{\texorpdfstring{const\+\_\+iterator}{const\_iterator}} {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\ using \mbox{\hyperlink{classutl_1_1ostream__dev}{utl\+::ostream\+\_\+dev}}$<$ impl\+\_\+t, data\+\_\+t $>$\+::\mbox{\hyperlink{classutl_1_1ostream__dev_a04f153a089085daceda6a55854789a95}{const\+\_\+iterator}} = \mbox{\hyperlink{classutl_1_1ostreamdev__it}{ostreamdev\+\_\+it}} $<$const \mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+dev\+\_\+t}}, data\+\_\+t$>$} Const iterator. Definition at line 151 of file ostream\+\_\+dev.\+h. \mbox{\Hypertarget{classutl_1_1ostream__dev_af333211e6a4c20b86c35a1d4fd15b9c5}\label{classutl_1_1ostream__dev_af333211e6a4c20b86c35a1d4fd15b9c5}} \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!data\+\_\+type@{data\+\_\+type}} \index{data\+\_\+type@{data\+\_\+type}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}} \subsubsection{\texorpdfstring{data\+\_\+type}{data\_type}} {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\ using \mbox{\hyperlink{classutl_1_1ostream__dev}{utl\+::ostream\+\_\+dev}}$<$ impl\+\_\+t, data\+\_\+t $>$\+::\mbox{\hyperlink{classutl_1_1ostream__dev_af333211e6a4c20b86c35a1d4fd15b9c5}{data\+\_\+type}} = data\+\_\+t} Export types as output device concept demands Definition at line 59 of file ostream\+\_\+dev.\+h. \mbox{\Hypertarget{classutl_1_1ostream__dev_a38ce53a3ec7a902bdcbd9dc04350b903}\label{classutl_1_1ostream__dev_a38ce53a3ec7a902bdcbd9dc04350b903}} \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!iterator@{iterator}} \index{iterator@{iterator}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}} \subsubsection{\texorpdfstring{iterator}{iterator}} {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\ using \mbox{\hyperlink{classutl_1_1ostream__dev}{utl\+::ostream\+\_\+dev}}$<$ impl\+\_\+t, data\+\_\+t $>$\+::\mbox{\hyperlink{classutl_1_1ostream__dev_a38ce53a3ec7a902bdcbd9dc04350b903}{iterator}} = \mbox{\hyperlink{classutl_1_1ostreamdev__it}{ostreamdev\+\_\+it}} $<$\mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+dev\+\_\+t}}, data\+\_\+t$>$} Iterator. Definition at line 150 of file ostream\+\_\+dev.\+h. \mbox{\Hypertarget{classutl_1_1ostream__dev_a4d60fb31555306bf52a88889db1c8739}\label{classutl_1_1ostream__dev_a4d60fb31555306bf52a88889db1c8739}} \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!pointer\+\_\+type@{pointer\+\_\+type}} \index{pointer\+\_\+type@{pointer\+\_\+type}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}} \subsubsection{\texorpdfstring{pointer\+\_\+type}{pointer\_type}} {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\ using \mbox{\hyperlink{classutl_1_1ostream__dev}{utl\+::ostream\+\_\+dev}}$<$ impl\+\_\+t, data\+\_\+t $>$\+::\mbox{\hyperlink{classutl_1_1ostream__dev_a4d60fb31555306bf52a88889db1c8739}{pointer\+\_\+type}} = data\+\_\+t$\ast$} Definition at line 60 of file ostream\+\_\+dev.\+h. \mbox{\Hypertarget{classutl_1_1ostream__dev_ac7169419677c70f4811803828b826351}\label{classutl_1_1ostream__dev_ac7169419677c70f4811803828b826351}} \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!type@{type}} \index{type@{type}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}} \subsubsection{\texorpdfstring{type}{type}} {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\ using \mbox{\hyperlink{classutl_1_1ostream__dev}{utl\+::ostream\+\_\+dev}}$<$ impl\+\_\+t, data\+\_\+t $>$\+::\mbox{\hyperlink{classutl_1_1ostream__dev_ac7169419677c70f4811803828b826351}{type}} = \mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+dev\+\_\+t}}} Export type as identity meta-\/function. Definition at line 62 of file ostream\+\_\+dev.\+h. \subsection{Constructor \& Destructor Documentation} \mbox{\Hypertarget{classutl_1_1ostream__dev_ad0358c1b879818118e745da164d99998}\label{classutl_1_1ostream__dev_ad0358c1b879818118e745da164d99998}} \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!````~ostream\+\_\+dev@{$\sim$ostream\+\_\+dev}} \index{````~ostream\+\_\+dev@{$\sim$ostream\+\_\+dev}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}} \subsubsection{\texorpdfstring{$\sim$ostream\+\_\+dev()}{~ostream\_dev()}} {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\ \mbox{\hyperlink{classutl_1_1ostream__dev}{utl\+::ostream\+\_\+dev}}$<$ impl\+\_\+t, data\+\_\+t $>$\+::$\sim$\mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+dev}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [default]}} Allow destructor from derived only. \mbox{\Hypertarget{classutl_1_1ostream__dev_a6bb520cb5397ab9f7579c868311017b5}\label{classutl_1_1ostream__dev_a6bb520cb5397ab9f7579c868311017b5}} \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!ostream\+\_\+dev@{ostream\+\_\+dev}} \index{ostream\+\_\+dev@{ostream\+\_\+dev}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}} \subsubsection{\texorpdfstring{ostream\+\_\+dev()}{ostream\_dev()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\ \mbox{\hyperlink{classutl_1_1ostream__dev}{utl\+::ostream\+\_\+dev}}$<$ impl\+\_\+t, data\+\_\+t $>$\+::\mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+dev}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [default]}} A default constructor from derived only. \mbox{\Hypertarget{classutl_1_1ostream__dev_afdb03e10c54fa5d079f59b0bb938c82c}\label{classutl_1_1ostream__dev_afdb03e10c54fa5d079f59b0bb938c82c}} \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!ostream\+\_\+dev@{ostream\+\_\+dev}} \index{ostream\+\_\+dev@{ostream\+\_\+dev}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}} \subsubsection{\texorpdfstring{ostream\+\_\+dev()}{ostream\_dev()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\ \mbox{\hyperlink{classutl_1_1ostream__dev}{utl\+::ostream\+\_\+dev}}$<$ impl\+\_\+t, data\+\_\+t $>$\+::\mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+dev}} (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+dev\+\_\+t}} \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [delete]}} No copies. \subsection{Member Function Documentation} \mbox{\Hypertarget{classutl_1_1ostream__dev_a313cc3aada490c2d2641d6bdac559748}\label{classutl_1_1ostream__dev_a313cc3aada490c2d2641d6bdac559748}} \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!begin@{begin}} \index{begin@{begin}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}} \subsubsection{\texorpdfstring{begin()}{begin()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\ \mbox{\hyperlink{classutl_1_1ostream__dev_a38ce53a3ec7a902bdcbd9dc04350b903}{iterator}} \mbox{\hyperlink{classutl_1_1ostream__dev}{utl\+::ostream\+\_\+dev}}$<$ impl\+\_\+t, data\+\_\+t $>$\+::begin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} .begin implementation Definition at line 154 of file ostream\+\_\+dev.\+h. \mbox{\Hypertarget{classutl_1_1ostream__dev_aa541b838442aaf7693d528dabd049790}\label{classutl_1_1ostream__dev_aa541b838442aaf7693d528dabd049790}} \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!begin@{begin}} \index{begin@{begin}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}} \subsubsection{\texorpdfstring{begin()}{begin()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\ \mbox{\hyperlink{classutl_1_1ostream__dev_a04f153a089085daceda6a55854789a95}{const\+\_\+iterator}} \mbox{\hyperlink{classutl_1_1ostream__dev}{utl\+::ostream\+\_\+dev}}$<$ impl\+\_\+t, data\+\_\+t $>$\+::begin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line 155 of file ostream\+\_\+dev.\+h. \mbox{\Hypertarget{classutl_1_1ostream__dev_adad6881acafe06f05545364b3bb3941c}\label{classutl_1_1ostream__dev_adad6881acafe06f05545364b3bb3941c}} \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!cbegin@{cbegin}} \index{cbegin@{cbegin}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}} \subsubsection{\texorpdfstring{cbegin()}{cbegin()}} {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\ \mbox{\hyperlink{classutl_1_1ostream__dev_a04f153a089085daceda6a55854789a95}{const\+\_\+iterator}} \mbox{\hyperlink{classutl_1_1ostream__dev}{utl\+::ostream\+\_\+dev}}$<$ impl\+\_\+t, data\+\_\+t $>$\+::cbegin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line 156 of file ostream\+\_\+dev.\+h. \mbox{\Hypertarget{classutl_1_1ostream__dev_a90d454a509be230af0595e5a57e91f56}\label{classutl_1_1ostream__dev_a90d454a509be230af0595e5a57e91f56}} \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!cend@{cend}} \index{cend@{cend}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}} \subsubsection{\texorpdfstring{cend()}{cend()}} {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\ \mbox{\hyperlink{classutl_1_1ostream__dev_a04f153a089085daceda6a55854789a95}{const\+\_\+iterator}} \mbox{\hyperlink{classutl_1_1ostream__dev}{utl\+::ostream\+\_\+dev}}$<$ impl\+\_\+t, data\+\_\+t $>$\+::cend (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line 161 of file ostream\+\_\+dev.\+h. \mbox{\Hypertarget{classutl_1_1ostream__dev_a3d2f837c438b1a97ec14384ba3382090}\label{classutl_1_1ostream__dev_a3d2f837c438b1a97ec14384ba3382090}} \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!end@{end}} \index{end@{end}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}} \subsubsection{\texorpdfstring{end()}{end()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\ \mbox{\hyperlink{classutl_1_1ostream__dev_a38ce53a3ec7a902bdcbd9dc04350b903}{iterator}} \mbox{\hyperlink{classutl_1_1ostream__dev}{utl\+::ostream\+\_\+dev}}$<$ impl\+\_\+t, data\+\_\+t $>$\+::end (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} .end implementation Definition at line 159 of file ostream\+\_\+dev.\+h. \mbox{\Hypertarget{classutl_1_1ostream__dev_af836e2bdffe1829593d889f98a35a726}\label{classutl_1_1ostream__dev_af836e2bdffe1829593d889f98a35a726}} \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!end@{end}} \index{end@{end}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}} \subsubsection{\texorpdfstring{end()}{end()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\ \mbox{\hyperlink{classutl_1_1ostream__dev_a04f153a089085daceda6a55854789a95}{const\+\_\+iterator}} \mbox{\hyperlink{classutl_1_1ostream__dev}{utl\+::ostream\+\_\+dev}}$<$ impl\+\_\+t, data\+\_\+t $>$\+::end (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}} Definition at line 160 of file ostream\+\_\+dev.\+h. \mbox{\Hypertarget{classutl_1_1ostream__dev_a4ab9729e2a50b797bcd939c840685b48}\label{classutl_1_1ostream__dev_a4ab9729e2a50b797bcd939c840685b48}} \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!operator$<$$<$@{operator$<$$<$}} \index{operator$<$$<$@{operator$<$$<$}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}} \subsubsection{\texorpdfstring{operator$<$$<$()}{operator<<()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}} {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\ template$<$typename \+\_\+\+Src\+\_\+t $>$ \\ \mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+dev\+\_\+t}}\& \mbox{\hyperlink{classutl_1_1ostream__dev}{utl\+::ostream\+\_\+dev}}$<$ impl\+\_\+t, data\+\_\+t $>$\+::operator$<$$<$ (\begin{DoxyParamCaption}\item[{const \+\_\+\+Src\+\_\+t \&}]{src }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Template operator$<$$<$ implementation for for all by value/ref parameters. \begin{DoxyNote}{Note} In the case \+\_\+\+Src\+\_\+t size is not an exact multiple of data\+\_\+t size the write data will be truncated and there may be data loss. \end{DoxyNote} \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 128 of file ostream\+\_\+dev.\+h. \mbox{\Hypertarget{classutl_1_1ostream__dev_a17b6362ea015437b1cd3f4b9122c4e35}\label{classutl_1_1ostream__dev_a17b6362ea015437b1cd3f4b9122c4e35}} \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!operator$<$$<$@{operator$<$$<$}} \index{operator$<$$<$@{operator$<$$<$}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}} \subsubsection{\texorpdfstring{operator$<$$<$()}{operator<<()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}} {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\ template$<$typename \+\_\+\+Src\+\_\+t $>$ \\ \mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+dev\+\_\+t}}\& \mbox{\hyperlink{classutl_1_1ostream__dev}{utl\+::ostream\+\_\+dev}}$<$ impl\+\_\+t, data\+\_\+t $>$\+::operator$<$$<$ (\begin{DoxyParamCaption}\item[{\+\_\+\+Src\+\_\+t $\ast$}]{src }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}} Overload to disallow pointer types as source. \mbox{\Hypertarget{classutl_1_1ostream__dev_a776a690023246345f1af2991f1b3b206}\label{classutl_1_1ostream__dev_a776a690023246345f1af2991f1b3b206}} \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!operator$<$$<$@{operator$<$$<$}} \index{operator$<$$<$@{operator$<$$<$}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}} \subsubsection{\texorpdfstring{operator$<$$<$()}{operator<<()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}} {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\ \mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+dev\+\_\+t}}\& \mbox{\hyperlink{classutl_1_1ostream__dev}{utl\+::ostream\+\_\+dev}}$<$ impl\+\_\+t, data\+\_\+t $>$\+::operator$<$$<$ (\begin{DoxyParamCaption}\item[{const data\+\_\+t \&}]{src }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Overload for single data\+\_\+t object. Definition at line 139 of file ostream\+\_\+dev.\+h. \mbox{\Hypertarget{classutl_1_1ostream__dev_a385318ff45d575ec92801f7c0e29e9c8}\label{classutl_1_1ostream__dev_a385318ff45d575ec92801f7c0e29e9c8}} \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!operator=@{operator=}} \index{operator=@{operator=}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}} \subsubsection{\texorpdfstring{operator=()}{operator=()}} {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\ \mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+dev\+\_\+t}}\& \mbox{\hyperlink{classutl_1_1ostream__dev}{utl\+::ostream\+\_\+dev}}$<$ impl\+\_\+t, data\+\_\+t $>$\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+dev\+\_\+t}} \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [delete]}} No copy assignments \mbox{\Hypertarget{classutl_1_1ostream__dev_a70a8d008d93a5a3f50de63dc70b7b4e4}\label{classutl_1_1ostream__dev_a70a8d008d93a5a3f50de63dc70b7b4e4}} \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!put@{put}} \index{put@{put}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}} \subsubsection{\texorpdfstring{put()}{put()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\ \mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} \mbox{\hyperlink{classutl_1_1ostream__dev}{utl\+::ostream\+\_\+dev}}$<$ impl\+\_\+t, data\+\_\+t $>$\+::put (\begin{DoxyParamCaption}\item[{const data\+\_\+t \&}]{data }\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 96 of file ostream\+\_\+dev.\+h. \mbox{\Hypertarget{classutl_1_1ostream__dev_a29f2cad2b83c801cfdab235c880e528b}\label{classutl_1_1ostream__dev_a29f2cad2b83c801cfdab235c880e528b}} \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!put@{put}} \index{put@{put}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}} \subsubsection{\texorpdfstring{put()}{put()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\ \mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} \mbox{\hyperlink{classutl_1_1ostream__dev}{utl\+::ostream\+\_\+dev}}$<$ impl\+\_\+t, data\+\_\+t $>$\+::put (\begin{DoxyParamCaption}\item[{const data\+\_\+t $\ast$}]{data, }\item[{\mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}}}]{n }\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 108 of file ostream\+\_\+dev.\+h. The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item include/utl/dev/\mbox{\hyperlink{ostream__dev_8h}{ostream\+\_\+dev.\+h}}\end{DoxyCompactItemize}