Micro template library A library for building device drivers
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

123 lines
11 KiB

  1. \hypertarget{namespaceutl_1_1inbuf__dev__details}{}\section{utl\+:\+:inbuf\+\_\+dev\+\_\+details Namespace Reference}
  2. \label{namespaceutl_1_1inbuf__dev__details}\index{utl\+::inbuf\+\_\+dev\+\_\+details@{utl\+::inbuf\+\_\+dev\+\_\+details}}
  3. \subsection*{Classes}
  4. \begin{DoxyCompactItemize}
  5. \item
  6. struct \mbox{\hyperlink{structutl_1_1inbuf__dev__details_1_1is__inbuf__dev__}{is\+\_\+inbuf\+\_\+dev\+\_\+}}
  7. \begin{DoxyCompactList}\small\item\em Primary template to catch any non input device types. \end{DoxyCompactList}\item
  8. struct \mbox{\hyperlink{structutl_1_1inbuf__dev__details_1_1is__inbuf__dev___3_01___tp_00_01void__t_3_01typename_01___tpc269ee3885240cc8c352f3c6b3a67cd7}{is\+\_\+inbuf\+\_\+dev\+\_\+$<$ \+\_\+\+Tp, void\+\_\+t$<$ typename \+\_\+\+Tp\+::data\+\_\+type, typename \+\_\+\+Tp\+::pointer\+\_\+type, typename \+\_\+\+Tp\+::iterator, typename \+\_\+\+Tp\+::const\+\_\+iterator, use\+\_\+if\+\_\+same\+\_\+t$<$ try\+\_\+get1\+\_\+t$<$ \+\_\+\+Tp $>$, size\+\_\+t $>$, use\+\_\+if\+\_\+same\+\_\+t$<$ try\+\_\+get2\+\_\+t$<$ \+\_\+\+Tp $>$, size\+\_\+t $>$, use\+\_\+if\+\_\+same\+\_\+t$<$ try\+\_\+begin\+\_\+t$<$ \+\_\+\+Tp $>$, typename \+\_\+\+Tp\+::iterator $>$, use\+\_\+if\+\_\+same\+\_\+t$<$ tryc\+\_\+begin\+\_\+t$<$ \+\_\+\+Tp $>$, typename \+\_\+\+Tp\+::const\+\_\+iterator $>$, use\+\_\+if\+\_\+same\+\_\+t$<$ try\+\_\+cbegin\+\_\+t$<$ \+\_\+\+Tp $>$, typename \+\_\+\+Tp\+::const\+\_\+iterator $>$, use\+\_\+if\+\_\+same\+\_\+t$<$ try\+\_\+end\+\_\+t$<$ \+\_\+\+Tp $>$, typename \+\_\+\+Tp\+::iterator $>$, use\+\_\+if\+\_\+same\+\_\+t$<$ tryc\+\_\+end\+\_\+t$<$ \+\_\+\+Tp $>$, typename \+\_\+\+Tp\+::const\+\_\+iterator $>$, use\+\_\+if\+\_\+same\+\_\+t$<$ try\+\_\+cend\+\_\+t$<$ \+\_\+\+Tp $>$, typename \+\_\+\+Tp\+::const\+\_\+iterator $>$ $>$ $>$}}
  9. \begin{DoxyCompactList}\small\item\em template to catch a proper input device type \end{DoxyCompactList}\end{DoxyCompactItemize}
  10. \subsection*{Typedefs}
  11. \begin{DoxyCompactItemize}
  12. \item
  13. {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1inbuf__dev__details_a72a6469ab9ce0cba618dd0b554fc2dd2}{try\+\_\+get1\+\_\+t}} = decltype(declval$<$ \+\_\+\+Tp $>$().\mbox{\hyperlink{namespaceutl_a29057d2e164fe6dd3f3095f0d69c6546}{get}}(declval$<$ typename \+\_\+\+Tp\+::data\+\_\+type \& $>$()))
  14. \item
  15. {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1inbuf__dev__details_af09ed69d129c33b8a6d3f79c79b8ea35}{try\+\_\+get2\+\_\+t}} = decltype(declval$<$ \+\_\+\+Tp $>$().\mbox{\hyperlink{namespaceutl_a29057d2e164fe6dd3f3095f0d69c6546}{get}}(declval$<$ typename \+\_\+\+Tp\+::data\+\_\+type $\ast$ $>$(), declval$<$ \mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} $>$()))
  16. \item
  17. {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1inbuf__dev__details_a18d5c5e879b4714f58861ad411537d53}{try\+\_\+begin\+\_\+t}} = decltype(declval$<$ \+\_\+\+Tp $>$().begin())
  18. \item
  19. {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1inbuf__dev__details_adff91b885ea1831691d4619d360bb72b}{tryc\+\_\+begin\+\_\+t}} = decltype(declval$<$ const \+\_\+\+Tp $>$().begin())
  20. \item
  21. {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1inbuf__dev__details_a351202ead58a98a2eaad4f3987b6170c}{try\+\_\+cbegin\+\_\+t}} = decltype(declval$<$ const \+\_\+\+Tp $>$().cbegin())
  22. \item
  23. {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1inbuf__dev__details_a5d4aa9d57c443c33cf08375e0c51bdd3}{try\+\_\+end\+\_\+t}} = decltype(declval$<$ \+\_\+\+Tp $>$().begin())
  24. \item
  25. {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1inbuf__dev__details_a858c7a1a0b1d8d0bdc91ce681aa1b996}{tryc\+\_\+end\+\_\+t}} = decltype(declval$<$ const \+\_\+\+Tp $>$().begin())
  26. \item
  27. {\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1inbuf__dev__details_a24eae32ecbea1291607f16d92c2b029a}{try\+\_\+cend\+\_\+t}} = decltype(declval$<$ const \+\_\+\+Tp $>$().cend())
  28. \end{DoxyCompactItemize}
  29. \subsection{Detailed Description}
  30. Input buffer device concept
  31. \subsection{Typedef Documentation}
  32. \mbox{\Hypertarget{namespaceutl_1_1inbuf__dev__details_a18d5c5e879b4714f58861ad411537d53}\label{namespaceutl_1_1inbuf__dev__details_a18d5c5e879b4714f58861ad411537d53}}
  33. \index{utl\+::inbuf\+\_\+dev\+\_\+details@{utl\+::inbuf\+\_\+dev\+\_\+details}!try\+\_\+begin\+\_\+t@{try\+\_\+begin\+\_\+t}}
  34. \index{try\+\_\+begin\+\_\+t@{try\+\_\+begin\+\_\+t}!utl\+::inbuf\+\_\+dev\+\_\+details@{utl\+::inbuf\+\_\+dev\+\_\+details}}
  35. \subsubsection{\texorpdfstring{try\+\_\+begin\+\_\+t}{try\_begin\_t}}
  36. {\footnotesize\ttfamily template$<$class \+\_\+\+Tp $>$ \\
  37. using \mbox{\hyperlink{namespaceutl_1_1inbuf__dev__details_a18d5c5e879b4714f58861ad411537d53}{utl\+::inbuf\+\_\+dev\+\_\+details\+::try\+\_\+begin\+\_\+t}} = typedef decltype (declval$<$\+\_\+\+Tp$>$().begin())}
  38. Definition at line 343 of file inbuf\+\_\+dev.\+h.
  39. \mbox{\Hypertarget{namespaceutl_1_1inbuf__dev__details_a351202ead58a98a2eaad4f3987b6170c}\label{namespaceutl_1_1inbuf__dev__details_a351202ead58a98a2eaad4f3987b6170c}}
  40. \index{utl\+::inbuf\+\_\+dev\+\_\+details@{utl\+::inbuf\+\_\+dev\+\_\+details}!try\+\_\+cbegin\+\_\+t@{try\+\_\+cbegin\+\_\+t}}
  41. \index{try\+\_\+cbegin\+\_\+t@{try\+\_\+cbegin\+\_\+t}!utl\+::inbuf\+\_\+dev\+\_\+details@{utl\+::inbuf\+\_\+dev\+\_\+details}}
  42. \subsubsection{\texorpdfstring{try\+\_\+cbegin\+\_\+t}{try\_cbegin\_t}}
  43. {\footnotesize\ttfamily template$<$class \+\_\+\+Tp $>$ \\
  44. using \mbox{\hyperlink{namespaceutl_1_1inbuf__dev__details_a351202ead58a98a2eaad4f3987b6170c}{utl\+::inbuf\+\_\+dev\+\_\+details\+::try\+\_\+cbegin\+\_\+t}} = typedef decltype (declval$<$const \+\_\+\+Tp$>$().cbegin())}
  45. Definition at line 345 of file inbuf\+\_\+dev.\+h.
  46. \mbox{\Hypertarget{namespaceutl_1_1inbuf__dev__details_a24eae32ecbea1291607f16d92c2b029a}\label{namespaceutl_1_1inbuf__dev__details_a24eae32ecbea1291607f16d92c2b029a}}
  47. \index{utl\+::inbuf\+\_\+dev\+\_\+details@{utl\+::inbuf\+\_\+dev\+\_\+details}!try\+\_\+cend\+\_\+t@{try\+\_\+cend\+\_\+t}}
  48. \index{try\+\_\+cend\+\_\+t@{try\+\_\+cend\+\_\+t}!utl\+::inbuf\+\_\+dev\+\_\+details@{utl\+::inbuf\+\_\+dev\+\_\+details}}
  49. \subsubsection{\texorpdfstring{try\+\_\+cend\+\_\+t}{try\_cend\_t}}
  50. {\footnotesize\ttfamily template$<$class \+\_\+\+Tp $>$ \\
  51. using \mbox{\hyperlink{namespaceutl_1_1inbuf__dev__details_a24eae32ecbea1291607f16d92c2b029a}{utl\+::inbuf\+\_\+dev\+\_\+details\+::try\+\_\+cend\+\_\+t}} = typedef decltype (declval$<$const \+\_\+\+Tp$>$().cend())}
  52. Definition at line 348 of file inbuf\+\_\+dev.\+h.
  53. \mbox{\Hypertarget{namespaceutl_1_1inbuf__dev__details_a5d4aa9d57c443c33cf08375e0c51bdd3}\label{namespaceutl_1_1inbuf__dev__details_a5d4aa9d57c443c33cf08375e0c51bdd3}}
  54. \index{utl\+::inbuf\+\_\+dev\+\_\+details@{utl\+::inbuf\+\_\+dev\+\_\+details}!try\+\_\+end\+\_\+t@{try\+\_\+end\+\_\+t}}
  55. \index{try\+\_\+end\+\_\+t@{try\+\_\+end\+\_\+t}!utl\+::inbuf\+\_\+dev\+\_\+details@{utl\+::inbuf\+\_\+dev\+\_\+details}}
  56. \subsubsection{\texorpdfstring{try\+\_\+end\+\_\+t}{try\_end\_t}}
  57. {\footnotesize\ttfamily template$<$class \+\_\+\+Tp $>$ \\
  58. using \mbox{\hyperlink{namespaceutl_1_1inbuf__dev__details_a5d4aa9d57c443c33cf08375e0c51bdd3}{utl\+::inbuf\+\_\+dev\+\_\+details\+::try\+\_\+end\+\_\+t}} = typedef decltype (declval$<$\+\_\+\+Tp$>$().begin())}
  59. Definition at line 346 of file inbuf\+\_\+dev.\+h.
  60. \mbox{\Hypertarget{namespaceutl_1_1inbuf__dev__details_a72a6469ab9ce0cba618dd0b554fc2dd2}\label{namespaceutl_1_1inbuf__dev__details_a72a6469ab9ce0cba618dd0b554fc2dd2}}
  61. \index{utl\+::inbuf\+\_\+dev\+\_\+details@{utl\+::inbuf\+\_\+dev\+\_\+details}!try\+\_\+get1\+\_\+t@{try\+\_\+get1\+\_\+t}}
  62. \index{try\+\_\+get1\+\_\+t@{try\+\_\+get1\+\_\+t}!utl\+::inbuf\+\_\+dev\+\_\+details@{utl\+::inbuf\+\_\+dev\+\_\+details}}
  63. \subsubsection{\texorpdfstring{try\+\_\+get1\+\_\+t}{try\_get1\_t}}
  64. {\footnotesize\ttfamily template$<$class \+\_\+\+Tp $>$ \\
  65. using \mbox{\hyperlink{namespaceutl_1_1inbuf__dev__details_a72a6469ab9ce0cba618dd0b554fc2dd2}{utl\+::inbuf\+\_\+dev\+\_\+details\+::try\+\_\+get1\+\_\+t}} = typedef decltype (declval$<$\+\_\+\+Tp$>$().\mbox{\hyperlink{namespaceutl_a29057d2e164fe6dd3f3095f0d69c6546}{get}} (declval$<$typename \+\_\+\+Tp\+::data\+\_\+type\&$>$()))}
  66. Definition at line 338 of file inbuf\+\_\+dev.\+h.
  67. \mbox{\Hypertarget{namespaceutl_1_1inbuf__dev__details_af09ed69d129c33b8a6d3f79c79b8ea35}\label{namespaceutl_1_1inbuf__dev__details_af09ed69d129c33b8a6d3f79c79b8ea35}}
  68. \index{utl\+::inbuf\+\_\+dev\+\_\+details@{utl\+::inbuf\+\_\+dev\+\_\+details}!try\+\_\+get2\+\_\+t@{try\+\_\+get2\+\_\+t}}
  69. \index{try\+\_\+get2\+\_\+t@{try\+\_\+get2\+\_\+t}!utl\+::inbuf\+\_\+dev\+\_\+details@{utl\+::inbuf\+\_\+dev\+\_\+details}}
  70. \subsubsection{\texorpdfstring{try\+\_\+get2\+\_\+t}{try\_get2\_t}}
  71. {\footnotesize\ttfamily template$<$class \+\_\+\+Tp $>$ \\
  72. using \mbox{\hyperlink{namespaceutl_1_1inbuf__dev__details_af09ed69d129c33b8a6d3f79c79b8ea35}{utl\+::inbuf\+\_\+dev\+\_\+details\+::try\+\_\+get2\+\_\+t}} = typedef decltype (declval$<$\+\_\+\+Tp$>$().\mbox{\hyperlink{namespaceutl_a29057d2e164fe6dd3f3095f0d69c6546}{get}} (declval$<$typename \+\_\+\+Tp\+::data\+\_\+type$\ast$$>$(), declval$<$\mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}}$>$()))}
  73. Definition at line 339 of file inbuf\+\_\+dev.\+h.
  74. \mbox{\Hypertarget{namespaceutl_1_1inbuf__dev__details_adff91b885ea1831691d4619d360bb72b}\label{namespaceutl_1_1inbuf__dev__details_adff91b885ea1831691d4619d360bb72b}}
  75. \index{utl\+::inbuf\+\_\+dev\+\_\+details@{utl\+::inbuf\+\_\+dev\+\_\+details}!tryc\+\_\+begin\+\_\+t@{tryc\+\_\+begin\+\_\+t}}
  76. \index{tryc\+\_\+begin\+\_\+t@{tryc\+\_\+begin\+\_\+t}!utl\+::inbuf\+\_\+dev\+\_\+details@{utl\+::inbuf\+\_\+dev\+\_\+details}}
  77. \subsubsection{\texorpdfstring{tryc\+\_\+begin\+\_\+t}{tryc\_begin\_t}}
  78. {\footnotesize\ttfamily template$<$class \+\_\+\+Tp $>$ \\
  79. using \mbox{\hyperlink{namespaceutl_1_1inbuf__dev__details_adff91b885ea1831691d4619d360bb72b}{utl\+::inbuf\+\_\+dev\+\_\+details\+::tryc\+\_\+begin\+\_\+t}} = typedef decltype (declval$<$const \+\_\+\+Tp$>$().begin())}
  80. Definition at line 344 of file inbuf\+\_\+dev.\+h.
  81. \mbox{\Hypertarget{namespaceutl_1_1inbuf__dev__details_a858c7a1a0b1d8d0bdc91ce681aa1b996}\label{namespaceutl_1_1inbuf__dev__details_a858c7a1a0b1d8d0bdc91ce681aa1b996}}
  82. \index{utl\+::inbuf\+\_\+dev\+\_\+details@{utl\+::inbuf\+\_\+dev\+\_\+details}!tryc\+\_\+end\+\_\+t@{tryc\+\_\+end\+\_\+t}}
  83. \index{tryc\+\_\+end\+\_\+t@{tryc\+\_\+end\+\_\+t}!utl\+::inbuf\+\_\+dev\+\_\+details@{utl\+::inbuf\+\_\+dev\+\_\+details}}
  84. \subsubsection{\texorpdfstring{tryc\+\_\+end\+\_\+t}{tryc\_end\_t}}
  85. {\footnotesize\ttfamily template$<$class \+\_\+\+Tp $>$ \\
  86. using \mbox{\hyperlink{namespaceutl_1_1inbuf__dev__details_a858c7a1a0b1d8d0bdc91ce681aa1b996}{utl\+::inbuf\+\_\+dev\+\_\+details\+::tryc\+\_\+end\+\_\+t}} = typedef decltype (declval$<$const \+\_\+\+Tp$>$().begin())}
  87. Definition at line 347 of file inbuf\+\_\+dev.\+h.