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.
 
 
 
 

52 line
3.0 KiB

  1. \hypertarget{sfinae_8h}{}\section{include/utl/meta/sfinae.h File Reference}
  2. \label{sfinae_8h}\index{include/utl/meta/sfinae.\+h@{include/utl/meta/sfinae.\+h}}
  3. Template meta-\/programming S\+F\+I\+N\+AE helpers.
  4. {\ttfamily \#include $<$utl/core/impl.\+h$>$}\newline
  5. {\ttfamily \#include $<$type\+\_\+traits$>$}\newline
  6. \subsection*{Classes}
  7. \begin{DoxyCompactItemize}
  8. \item
  9. struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1when__}{utl\+::meta\+::detail\+::when\+\_\+$<$ If $>$}}
  10. \item
  11. struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1when___3_01true_01_4}{utl\+::meta\+::detail\+::when\+\_\+$<$ true $>$}}
  12. \end{DoxyCompactItemize}
  13. \subsection*{Namespaces}
  14. \begin{DoxyCompactItemize}
  15. \item
  16. \mbox{\hyperlink{namespaceutl}{utl}}
  17. \begin{DoxyCompactList}\small\item\em S\+TL\textquotesingle{}s core language concepts. \end{DoxyCompactList}\item
  18. \mbox{\hyperlink{namespaceutl_1_1meta}{utl\+::meta}}
  19. \item
  20. \mbox{\hyperlink{namespaceutl_1_1meta_1_1detail}{utl\+::meta\+::detail}}
  21. \end{DoxyCompactItemize}
  22. \subsection*{Typedefs}
  23. \textbf{ }\par
  24. \begin{DoxyCompactItemize}
  25. \item
  26. {\footnotesize template$<$bool If$>$ }\\using \mbox{\hyperlink{namespaceutl_1_1meta_a181d79db46b10170529e85b907ed3dc7}{utl\+::meta\+::when}} = eval$<$ detail\+::when\+\_\+$<$ If $>$ $>$
  27. \begin{DoxyCompactList}\small\item\em Well formed only if {\ttfamily If} is true. \end{DoxyCompactList}\end{DoxyCompactItemize}
  28. \textbf{ }\par
  29. \begin{DoxyCompactItemize}
  30. \item
  31. {\footnotesize template$<$bool If, typename \+\_\+\+Tp = void$>$ }\\using \mbox{\hyperlink{namespaceutl_1_1meta_ab3fed26a4c7a8204accb349f0b6600e8}{utl\+::meta\+::enable\+\_\+if}} = std\+::enable\+\_\+if$<$ If, \+\_\+\+Tp $>$
  32. \begin{DoxyCompactList}\small\item\em enable\+\_\+if, imported from stl \end{DoxyCompactList}\item
  33. {\footnotesize template$<$bool If, typename \+\_\+\+Tp = void$>$ }\\using \mbox{\hyperlink{namespaceutl_1_1meta_a372fe391d9567f66a81091f581e1fa01}{utl\+::meta\+::enable\+\_\+if\+\_\+t}} = eval$<$ enable\+\_\+if$<$ If, \+\_\+\+Tp $>$ $>$
  34. \begin{DoxyCompactList}\small\item\em alias template for enable\+\_\+if \end{DoxyCompactList}\end{DoxyCompactItemize}
  35. \subsection{Detailed Description}
  36. Template meta-\/programming S\+F\+I\+N\+AE helpers.
  37. Copyright (C) 2018-\/2019 Christos Choutouridis
  38. This program is free software\+: you can redistribute it and/or modify it under the terms of the G\+NU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
  39. This program is distributed in the hope that it will be useful, but W\+I\+T\+H\+O\+UT A\+NY W\+A\+R\+R\+A\+N\+TY; without even the implied warranty of M\+E\+R\+C\+H\+A\+N\+T\+A\+B\+I\+L\+I\+TY or F\+I\+T\+N\+E\+SS F\+OR A P\+A\+R\+T\+I\+C\+U\+L\+AR P\+U\+R\+P\+O\+SE. See the G\+NU Lesser General Public License for more details.
  40. You should have received a copy of the G\+NU Lesser General Public License along with this program. If not, see \href{http://www.gnu.org/licenses/}{\tt http\+://www.\+gnu.\+org/licenses/}.