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.
 
 
 
 

83 lignes
5.0 KiB

  1. \hypertarget{namespaceutl_1_1detail}{}\section{utl\+:\+:detail Namespace Reference}
  2. \label{namespaceutl_1_1detail}\index{utl\+::detail@{utl\+::detail}}
  3. \subsection*{Classes}
  4. \begin{DoxyCompactItemize}
  5. \item
  6. struct \mbox{\hyperlink{structutl_1_1detail_1_1invoke__result__}{invoke\+\_\+result\+\_\+}}
  7. \item
  8. struct \mbox{\hyperlink{structutl_1_1detail_1_1invoke__result___3_01true_00_01___callable_00_01___args_8_8_8_01_4}{invoke\+\_\+result\+\_\+$<$ true, \+\_\+\+Callable, \+\_\+\+Args... $>$}}
  9. \item
  10. struct \mbox{\hyperlink{structutl_1_1detail_1_1is__ref__wrapper}{is\+\_\+ref\+\_\+wrapper}}
  11. \item
  12. struct \mbox{\hyperlink{structutl_1_1detail_1_1is__ref__wrapper_3_01std_1_1reference__wrapper_3_01_u_01_4_01_4}{is\+\_\+ref\+\_\+wrapper$<$ std\+::reference\+\_\+wrapper$<$ U $>$ $>$}}
  13. \item
  14. struct \mbox{\hyperlink{structutl_1_1detail_1_1try__invoke}{try\+\_\+invoke}}
  15. \end{DoxyCompactItemize}
  16. \subsection*{Typedefs}
  17. \begin{DoxyCompactItemize}
  18. \item
  19. {\footnotesize template$<$typename I $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1detail_a50e7a46f910a83190bca5a58f67f1e2d}{try\+\_\+ppI}} = decltype(++(std\+::declval$<$ I $>$()))
  20. \item
  21. {\footnotesize template$<$typename I $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1detail_a1371d13b3e8408cfc68e82b03ca9f3b0}{try\+\_\+\+Ipp}} = decltype(std\+::declval$<$ I $>$()++)
  22. \end{DoxyCompactItemize}
  23. \subsection*{Functions}
  24. \begin{DoxyCompactItemize}
  25. \item
  26. {\footnotesize template$<$class T , class Type , class T1 , class... Args, meta\+::enable\+\_\+if\+\_\+t$<$ std\+::is\+\_\+member\+\_\+function\+\_\+pointer$<$ std\+::decay\+\_\+t$<$ Type T\+::$\ast$$>$$>$\+::value \&\&std\+::is\+\_\+base\+\_\+of$<$ T, std\+::decay\+\_\+t$<$ T1 $>$$>$\+::value, int $>$ = 0$>$ }\\decltype(auto) \mbox{\hyperlink{namespaceutl_1_1detail_a2c39a67272ada5da5f1b84115dadc4a1}{invoke\+\_\+impl\+\_\+}} (Type T\+::$\ast$f, T1 \&\&t1, Args \&\&... args)
  27. \item
  28. {\footnotesize template$<$class F , class... Args$>$ }\\decltype(auto) \mbox{\hyperlink{namespaceutl_1_1detail_a09341831ecc9aab67a23d3a47b2d114f}{invoke\+\_\+impl\+\_\+}} (F \&\&f, Args \&\&... args)
  29. \end{DoxyCompactItemize}
  30. \subsection{Detailed Description}
  31. invoke\+\_\+result (S\+F\+I\+N\+AE friendly)
  32. \subsection{Typedef Documentation}
  33. \mbox{\Hypertarget{namespaceutl_1_1detail_a1371d13b3e8408cfc68e82b03ca9f3b0}\label{namespaceutl_1_1detail_a1371d13b3e8408cfc68e82b03ca9f3b0}}
  34. \index{utl\+::detail@{utl\+::detail}!try\+\_\+\+Ipp@{try\+\_\+\+Ipp}}
  35. \index{try\+\_\+\+Ipp@{try\+\_\+\+Ipp}!utl\+::detail@{utl\+::detail}}
  36. \subsubsection{\texorpdfstring{try\+\_\+\+Ipp}{try\_Ipp}}
  37. {\footnotesize\ttfamily template$<$typename I $>$ \\
  38. using \mbox{\hyperlink{namespaceutl_1_1detail_a1371d13b3e8408cfc68e82b03ca9f3b0}{utl\+::detail\+::try\+\_\+\+Ipp}} = typedef decltype (std\+::declval$<$I$>$()++)}
  39. Definition at line 46 of file iterators.\+h.
  40. \mbox{\Hypertarget{namespaceutl_1_1detail_a50e7a46f910a83190bca5a58f67f1e2d}\label{namespaceutl_1_1detail_a50e7a46f910a83190bca5a58f67f1e2d}}
  41. \index{utl\+::detail@{utl\+::detail}!try\+\_\+ppI@{try\+\_\+ppI}}
  42. \index{try\+\_\+ppI@{try\+\_\+ppI}!utl\+::detail@{utl\+::detail}}
  43. \subsubsection{\texorpdfstring{try\+\_\+ppI}{try\_ppI}}
  44. {\footnotesize\ttfamily template$<$typename I $>$ \\
  45. using \mbox{\hyperlink{namespaceutl_1_1detail_a50e7a46f910a83190bca5a58f67f1e2d}{utl\+::detail\+::try\+\_\+ppI}} = typedef decltype (++(std\+::declval$<$I$>$()))}
  46. Definition at line 45 of file iterators.\+h.
  47. \subsection{Function Documentation}
  48. \mbox{\Hypertarget{namespaceutl_1_1detail_a2c39a67272ada5da5f1b84115dadc4a1}\label{namespaceutl_1_1detail_a2c39a67272ada5da5f1b84115dadc4a1}}
  49. \index{utl\+::detail@{utl\+::detail}!invoke\+\_\+impl\+\_\+@{invoke\+\_\+impl\+\_\+}}
  50. \index{invoke\+\_\+impl\+\_\+@{invoke\+\_\+impl\+\_\+}!utl\+::detail@{utl\+::detail}}
  51. \subsubsection{\texorpdfstring{invoke\+\_\+impl\+\_\+()}{invoke\_impl\_()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
  52. {\footnotesize\ttfamily template$<$class T , class Type , class T1 , class... Args, meta\+::enable\+\_\+if\+\_\+t$<$ std\+::is\+\_\+member\+\_\+function\+\_\+pointer$<$ std\+::decay\+\_\+t$<$ Type T\+::$\ast$$>$$>$\+::value \&\&std\+::is\+\_\+base\+\_\+of$<$ T, std\+::decay\+\_\+t$<$ T1 $>$$>$\+::value, int $>$ = 0$>$ \\
  53. decltype(auto) utl\+::detail\+::invoke\+\_\+impl\+\_\+ (\begin{DoxyParamCaption}\item[{Type T\+::$\ast$}]{f, }\item[{T1 \&\&}]{t1, }\item[{Args \&\&...}]{args }\end{DoxyParamCaption})}
  54. Definition at line 51 of file invoke.\+h.
  55. \mbox{\Hypertarget{namespaceutl_1_1detail_a09341831ecc9aab67a23d3a47b2d114f}\label{namespaceutl_1_1detail_a09341831ecc9aab67a23d3a47b2d114f}}
  56. \index{utl\+::detail@{utl\+::detail}!invoke\+\_\+impl\+\_\+@{invoke\+\_\+impl\+\_\+}}
  57. \index{invoke\+\_\+impl\+\_\+@{invoke\+\_\+impl\+\_\+}!utl\+::detail@{utl\+::detail}}
  58. \subsubsection{\texorpdfstring{invoke\+\_\+impl\+\_\+()}{invoke\_impl\_()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
  59. {\footnotesize\ttfamily template$<$class F , class... Args$>$ \\
  60. decltype(auto) utl\+::detail\+::invoke\+\_\+impl\+\_\+ (\begin{DoxyParamCaption}\item[{F \&\&}]{f, }\item[{Args \&\&...}]{args }\end{DoxyParamCaption})}
  61. Definition at line 113 of file invoke.\+h.