\hypertarget{structkblib_1_1fakestd_1_1detail_1_1invokable__r}{}\doxysection{kblib\+::fakestd\+::detail\+::invokable\+\_\+r\texorpdfstring{$<$}{<} Ret, Fp, Args \texorpdfstring{$>$}{>} Struct Template Reference} \label{structkblib_1_1fakestd_1_1detail_1_1invokable__r}\index{kblib::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$@{kblib::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$}} {\ttfamily \#include $<$kblib/fakestd.\+h$>$} \doxysubsection*{Public Types} \begin{DoxyCompactItemize} \item using \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1invokable__r_aef19fd92af3f760d46eec6db632ac4df}{Result}} = decltype(\mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1invokable__r_a3b66cd7bd432f7db0b4ec65291e3046c}{try\+\_\+call}}$<$ Fp, Args... $>$(0)) \item using \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1invokable__r_a1bb75c431ac0ca4e7c83294c02e0b839}{type}} = typename std\+::conditional$<$ not std\+::is\+\_\+same$<$ \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1invokable__r_aef19fd92af3f760d46eec6db632ac4df}{Result}}, \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1nat}{detail\+::nat}} $>$\mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1invokable__r_af024b4751f7bea9b13c3c52d1ad7f6af}{\+::value}}, typename std\+::conditional$<$ std\+::is\+\_\+void$<$ Ret $>$\mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1invokable__r_af024b4751f7bea9b13c3c52d1ad7f6af}{\+::value}}, std\+::true\+\_\+type, std\+::is\+\_\+convertible$<$ \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1invokable__r_aef19fd92af3f760d46eec6db632ac4df}{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{structkblib_1_1fakestd_1_1detail_1_1invokable__r_a3b66cd7bd432f7db0b4ec65291e3046c}{try\+\_\+call}} (int) -\/$>$ decltype(\mbox{\hyperlink{namespacekblib_a9b10acd2ddaea118b990e1177f626722}{kblib\+::invoke}}(std\+::declval$<$ XFp $>$(), std\+::declval$<$ XArgs $>$()...)) \item {\footnotesize template$<$class XFp , class... XArgs$>$ }\\static auto \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1invokable__r_a48a55ae0d97a8b3329ef0d205410f82a}{try\+\_\+call}} (...) -\/$>$ \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1nat}{detail\+::nat}} \end{DoxyCompactItemize} \doxysubsection*{Static Public Attributes} \begin{DoxyCompactItemize} \item static const bool \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1invokable__r_af024b4751f7bea9b13c3c52d1ad7f6af}{value}} = type\+::value \end{DoxyCompactItemize} \doxysubsection{Detailed Description} \subsubsection*{template$<$class Ret, class Fp, class... Args$>$\newline struct kblib\+::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{structkblib_1_1fakestd_1_1detail_1_1invokable__r_aef19fd92af3f760d46eec6db632ac4df}\label{structkblib_1_1fakestd_1_1detail_1_1invokable__r_aef19fd92af3f760d46eec6db632ac4df}} \index{kblib::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$@{kblib::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$}!Result@{Result}} \index{Result@{Result}!kblib::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$@{kblib::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$}} \doxysubsubsection{\texorpdfstring{Result}{Result}} {\footnotesize\ttfamily template$<$class Ret , class Fp , class... Args$>$ \\ using \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1invokable__r}{kblib\+::fakestd\+::detail\+::invokable\+\_\+r}}$<$ Ret, Fp, Args $>$\+::\+Result = decltype(\mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1invokable__r_a3b66cd7bd432f7db0b4ec65291e3046c}{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{structkblib_1_1fakestd_1_1detail_1_1invokable__r_a1bb75c431ac0ca4e7c83294c02e0b839}\label{structkblib_1_1fakestd_1_1detail_1_1invokable__r_a1bb75c431ac0ca4e7c83294c02e0b839}} \index{kblib::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$@{kblib::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$}!type@{type}} \index{type@{type}!kblib::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$@{kblib::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$}} \doxysubsubsection{\texorpdfstring{type}{type}} {\footnotesize\ttfamily template$<$class Ret , class Fp , class... Args$>$ \\ using \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1invokable__r}{kblib\+::fakestd\+::detail\+::invokable\+\_\+r}}$<$ Ret, Fp, Args $>$\+::type = typename std\+::conditional$<$ not std\+::is\+\_\+same$<$\mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1invokable__r_aef19fd92af3f760d46eec6db632ac4df}{Result}}, \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1nat}{detail\+::nat}}$>$\mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1invokable__r_af024b4751f7bea9b13c3c52d1ad7f6af}{\+::value}}, typename std\+::conditional$<$std\+::is\+\_\+void$<$Ret$>$\mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1invokable__r_af024b4751f7bea9b13c3c52d1ad7f6af}{\+::value}}, std\+::true\+\_\+type, std\+::is\+\_\+convertible$<$\mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1invokable__r_aef19fd92af3f760d46eec6db632ac4df}{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{structkblib_1_1fakestd_1_1detail_1_1invokable__r_a48a55ae0d97a8b3329ef0d205410f82a}\label{structkblib_1_1fakestd_1_1detail_1_1invokable__r_a48a55ae0d97a8b3329ef0d205410f82a}} \index{kblib::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$@{kblib::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$}!try\_call@{try\_call}} \index{try\_call@{try\_call}!kblib::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$@{kblib::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{structkblib_1_1fakestd_1_1detail_1_1invokable__r}{kblib\+::fakestd\+::detail\+::invokable\+\_\+r}}$<$ Ret, Fp, Args $>$\+::try\+\_\+call (\begin{DoxyParamCaption}\item[{}]{... }\end{DoxyParamCaption}) -\/$>$ \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1nat}{detail\+::nat}}\hspace{0.3cm}{\ttfamily [static]}} \mbox{\Hypertarget{structkblib_1_1fakestd_1_1detail_1_1invokable__r_a3b66cd7bd432f7db0b4ec65291e3046c}\label{structkblib_1_1fakestd_1_1detail_1_1invokable__r_a3b66cd7bd432f7db0b4ec65291e3046c}} \index{kblib::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$@{kblib::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$}!try\_call@{try\_call}} \index{try\_call@{try\_call}!kblib::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$@{kblib::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{structkblib_1_1fakestd_1_1detail_1_1invokable__r}{kblib\+::fakestd\+::detail\+::invokable\+\_\+r}}$<$ Ret, Fp, Args $>$\+::try\+\_\+call (\begin{DoxyParamCaption}\item[{int}]{ }\end{DoxyParamCaption}) -\/$>$ decltype(\mbox{\hyperlink{namespacekblib_a9b10acd2ddaea118b990e1177f626722}{kblib\+::invoke}}(std\+::declval$<$ XFp $>$(), std\+::declval$<$ XArgs $>$()...))\hspace{0.3cm}{\ttfamily [static]}} \doxysubsection{Member Data Documentation} \mbox{\Hypertarget{structkblib_1_1fakestd_1_1detail_1_1invokable__r_af024b4751f7bea9b13c3c52d1ad7f6af}\label{structkblib_1_1fakestd_1_1detail_1_1invokable__r_af024b4751f7bea9b13c3c52d1ad7f6af}} \index{kblib::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$@{kblib::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$}!value@{value}} \index{value@{value}!kblib::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$@{kblib::fakestd::detail::invokable\_r$<$ Ret, Fp, Args $>$}} \doxysubsubsection{\texorpdfstring{value}{value}} {\footnotesize\ttfamily template$<$class Ret , class Fp , class... Args$>$ \\ const bool \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1invokable__r}{kblib\+::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}