Micro template library A library for building device drivers
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 

404 lignes
25 KiB

  1. \hypertarget{classutl_1_1ostream__dev}{}\section{utl\+:\+:ostream\+\_\+dev$<$ impl\+\_\+t, data\+\_\+t $>$ Class Template Reference}
  2. \label{classutl_1_1ostream__dev}\index{utl\+::ostream\+\_\+dev$<$ impl\+\_\+t, data\+\_\+t $>$@{utl\+::ostream\+\_\+dev$<$ impl\+\_\+t, data\+\_\+t $>$}}
  3. Abstract base classes for output stream devices.
  4. {\ttfamily \#include $<$ostream\+\_\+dev.\+h$>$}
  5. \subsection*{Public Types}
  6. \begin{DoxyCompactItemize}
  7. \item
  8. using \mbox{\hyperlink{classutl_1_1ostream__dev_ac7169419677c70f4811803828b826351}{type}} = \mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+dev\+\_\+t}}
  9. \begin{DoxyCompactList}\small\item\em Export type as identity meta-\/function. \end{DoxyCompactList}\end{DoxyCompactItemize}
  10. \textbf{ }\par
  11. \begin{DoxyCompactItemize}
  12. \item
  13. using \mbox{\hyperlink{classutl_1_1ostream__dev_af333211e6a4c20b86c35a1d4fd15b9c5}{data\+\_\+type}} = data\+\_\+t
  14. \item
  15. using \mbox{\hyperlink{classutl_1_1ostream__dev_a4d60fb31555306bf52a88889db1c8739}{pointer\+\_\+type}} = data\+\_\+t $\ast$
  16. \end{DoxyCompactItemize}
  17. \subsection*{Public Member Functions}
  18. \begin{Indent}\textbf{ Common output device interface}\par
  19. \begin{DoxyCompactItemize}
  20. \item
  21. \mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} \mbox{\hyperlink{classutl_1_1ostream__dev_a70a8d008d93a5a3f50de63dc70b7b4e4}{put}} (const data\+\_\+t \&data)
  22. \begin{DoxyCompactList}\small\item\em Put interface. This function should send a single data\+\_\+t object to device. \end{DoxyCompactList}\item
  23. \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)
  24. \begin{DoxyCompactList}\small\item\em Put interface. This function should send a stream of data\+\_\+t objects to device. \end{DoxyCompactList}\end{DoxyCompactItemize}
  25. \end{Indent}
  26. \begin{Indent}\textbf{ Stream operator $<$$<$ interface}\par
  27. \begin{DoxyCompactItemize}
  28. \item
  29. {\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)
  30. \begin{DoxyCompactList}\small\item\em Template operator$<$$<$ implementation for for all by value/ref parameters. \end{DoxyCompactList}\item
  31. {\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
  32. \begin{DoxyCompactList}\small\item\em Overload to disallow pointer types as source. \end{DoxyCompactList}\item
  33. \mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+dev\+\_\+t}} \& \mbox{\hyperlink{classutl_1_1ostream__dev_a776a690023246345f1af2991f1b3b206}{operator$<$$<$}} (const data\+\_\+t \&src)
  34. \begin{DoxyCompactList}\small\item\em Overload for single data\+\_\+t object. \end{DoxyCompactList}\end{DoxyCompactItemize}
  35. \end{Indent}
  36. \textbf{ }\par
  37. \begin{DoxyCompactItemize}
  38. \item
  39. \mbox{\hyperlink{classutl_1_1ostream__dev_a38ce53a3ec7a902bdcbd9dc04350b903}{iterator}} \mbox{\hyperlink{classutl_1_1ostream__dev_a3d2f837c438b1a97ec14384ba3382090}{end}} () noexcept
  40. \item
  41. \mbox{\hyperlink{classutl_1_1ostream__dev_a04f153a089085daceda6a55854789a95}{const\+\_\+iterator}} \mbox{\hyperlink{classutl_1_1ostream__dev_af836e2bdffe1829593d889f98a35a726}{end}} () const noexcept
  42. \item
  43. \mbox{\hyperlink{classutl_1_1ostream__dev_a04f153a089085daceda6a55854789a95}{const\+\_\+iterator}} \mbox{\hyperlink{classutl_1_1ostream__dev_a90d454a509be230af0595e5a57e91f56}{cend}} () const noexcept
  44. \end{DoxyCompactItemize}
  45. \subsection*{Protected Member Functions}
  46. \begin{Indent}\textbf{ Constructor / Destructor}\par
  47. \begin{DoxyCompactItemize}
  48. \item
  49. \mbox{\hyperlink{classutl_1_1ostream__dev_ad0358c1b879818118e745da164d99998}{$\sim$ostream\+\_\+dev}} ()=default
  50. \begin{DoxyCompactList}\small\item\em Allow destructor from derived only. \end{DoxyCompactList}\item
  51. \mbox{\hyperlink{classutl_1_1ostream__dev_a6bb520cb5397ab9f7579c868311017b5}{ostream\+\_\+dev}} ()=default
  52. \begin{DoxyCompactList}\small\item\em A default constructor from derived only. \end{DoxyCompactList}\item
  53. \mbox{\hyperlink{classutl_1_1ostream__dev_afdb03e10c54fa5d079f59b0bb938c82c}{ostream\+\_\+dev}} (const \mbox{\hyperlink{classutl_1_1ostream__dev}{ostream\+\_\+dev\+\_\+t}} \&)=delete
  54. \begin{DoxyCompactList}\small\item\em No copies. \end{DoxyCompactList}\item
  55. \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
  56. \end{DoxyCompactItemize}
  57. \end{Indent}
  58. \subsection*{S\+T\+L-\/like Output iterator interface}
  59. \begin{DoxyCompactItemize}
  60. \item
  61. 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 $>$
  62. \begin{DoxyCompactList}\small\item\em Iterator. \end{DoxyCompactList}\item
  63. 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 $>$
  64. \begin{DoxyCompactList}\small\item\em Const iterator. \end{DoxyCompactList}\item
  65. \mbox{\hyperlink{classutl_1_1ostream__dev_a38ce53a3ec7a902bdcbd9dc04350b903}{iterator}} \mbox{\hyperlink{classutl_1_1ostream__dev_a313cc3aada490c2d2641d6bdac559748}{begin}} () noexcept
  66. \begin{DoxyCompactList}\small\item\em .begin implementation \end{DoxyCompactList}\item
  67. \mbox{\hyperlink{classutl_1_1ostream__dev_a04f153a089085daceda6a55854789a95}{const\+\_\+iterator}} \mbox{\hyperlink{classutl_1_1ostream__dev_aa541b838442aaf7693d528dabd049790}{begin}} () const noexcept
  68. \item
  69. \mbox{\hyperlink{classutl_1_1ostream__dev_a04f153a089085daceda6a55854789a95}{const\+\_\+iterator}} \mbox{\hyperlink{classutl_1_1ostream__dev_adad6881acafe06f05545364b3bb3941c}{cbegin}} () const noexcept
  70. \end{DoxyCompactItemize}
  71. \subsection{Detailed Description}
  72. \subsubsection*{template$<$typename impl\+\_\+t, typename data\+\_\+t$>$\newline
  73. class utl\+::ostream\+\_\+dev$<$ impl\+\_\+t, data\+\_\+t $>$}
  74. Abstract base classes for output stream devices.
  75. Template base class for output stream devices using C\+R\+TP
  76. This class force a common interface for output stream devices. By using this common interface the class implements
  77. \begin{DoxyItemize}
  78. \item Stream-\/like inserting operator
  79. \item Output iterator
  80. \item Const output iterator to inherit to implementation.
  81. \end{DoxyItemize}
  82. \begin{DoxyParams}{Parameters}
  83. {\em impl\+\_\+t} & The C\+R\+TP type (the derived/implementation class typename). \\
  84. \hline
  85. {\em data\+\_\+t} & The devices base type of data \\
  86. \hline
  87. \end{DoxyParams}
  88. Definition at line 52 of file ostream\+\_\+dev.\+h.
  89. \subsection{Member Typedef Documentation}
  90. \mbox{\Hypertarget{classutl_1_1ostream__dev_a04f153a089085daceda6a55854789a95}\label{classutl_1_1ostream__dev_a04f153a089085daceda6a55854789a95}}
  91. \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!const\+\_\+iterator@{const\+\_\+iterator}}
  92. \index{const\+\_\+iterator@{const\+\_\+iterator}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}}
  93. \subsubsection{\texorpdfstring{const\+\_\+iterator}{const\_iterator}}
  94. {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\
  95. 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$>$}
  96. Const iterator.
  97. Definition at line 151 of file ostream\+\_\+dev.\+h.
  98. \mbox{\Hypertarget{classutl_1_1ostream__dev_af333211e6a4c20b86c35a1d4fd15b9c5}\label{classutl_1_1ostream__dev_af333211e6a4c20b86c35a1d4fd15b9c5}}
  99. \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!data\+\_\+type@{data\+\_\+type}}
  100. \index{data\+\_\+type@{data\+\_\+type}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}}
  101. \subsubsection{\texorpdfstring{data\+\_\+type}{data\_type}}
  102. {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\
  103. 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}
  104. Export types as output device concept demands
  105. Definition at line 59 of file ostream\+\_\+dev.\+h.
  106. \mbox{\Hypertarget{classutl_1_1ostream__dev_a38ce53a3ec7a902bdcbd9dc04350b903}\label{classutl_1_1ostream__dev_a38ce53a3ec7a902bdcbd9dc04350b903}}
  107. \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!iterator@{iterator}}
  108. \index{iterator@{iterator}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}}
  109. \subsubsection{\texorpdfstring{iterator}{iterator}}
  110. {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\
  111. 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$>$}
  112. Iterator.
  113. Definition at line 150 of file ostream\+\_\+dev.\+h.
  114. \mbox{\Hypertarget{classutl_1_1ostream__dev_a4d60fb31555306bf52a88889db1c8739}\label{classutl_1_1ostream__dev_a4d60fb31555306bf52a88889db1c8739}}
  115. \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!pointer\+\_\+type@{pointer\+\_\+type}}
  116. \index{pointer\+\_\+type@{pointer\+\_\+type}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}}
  117. \subsubsection{\texorpdfstring{pointer\+\_\+type}{pointer\_type}}
  118. {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\
  119. 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$}
  120. Definition at line 60 of file ostream\+\_\+dev.\+h.
  121. \mbox{\Hypertarget{classutl_1_1ostream__dev_ac7169419677c70f4811803828b826351}\label{classutl_1_1ostream__dev_ac7169419677c70f4811803828b826351}}
  122. \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!type@{type}}
  123. \index{type@{type}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}}
  124. \subsubsection{\texorpdfstring{type}{type}}
  125. {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\
  126. 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}}}
  127. Export type as identity meta-\/function.
  128. Definition at line 62 of file ostream\+\_\+dev.\+h.
  129. \subsection{Constructor \& Destructor Documentation}
  130. \mbox{\Hypertarget{classutl_1_1ostream__dev_ad0358c1b879818118e745da164d99998}\label{classutl_1_1ostream__dev_ad0358c1b879818118e745da164d99998}}
  131. \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!````~ostream\+\_\+dev@{$\sim$ostream\+\_\+dev}}
  132. \index{````~ostream\+\_\+dev@{$\sim$ostream\+\_\+dev}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}}
  133. \subsubsection{\texorpdfstring{$\sim$ostream\+\_\+dev()}{~ostream\_dev()}}
  134. {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\
  135. \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]}}
  136. Allow destructor from derived only.
  137. \mbox{\Hypertarget{classutl_1_1ostream__dev_a6bb520cb5397ab9f7579c868311017b5}\label{classutl_1_1ostream__dev_a6bb520cb5397ab9f7579c868311017b5}}
  138. \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!ostream\+\_\+dev@{ostream\+\_\+dev}}
  139. \index{ostream\+\_\+dev@{ostream\+\_\+dev}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}}
  140. \subsubsection{\texorpdfstring{ostream\+\_\+dev()}{ostream\_dev()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
  141. {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\
  142. \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]}}
  143. A default constructor from derived only.
  144. \mbox{\Hypertarget{classutl_1_1ostream__dev_afdb03e10c54fa5d079f59b0bb938c82c}\label{classutl_1_1ostream__dev_afdb03e10c54fa5d079f59b0bb938c82c}}
  145. \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!ostream\+\_\+dev@{ostream\+\_\+dev}}
  146. \index{ostream\+\_\+dev@{ostream\+\_\+dev}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}}
  147. \subsubsection{\texorpdfstring{ostream\+\_\+dev()}{ostream\_dev()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
  148. {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\
  149. \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]}}
  150. No copies.
  151. \subsection{Member Function Documentation}
  152. \mbox{\Hypertarget{classutl_1_1ostream__dev_a313cc3aada490c2d2641d6bdac559748}\label{classutl_1_1ostream__dev_a313cc3aada490c2d2641d6bdac559748}}
  153. \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!begin@{begin}}
  154. \index{begin@{begin}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}}
  155. \subsubsection{\texorpdfstring{begin()}{begin()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
  156. {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\
  157. \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]}}
  158. .begin implementation
  159. Definition at line 154 of file ostream\+\_\+dev.\+h.
  160. \mbox{\Hypertarget{classutl_1_1ostream__dev_aa541b838442aaf7693d528dabd049790}\label{classutl_1_1ostream__dev_aa541b838442aaf7693d528dabd049790}}
  161. \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!begin@{begin}}
  162. \index{begin@{begin}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}}
  163. \subsubsection{\texorpdfstring{begin()}{begin()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
  164. {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\
  165. \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]}}
  166. Definition at line 155 of file ostream\+\_\+dev.\+h.
  167. \mbox{\Hypertarget{classutl_1_1ostream__dev_adad6881acafe06f05545364b3bb3941c}\label{classutl_1_1ostream__dev_adad6881acafe06f05545364b3bb3941c}}
  168. \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!cbegin@{cbegin}}
  169. \index{cbegin@{cbegin}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}}
  170. \subsubsection{\texorpdfstring{cbegin()}{cbegin()}}
  171. {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\
  172. \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]}}
  173. Definition at line 156 of file ostream\+\_\+dev.\+h.
  174. \mbox{\Hypertarget{classutl_1_1ostream__dev_a90d454a509be230af0595e5a57e91f56}\label{classutl_1_1ostream__dev_a90d454a509be230af0595e5a57e91f56}}
  175. \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!cend@{cend}}
  176. \index{cend@{cend}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}}
  177. \subsubsection{\texorpdfstring{cend()}{cend()}}
  178. {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\
  179. \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]}}
  180. Definition at line 161 of file ostream\+\_\+dev.\+h.
  181. \mbox{\Hypertarget{classutl_1_1ostream__dev_a3d2f837c438b1a97ec14384ba3382090}\label{classutl_1_1ostream__dev_a3d2f837c438b1a97ec14384ba3382090}}
  182. \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!end@{end}}
  183. \index{end@{end}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}}
  184. \subsubsection{\texorpdfstring{end()}{end()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
  185. {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\
  186. \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]}}
  187. .end implementation
  188. Definition at line 159 of file ostream\+\_\+dev.\+h.
  189. \mbox{\Hypertarget{classutl_1_1ostream__dev_af836e2bdffe1829593d889f98a35a726}\label{classutl_1_1ostream__dev_af836e2bdffe1829593d889f98a35a726}}
  190. \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!end@{end}}
  191. \index{end@{end}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}}
  192. \subsubsection{\texorpdfstring{end()}{end()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
  193. {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\
  194. \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]}}
  195. Definition at line 160 of file ostream\+\_\+dev.\+h.
  196. \mbox{\Hypertarget{classutl_1_1ostream__dev_a4ab9729e2a50b797bcd939c840685b48}\label{classutl_1_1ostream__dev_a4ab9729e2a50b797bcd939c840685b48}}
  197. \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!operator$<$$<$@{operator$<$$<$}}
  198. \index{operator$<$$<$@{operator$<$$<$}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}}
  199. \subsubsection{\texorpdfstring{operator$<$$<$()}{operator<<()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
  200. {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\
  201. template$<$typename \+\_\+\+Src\+\_\+t $>$ \\
  202. \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]}}
  203. Template operator$<$$<$ implementation for for all by value/ref parameters.
  204. \begin{DoxyNote}{Note}
  205. 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.
  206. \end{DoxyNote}
  207. \begin{DoxyParams}{Parameters}
  208. {\em src} & Reference to source data \\
  209. \hline
  210. \end{DoxyParams}
  211. \begin{DoxyReturn}{Returns}
  212. Reference to this device for chaining
  213. \end{DoxyReturn}
  214. Definition at line 128 of file ostream\+\_\+dev.\+h.
  215. \mbox{\Hypertarget{classutl_1_1ostream__dev_a17b6362ea015437b1cd3f4b9122c4e35}\label{classutl_1_1ostream__dev_a17b6362ea015437b1cd3f4b9122c4e35}}
  216. \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!operator$<$$<$@{operator$<$$<$}}
  217. \index{operator$<$$<$@{operator$<$$<$}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}}
  218. \subsubsection{\texorpdfstring{operator$<$$<$()}{operator<<()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
  219. {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\
  220. template$<$typename \+\_\+\+Src\+\_\+t $>$ \\
  221. \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]}}
  222. Overload to disallow pointer types as source.
  223. \mbox{\Hypertarget{classutl_1_1ostream__dev_a776a690023246345f1af2991f1b3b206}\label{classutl_1_1ostream__dev_a776a690023246345f1af2991f1b3b206}}
  224. \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!operator$<$$<$@{operator$<$$<$}}
  225. \index{operator$<$$<$@{operator$<$$<$}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}}
  226. \subsubsection{\texorpdfstring{operator$<$$<$()}{operator<<()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
  227. {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\
  228. \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]}}
  229. Overload for single data\+\_\+t object.
  230. Definition at line 139 of file ostream\+\_\+dev.\+h.
  231. \mbox{\Hypertarget{classutl_1_1ostream__dev_a385318ff45d575ec92801f7c0e29e9c8}\label{classutl_1_1ostream__dev_a385318ff45d575ec92801f7c0e29e9c8}}
  232. \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!operator=@{operator=}}
  233. \index{operator=@{operator=}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}}
  234. \subsubsection{\texorpdfstring{operator=()}{operator=()}}
  235. {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\
  236. \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]}}
  237. No copy assignments \mbox{\Hypertarget{classutl_1_1ostream__dev_a70a8d008d93a5a3f50de63dc70b7b4e4}\label{classutl_1_1ostream__dev_a70a8d008d93a5a3f50de63dc70b7b4e4}}
  238. \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!put@{put}}
  239. \index{put@{put}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}}
  240. \subsubsection{\texorpdfstring{put()}{put()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
  241. {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\
  242. \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]}}
  243. Put interface. This function should send a single data\+\_\+t object to device.
  244. \begin{DoxyParams}{Parameters}
  245. {\em data} & The data to send \\
  246. \hline
  247. \end{DoxyParams}
  248. \begin{DoxyReturn}{Returns}
  249. The number of transmitted data items
  250. \end{DoxyReturn}
  251. \begin{DoxyNote}{Note}
  252. A successful call should return 1
  253. \end{DoxyNote}
  254. Definition at line 96 of file ostream\+\_\+dev.\+h.
  255. \mbox{\Hypertarget{classutl_1_1ostream__dev_a29f2cad2b83c801cfdab235c880e528b}\label{classutl_1_1ostream__dev_a29f2cad2b83c801cfdab235c880e528b}}
  256. \index{utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}!put@{put}}
  257. \index{put@{put}!utl\+::ostream\+\_\+dev@{utl\+::ostream\+\_\+dev}}
  258. \subsubsection{\texorpdfstring{put()}{put()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
  259. {\footnotesize\ttfamily template$<$typename impl\+\_\+t, typename data\+\_\+t$>$ \\
  260. \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]}}
  261. Put interface. This function should send a stream of data\+\_\+t objects to device.
  262. \begin{DoxyParams}{Parameters}
  263. {\em data} & Pointer to buffer indenting write to device. \\
  264. \hline
  265. {\em n} & The number of data of type data\+\_\+t to send \\
  266. \hline
  267. \end{DoxyParams}
  268. \begin{DoxyReturn}{Returns}
  269. The number of transmitted items.
  270. \end{DoxyReturn}
  271. Definition at line 108 of file ostream\+\_\+dev.\+h.
  272. The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
  273. \item
  274. include/utl/dev/\mbox{\hyperlink{ostream__dev_8h}{ostream\+\_\+dev.\+h}}\end{DoxyCompactItemize}