\hypertarget{namespaceutl_1_1meta_1_1detail}{}\section{utl\+:\+:meta\+:\+:detail Namespace Reference}
\label{namespaceutl_1_1meta_1_1detail}\index{utl\+::meta\+::detail@{utl\+::meta\+::detail}}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1__and__}{\+\_\+and\+\_\+}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1__and___3_01___t1_01_4}{\+\_\+and\+\_\+$<$ \+\_\+\+T1 $>$}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1__and___3_01___t1_00_01___t2_01_4}{\+\_\+and\+\_\+$<$ \+\_\+\+T1, \+\_\+\+T2 $>$}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1__and___3_01___t1_00_01___t2_00_01___t3_00_01___tn_8_8_8_01_4}{\+\_\+and\+\_\+$<$ \+\_\+\+T1, \+\_\+\+T2, \+\_\+\+T3, \+\_\+\+Tn... $>$}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1__and___3_4}{\+\_\+and\+\_\+$<$$>$}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1__or__}{\+\_\+or\+\_\+}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1__or___3_01___t1_01_4}{\+\_\+or\+\_\+$<$ \+\_\+\+T1 $>$}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1__or___3_01___t1_00_01___t2_01_4}{\+\_\+or\+\_\+$<$ \+\_\+\+T1, \+\_\+\+T2 $>$}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1__or___3_01___t1_00_01___t2_00_01___t3_00_01___tn_8_8_8_01_4}{\+\_\+or\+\_\+$<$ \+\_\+\+T1, \+\_\+\+T2, \+\_\+\+T3, \+\_\+\+Tn... $>$}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1__or___3_4}{\+\_\+or\+\_\+$<$$>$}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1compose__}{compose\+\_\+}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1compose___3_01_fn0_01_4}{compose\+\_\+$<$ Fn0 $>$}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1compose___3_01_fn0_00_01_fns_8_8_8_01_4}{compose\+\_\+$<$ Fn0, Fns... $>$}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1compose__f__}{compose\+\_\+f\+\_\+}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1compose__f___3_01_fn0_01_4}{compose\+\_\+f\+\_\+$<$ Fn0 $>$}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1compose__f___3_01_fn0_00_01_fns_8_8_8_01_4}{compose\+\_\+f\+\_\+$<$ Fn0, Fns... $>$}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1defer__}{defer\+\_\+}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1defer__i__}{defer\+\_\+i\+\_\+}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1detector}{detector}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1detector_3_01_default_00_01void__t_3_01_op_3_01_args_8_8_8_01_4_0c35bdbd19f56980c0b5ee6d490bfb634}{detector$<$ Default, void\+\_\+t$<$ Op$<$ Args... $>$ $>$, Op, Args... $>$}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1if__c__}{if\+\_\+c\+\_\+}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1if__c___3_01false_00_01_then_00_01_else_01_4}{if\+\_\+c\+\_\+$<$ false, Then, Else $>$}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1if__c___3_01true_00_01_then_01_4}{if\+\_\+c\+\_\+$<$ true, Then $>$}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1if__c___3_01true_00_01_then_00_01_else_01_4}{if\+\_\+c\+\_\+$<$ true, Then, Else $>$}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1is__applicable__}{is\+\_\+applicable\+\_\+}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1is__applicable__i__}{is\+\_\+applicable\+\_\+i\+\_\+}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1is__applicable__q__}{is\+\_\+applicable\+\_\+q\+\_\+}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1when__}{when\+\_\+}}
\item 
struct \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1when___3_01true_01_4}{when\+\_\+$<$ true $>$}}
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename Default , template$<$ typename... $>$ class Op, typename... Args$>$ }\\using \mbox{\hyperlink{namespaceutl_1_1meta_1_1detail_a835827cb3116483228d6f7f774b68970}{detected\+\_\+or}} = \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1detector}{detector}}$<$ Default, void, Op, Args... $>$
\begin{DoxyCompactList}\small\item\em helper for detected\+\_\+or\+\_\+t \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Detector for detection idiom

Is applicable trait

defer

compose

OR implementation

A\+ND implementation

Type selectionif\+\_\+, if\+\_\+c

Tool to enable a partial specialization only if a boolean condition is true. 

\subsection{Typedef Documentation}
\mbox{\Hypertarget{namespaceutl_1_1meta_1_1detail_a835827cb3116483228d6f7f774b68970}\label{namespaceutl_1_1meta_1_1detail_a835827cb3116483228d6f7f774b68970}} 
\index{utl\+::meta\+::detail@{utl\+::meta\+::detail}!detected\+\_\+or@{detected\+\_\+or}}
\index{detected\+\_\+or@{detected\+\_\+or}!utl\+::meta\+::detail@{utl\+::meta\+::detail}}
\subsubsection{\texorpdfstring{detected\+\_\+or}{detected\_or}}
{\footnotesize\ttfamily template$<$typename Default , template$<$ typename... $>$ class Op, typename... Args$>$ \\
using \mbox{\hyperlink{namespaceutl_1_1meta_1_1detail_a835827cb3116483228d6f7f774b68970}{utl\+::meta\+::detail\+::detected\+\_\+or}} = typedef \mbox{\hyperlink{structutl_1_1meta_1_1detail_1_1detector}{detector}}$<$Default, void, Op, Args...$>$}



helper for detected\+\_\+or\+\_\+t 

\begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{_w_1_2_work_2_software_2_libraries_2utl_2include_2utl_2meta_2detection_8h-example}{W\+:/\+Work/\+Software/\+Libraries/utl/include/utl/meta/detection.\+h}}.\end{Desc}


Definition at line 91 of file detection.\+h.

