\hypertarget{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r}{}\doxysection{KBLIB\+\_\+\+NS\+::fakestd\+::detail\+::invokable\+\_\+r\texorpdfstring{$<$}{<} Ret, Fp, Args \texorpdfstring{$>$}{>} Struct Template Reference} \label{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r}\index{KBLIB\_NS::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$@{KBLIB\_NS::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$}} {\ttfamily \#include $<$kblib/fakestd.\+h$>$} \doxysubsection*{Public Types} \begin{DoxyCompactItemize} \item using \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_a134e50b1ef98b51257b51e88232619c4}{Result}} = decltype(\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_ac092b8a8be183a484ad61a77e556bb79}{try\+\_\+call}}$<$ Fp, Args... $>$(0)) \item using \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_a19528bb685211d1ba2f43184777145a5}{type}} = typename std\+::conditional$<$ not std\+::is\+\_\+same$<$ \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_a134e50b1ef98b51257b51e88232619c4}{Result}}, \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1nat}{detail\+::nat}} $>$\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_a1889b651d7a3d93503f5dd82b2a13792}{\+::value}}, typename std\+::conditional$<$ std\+::is\+\_\+void$<$ Ret $>$\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_a1889b651d7a3d93503f5dd82b2a13792}{\+::value}}, std\+::true\+\_\+type, std\+::is\+\_\+convertible$<$ \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_a134e50b1ef98b51257b51e88232619c4}{Result}}, Ret $>$ $>$\+::type, std\+::false\+\_\+type $>$\+::type \end{DoxyCompactItemize} \doxysubsection*{Static Public Member Functions} \begin{DoxyCompactItemize} \item {\footnotesize template$<$class XFp , class... XArgs$>$ }\\static auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_ac092b8a8be183a484ad61a77e556bb79}{try\+\_\+call}} (int) -\/$>$ decltype(kblib\+::invoke(std\+::declval$<$ XFp $>$(), std\+::declval$<$ XArgs $>$()...)) \item {\footnotesize template$<$class XFp , class... XArgs$>$ }\\static auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_a8e8ef452160971a2a341ee799c4f3a8d}{try\+\_\+call}} (...) -\/$>$ \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1nat}{detail\+::nat}} \end{DoxyCompactItemize} \doxysubsection*{Static Public Attributes} \begin{DoxyCompactItemize} \item static const bool \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_a1889b651d7a3d93503f5dd82b2a13792}{value}} = type\+::value \end{DoxyCompactItemize} \doxysubsection{Detailed Description} \subsubsection*{template$<$class Ret, class Fp, class... Args$>$\newline struct KBLIB\+\_\+\+NS\+::fakestd\+::detail\+::invokable\+\_\+r$<$ Ret, Fp, Args $>$} Definition at line \mbox{\hyperlink{fakestd_8h_source_l00380}{380}} of file \mbox{\hyperlink{fakestd_8h_source}{fakestd.\+h}}. \doxysubsection{Member Typedef Documentation} \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_a134e50b1ef98b51257b51e88232619c4}\label{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_a134e50b1ef98b51257b51e88232619c4}} \index{KBLIB\_NS::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$@{KBLIB\_NS::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$}!Result@{Result}} \index{Result@{Result}!KBLIB\_NS::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$@{KBLIB\_NS::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$}} \doxysubsubsection{\texorpdfstring{Result}{Result}} {\footnotesize\ttfamily template$<$class Ret , class Fp , class... Args$>$ \\ using \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r}{KBLIB\+\_\+\+NS\+::fakestd\+::detail\+::invokable\+\_\+r}}$<$ Ret, Fp, Args $>$\+::\+Result = decltype(\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_ac092b8a8be183a484ad61a77e556bb79}{try\+\_\+call}}$<$Fp, Args...$>$(0))} Definition at line \mbox{\hyperlink{fakestd_8h_source_l00388}{388}} of file \mbox{\hyperlink{fakestd_8h_source}{fakestd.\+h}}. \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_a19528bb685211d1ba2f43184777145a5}\label{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_a19528bb685211d1ba2f43184777145a5}} \index{KBLIB\_NS::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$@{KBLIB\_NS::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$}!type@{type}} \index{type@{type}!KBLIB\_NS::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$@{KBLIB\_NS::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$}} \doxysubsubsection{\texorpdfstring{type}{type}} {\footnotesize\ttfamily template$<$class Ret , class Fp , class... Args$>$ \\ using \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r}{KBLIB\+\_\+\+NS\+::fakestd\+::detail\+::invokable\+\_\+r}}$<$ Ret, Fp, Args $>$\+::type = typename std\+::conditional$<$ not std\+::is\+\_\+same$<$\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_a134e50b1ef98b51257b51e88232619c4}{Result}}, \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1nat}{detail\+::nat}}$>$\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_a1889b651d7a3d93503f5dd82b2a13792}{\+::value}}, typename std\+::conditional$<$std\+::is\+\_\+void$<$Ret$>$\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_a1889b651d7a3d93503f5dd82b2a13792}{\+::value}}, std\+::true\+\_\+type, std\+::is\+\_\+convertible$<$\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_a134e50b1ef98b51257b51e88232619c4}{Result}}, Ret$>$ $>$\+::type, std\+::false\+\_\+type$>$\+::type} Definition at line \mbox{\hyperlink{fakestd_8h_source_l00390}{390}} of file \mbox{\hyperlink{fakestd_8h_source}{fakestd.\+h}}. \doxysubsection{Member Function Documentation} \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_a8e8ef452160971a2a341ee799c4f3a8d}\label{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_a8e8ef452160971a2a341ee799c4f3a8d}} \index{KBLIB\_NS::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$@{KBLIB\_NS::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$}!try\_call@{try\_call}} \index{try\_call@{try\_call}!KBLIB\_NS::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$@{KBLIB\_NS::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$}} \doxysubsubsection{\texorpdfstring{try\_call()}{try\_call()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class Ret , class Fp , class... Args$>$ \\ template$<$class XFp , class... XArgs$>$ \\ static auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r}{KBLIB\+\_\+\+NS\+::fakestd\+::detail\+::invokable\+\_\+r}}$<$ Ret, Fp, Args $>$\+::try\+\_\+call (\begin{DoxyParamCaption}\item[{}]{... }\end{DoxyParamCaption}) -\/$>$ \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1nat}{detail\+::nat}}\hspace{0.3cm}{\ttfamily [static]}} \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_ac092b8a8be183a484ad61a77e556bb79}\label{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_ac092b8a8be183a484ad61a77e556bb79}} \index{KBLIB\_NS::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$@{KBLIB\_NS::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$}!try\_call@{try\_call}} \index{try\_call@{try\_call}!KBLIB\_NS::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$@{KBLIB\_NS::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$}} \doxysubsubsection{\texorpdfstring{try\_call()}{try\_call()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class Ret , class Fp , class... Args$>$ \\ template$<$class XFp , class... XArgs$>$ \\ static auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r}{KBLIB\+\_\+\+NS\+::fakestd\+::detail\+::invokable\+\_\+r}}$<$ Ret, Fp, Args $>$\+::try\+\_\+call (\begin{DoxyParamCaption}\item[{int}]{ }\end{DoxyParamCaption}) -\/$>$ decltype(kblib\+::invoke(std\+::declval$<$ XFp $>$(), std\+::declval$<$ XArgs $>$()...))\hspace{0.3cm}{\ttfamily [static]}} \doxysubsection{Member Data Documentation} \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_a1889b651d7a3d93503f5dd82b2a13792}\label{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r_a1889b651d7a3d93503f5dd82b2a13792}} \index{KBLIB\_NS::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$@{KBLIB\_NS::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$}!value@{value}} \index{value@{value}!KBLIB\_NS::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$@{KBLIB\_NS::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$}} \doxysubsubsection{\texorpdfstring{value}{value}} {\footnotesize\ttfamily template$<$class Ret , class Fp , class... Args$>$ \\ const bool \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1fakestd_1_1detail_1_1invokable__r}{KBLIB\+\_\+\+NS\+::fakestd\+::detail\+::invokable\+\_\+r}}$<$ Ret, Fp, Args $>$\+::value = type\+::value\hspace{0.3cm}{\ttfamily [static]}} Definition at line \mbox{\hyperlink{fakestd_8h_source_l00395}{395}} of file \mbox{\hyperlink{fakestd_8h_source}{fakestd.\+h}}. The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} \item kblib/\mbox{\hyperlink{fakestd_8h}{fakestd.\+h}}\end{DoxyCompactItemize}