Micro template library A library for building device drivers
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 

58 líneas
3.6 KiB

  1. \hypertarget{selection_8h}{}\section{include/utl/meta/selection.h File Reference}
  2. \label{selection_8h}\index{include/utl/meta/selection.\+h@{include/utl/meta/selection.\+h}}
  3. Template meta-\/programming type selections.
  4. {\ttfamily \#include $<$utl/core/impl.\+h$>$}\newline
  5. {\ttfamily \#include $<$utl/meta/integral.\+h$>$}\newline
  6. \subsection*{Classes}
  7. \begin{DoxyCompactItemize}
  8. \item
  9. struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1if__c__}{utl\+::meta\+::detail\+::if\+\_\+c\+\_\+$<$ If,... $>$}}
  10. \item
  11. struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1if__c___3_01true_00_01_then_01_4}{utl\+::meta\+::detail\+::if\+\_\+c\+\_\+$<$ true, Then $>$}}
  12. \item
  13. struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1if__c___3_01true_00_01_then_00_01_else_01_4}{utl\+::meta\+::detail\+::if\+\_\+c\+\_\+$<$ true, Then, Else $>$}}
  14. \item
  15. struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1if__c___3_01false_00_01_then_00_01_else_01_4}{utl\+::meta\+::detail\+::if\+\_\+c\+\_\+$<$ false, Then, Else $>$}}
  16. \end{DoxyCompactItemize}
  17. \subsection*{Namespaces}
  18. \begin{DoxyCompactItemize}
  19. \item
  20. \mbox{\hyperlink{namespaceutl}{utl}}
  21. \begin{DoxyCompactList}\small\item\em S\+TL\textquotesingle{}s core language concepts. \end{DoxyCompactList}\item
  22. \mbox{\hyperlink{namespaceutl_1_1meta}{utl\+::meta}}
  23. \item
  24. \mbox{\hyperlink{namespaceutl_1_1meta_1_1detail}{utl\+::meta\+::detail}}
  25. \end{DoxyCompactItemize}
  26. \subsection*{Typedefs}
  27. \textbf{ }\par
  28. \begin{DoxyCompactItemize}
  29. \item
  30. {\footnotesize template$<$bool B, typename... Args$>$ }\\using \mbox{\hyperlink{group__type_gaa3812817ce749832da73fdf5d2a85380}{utl\+::meta\+::if\+\_\+c}} = eval$<$ detail\+::if\+\_\+c\+\_\+$<$ B, Args... $>$ $>$
  31. \begin{DoxyCompactList}\small\item\em Select one type or another depending on a compile-\/time Boolean. \end{DoxyCompactList}\item
  32. {\footnotesize template$<$typename If , typename... Args$>$ }\\using \mbox{\hyperlink{group__type_ga39cc4e727a8faa5ea176f543e62c05c0}{utl\+::meta\+::if\+\_\+}} = if\+\_\+c$<$ If\+::type\+::value, Args... $>$
  33. \begin{DoxyCompactList}\small\item\em Select one type or another depending on a compile-\/time Boolean type. \end{DoxyCompactList}\end{DoxyCompactItemize}
  34. \textbf{ }\par
  35. \begin{DoxyCompactItemize}
  36. \item
  37. {\footnotesize template$<$typename T1 , typename ... $>$ }\\using \mbox{\hyperlink{group__type_gaf7089523d21cd405c76985643f31092a}{utl\+::meta\+::first\+\_\+of}} = T1
  38. \begin{DoxyCompactList}\small\item\em Select the first type of a type sequence. \end{DoxyCompactList}\item
  39. {\footnotesize template$<$typename T1 , typename T2 , typename ... $>$ }\\using \mbox{\hyperlink{group__type_ga422dd1b0895f0074ad9932d68d9edbc5}{utl\+::meta\+::second\+\_\+of}} = T2
  40. \begin{DoxyCompactList}\small\item\em Select the second type of a type sequence. \end{DoxyCompactList}\end{DoxyCompactItemize}
  41. \subsection{Detailed Description}
  42. Template meta-\/programming type selections.
  43. Copyright (C) 2018-\/2019 Christos Choutouridis
  44. 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.
  45. 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.
  46. 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/}.