\hypertarget{_tmeta_detection_8cpp}{}\section{test/tests/\+Tmeta\+Detection.cpp File Reference}
\label{_tmeta_detection_8cpp}\index{test/tests/\+Tmeta\+Detection.\+cpp@{test/tests/\+Tmeta\+Detection.\+cpp}}
{\ttfamily \#include $<$utl/meta/meta.\+h$>$}\newline
{\ttfamily \#include $<$gtest/gtest.\+h$>$}\newline
{\ttfamily \#include $<$type\+\_\+traits$>$}\newline
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct_tmeta_detection_1_1_foo}{Tmeta\+Detection\+::\+Foo}}
\item 
struct \mbox{\hyperlink{struct_tmeta_detection_1_1_bar}{Tmeta\+Detection\+::\+Bar}}
\item 
struct \mbox{\hyperlink{struct_tmeta_detection_1_1_a}{Tmeta\+Detection\+::\+A$<$ T $>$}}
\item 
struct \mbox{\hyperlink{struct_tmeta_detection_1_1m_fun}{Tmeta\+Detection\+::m\+Fun$<$ T1, T2 $>$}}
\end{DoxyCompactItemize}
\subsection*{Namespaces}
\begin{DoxyCompactItemize}
\item 
 \mbox{\hyperlink{namespace_tmeta_detection}{Tmeta\+Detection}}
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename T $>$ }\\using \mbox{\hyperlink{namespace_tmeta_detection_a8afedee9c8f0f980114df2970b85b3d6}{Tmeta\+Detection\+::try\+\_\+type}} = typename T\+::type
\item 
{\footnotesize template$<$typename T $>$ }\\using \mbox{\hyperlink{namespace_tmeta_detection_a5b1aa9fde2d938f131aa21dfbc31066d}{Tmeta\+Detection\+::try\+\_\+none}} = typename T\+::none
\item 
{\footnotesize template$<$typename T $>$ }\\using \mbox{\hyperlink{namespace_tmeta_detection_a51bb4ddb42b30683a5838f8425126955}{Tmeta\+Detection\+::try\+\_\+ctor1}} = decltype(T(std\+::declval$<$ int $>$(), std\+::declval$<$ double $>$()))
\item 
{\footnotesize template$<$typename T $>$ }\\using \mbox{\hyperlink{namespace_tmeta_detection_a9fb54f795c97999192547571ba631be7}{Tmeta\+Detection\+::try\+\_\+ctor2}} = decltype(T(std\+::declval$<$ int $>$()))
\item 
{\footnotesize template$<$typename T $>$ }\\using \mbox{\hyperlink{namespace_tmeta_detection_a5a316a6cdd1fcf52966fee4f648f5986}{Tmeta\+Detection\+::try\+\_\+ppT}} = decltype(++(std\+::declval$<$ T $>$()))
\item 
{\footnotesize template$<$typename T $>$ }\\using \mbox{\hyperlink{namespace_tmeta_detection_a449d376e34edf3b90990510b64998ed6}{Tmeta\+Detection\+::try\+\_\+\+Tpp}} = decltype(std\+::declval$<$ T $>$()++)
\item 
{\footnotesize template$<$typename T $>$ }\\using \mbox{\hyperlink{namespace_tmeta_detection_ae8a09443bafe27ded567410f5d028934}{Tmeta\+Detection\+::try\+\_\+sfun}} = decltype(std\+::declval$<$ T $>$().sfun())
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{namespace_tmeta_detection_aa064e60dc07918977247e299899d361b}{Tmeta\+Detection\+::\+T\+E\+ST}} (Tmeta\+Detection, Void\+Type)
\item 
\mbox{\hyperlink{namespace_tmeta_detection_aad05cd282a58a320252a8de7a8ec9ba5}{Tmeta\+Detection\+::\+T\+E\+ST}} (Tmeta\+Detection, Not\+A\+Type)
\item 
\mbox{\hyperlink{namespace_tmeta_detection_a022c84980b3a19f2087bf4694ff652a7}{Tmeta\+Detection\+::\+T\+E\+ST}} (Tmeta\+Detection, Is\+Detected)
\item 
\mbox{\hyperlink{namespace_tmeta_detection_ae8ced9a0416f4a848bc4de38355d5ee8}{Tmeta\+Detection\+::\+T\+E\+ST}} (Tmeta\+Detection, Toolkit)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Copyright (C) 2018 Christos Choutouridis

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.

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.

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/}.