\hypertarget{structkblib_1_1fakestd_1_1detail_1_1swappable__with}{}\doxysection{kblib\+::fakestd\+::detail\+::swappable\+\_\+with\texorpdfstring{$<$}{<} Tp, Up, Not\+Void \texorpdfstring{$>$}{>} Struct Template Reference}
\label{structkblib_1_1fakestd_1_1detail_1_1swappable__with}\index{kblib::fakestd::detail::swappable\_with$<$ Tp, Up, NotVoid $>$@{kblib::fakestd::detail::swappable\_with$<$ Tp, Up, NotVoid $>$}}


{\ttfamily \#include $<$kblib/fakestd.\+h$>$}

\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
using \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1swappable__with_ae2e5bf92c4cc27a7650ba85aeb1b7315}{swap1}} = decltype((\mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1swappable__with_a921c5dff8c0d25033136c5003f5b8b2c}{test\+\_\+swap}}$<$ Tp, Up $>$(0)))
\item 
using \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1swappable__with_a7b5c2e2b0270662882da4bb85339a216}{swap2}} = decltype((\mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1swappable__with_a921c5dff8c0d25033136c5003f5b8b2c}{test\+\_\+swap}}$<$ Up, Tp $>$(0)))
\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$class LHS , class RHS $>$ }\\static decltype(\mbox{\hyperlink{namespacekblib_a4aadfdece3872e99551aa812ac3bac27}{swap}}(std\+::declval$<$ LHS $>$(), std\+::declval$<$ RHS $>$())) \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1swappable__with_a921c5dff8c0d25033136c5003f5b8b2c}{test\+\_\+swap}} (int)
\item 
{\footnotesize template$<$class , class $>$ }\\static \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1nat}{nat}} \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1swappable__with_aef6e8d4a031d000e4dfaf5ae482f70b3}{test\+\_\+swap}} (long)
\end{DoxyCompactItemize}
\doxysubsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static const bool \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1swappable__with_a6be72f9d93956ceb9ee2cb6c510ac276}{value}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$class Tp, class Up = Tp, bool Not\+Void = not std\+::is\+\_\+void$<$\+Tp$>$\+::value and not std\+::is\+\_\+void$<$\+Up$>$\+::value$>$\newline
struct kblib\+::fakestd\+::detail\+::swappable\+\_\+with$<$ Tp, Up, Not\+Void $>$}


Definition at line \mbox{\hyperlink{fakestd_8h_source_l00213}{213}} of file \mbox{\hyperlink{fakestd_8h_source}{fakestd.\+h}}.



\doxysubsection{Member Typedef Documentation}
\mbox{\Hypertarget{structkblib_1_1fakestd_1_1detail_1_1swappable__with_ae2e5bf92c4cc27a7650ba85aeb1b7315}\label{structkblib_1_1fakestd_1_1detail_1_1swappable__with_ae2e5bf92c4cc27a7650ba85aeb1b7315}} 
\index{kblib::fakestd::detail::swappable\_with$<$ Tp, Up, NotVoid $>$@{kblib::fakestd::detail::swappable\_with$<$ Tp, Up, NotVoid $>$}!swap1@{swap1}}
\index{swap1@{swap1}!kblib::fakestd::detail::swappable\_with$<$ Tp, Up, NotVoid $>$@{kblib::fakestd::detail::swappable\_with$<$ Tp, Up, NotVoid $>$}}
\doxysubsubsection{\texorpdfstring{swap1}{swap1}}
{\footnotesize\ttfamily template$<$class Tp , class Up  = Tp, bool Not\+Void = not std\+::is\+\_\+void$<$\+Tp$>$\+::value and not std\+::is\+\_\+void$<$\+Up$>$\+::value$>$ \\
using \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1swappable__with}{kblib\+::fakestd\+::detail\+::swappable\+\_\+with}}$<$ Tp, Up, Not\+Void $>$\+::swap1 =  decltype((\mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1swappable__with_a921c5dff8c0d25033136c5003f5b8b2c}{test\+\_\+swap}}$<$Tp, Up$>$(0)))}



Definition at line \mbox{\hyperlink{fakestd_8h_source_l00221}{221}} of file \mbox{\hyperlink{fakestd_8h_source}{fakestd.\+h}}.

\mbox{\Hypertarget{structkblib_1_1fakestd_1_1detail_1_1swappable__with_a7b5c2e2b0270662882da4bb85339a216}\label{structkblib_1_1fakestd_1_1detail_1_1swappable__with_a7b5c2e2b0270662882da4bb85339a216}} 
\index{kblib::fakestd::detail::swappable\_with$<$ Tp, Up, NotVoid $>$@{kblib::fakestd::detail::swappable\_with$<$ Tp, Up, NotVoid $>$}!swap2@{swap2}}
\index{swap2@{swap2}!kblib::fakestd::detail::swappable\_with$<$ Tp, Up, NotVoid $>$@{kblib::fakestd::detail::swappable\_with$<$ Tp, Up, NotVoid $>$}}
\doxysubsubsection{\texorpdfstring{swap2}{swap2}}
{\footnotesize\ttfamily template$<$class Tp , class Up  = Tp, bool Not\+Void = not std\+::is\+\_\+void$<$\+Tp$>$\+::value and not std\+::is\+\_\+void$<$\+Up$>$\+::value$>$ \\
using \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1swappable__with}{kblib\+::fakestd\+::detail\+::swappable\+\_\+with}}$<$ Tp, Up, Not\+Void $>$\+::swap2 =  decltype((\mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1swappable__with_a921c5dff8c0d25033136c5003f5b8b2c}{test\+\_\+swap}}$<$Up, Tp$>$(0)))}



Definition at line \mbox{\hyperlink{fakestd_8h_source_l00222}{222}} of file \mbox{\hyperlink{fakestd_8h_source}{fakestd.\+h}}.



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{structkblib_1_1fakestd_1_1detail_1_1swappable__with_a921c5dff8c0d25033136c5003f5b8b2c}\label{structkblib_1_1fakestd_1_1detail_1_1swappable__with_a921c5dff8c0d25033136c5003f5b8b2c}} 
\index{kblib::fakestd::detail::swappable\_with$<$ Tp, Up, NotVoid $>$@{kblib::fakestd::detail::swappable\_with$<$ Tp, Up, NotVoid $>$}!test\_swap@{test\_swap}}
\index{test\_swap@{test\_swap}!kblib::fakestd::detail::swappable\_with$<$ Tp, Up, NotVoid $>$@{kblib::fakestd::detail::swappable\_with$<$ Tp, Up, NotVoid $>$}}
\doxysubsubsection{\texorpdfstring{test\_swap()}{test\_swap()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class Tp , class Up  = Tp, bool Not\+Void = not std\+::is\+\_\+void$<$\+Tp$>$\+::value and not std\+::is\+\_\+void$<$\+Up$>$\+::value$>$ \\
template$<$class LHS , class RHS $>$ \\
static decltype(\mbox{\hyperlink{namespacekblib_a4aadfdece3872e99551aa812ac3bac27}{swap}}(std\+::declval$<$ LHS $>$(), std\+::declval$<$ RHS $>$())) \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1swappable__with}{kblib\+::fakestd\+::detail\+::swappable\+\_\+with}}$<$ Tp, Up, Not\+Void $>$\+::test\+\_\+swap (\begin{DoxyParamCaption}\item[{int}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

\mbox{\Hypertarget{structkblib_1_1fakestd_1_1detail_1_1swappable__with_aef6e8d4a031d000e4dfaf5ae482f70b3}\label{structkblib_1_1fakestd_1_1detail_1_1swappable__with_aef6e8d4a031d000e4dfaf5ae482f70b3}} 
\index{kblib::fakestd::detail::swappable\_with$<$ Tp, Up, NotVoid $>$@{kblib::fakestd::detail::swappable\_with$<$ Tp, Up, NotVoid $>$}!test\_swap@{test\_swap}}
\index{test\_swap@{test\_swap}!kblib::fakestd::detail::swappable\_with$<$ Tp, Up, NotVoid $>$@{kblib::fakestd::detail::swappable\_with$<$ Tp, Up, NotVoid $>$}}
\doxysubsubsection{\texorpdfstring{test\_swap()}{test\_swap()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class Tp , class Up  = Tp, bool Not\+Void = not std\+::is\+\_\+void$<$\+Tp$>$\+::value and not std\+::is\+\_\+void$<$\+Up$>$\+::value$>$ \\
template$<$class , class $>$ \\
static \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1nat}{nat}} \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1swappable__with}{kblib\+::fakestd\+::detail\+::swappable\+\_\+with}}$<$ Tp, Up, Not\+Void $>$\+::test\+\_\+swap (\begin{DoxyParamCaption}\item[{long}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{structkblib_1_1fakestd_1_1detail_1_1swappable__with_a6be72f9d93956ceb9ee2cb6c510ac276}\label{structkblib_1_1fakestd_1_1detail_1_1swappable__with_a6be72f9d93956ceb9ee2cb6c510ac276}} 
\index{kblib::fakestd::detail::swappable\_with$<$ Tp, Up, NotVoid $>$@{kblib::fakestd::detail::swappable\_with$<$ Tp, Up, NotVoid $>$}!value@{value}}
\index{value@{value}!kblib::fakestd::detail::swappable\_with$<$ Tp, Up, NotVoid $>$@{kblib::fakestd::detail::swappable\_with$<$ Tp, Up, NotVoid $>$}}
\doxysubsubsection{\texorpdfstring{value}{value}}
{\footnotesize\ttfamily template$<$class Tp , class Up  = Tp, bool Not\+Void = not std\+::is\+\_\+void$<$\+Tp$>$\+::value and not std\+::is\+\_\+void$<$\+Up$>$\+::value$>$ \\
const bool \mbox{\hyperlink{structkblib_1_1fakestd_1_1detail_1_1swappable__with}{kblib\+::fakestd\+::detail\+::swappable\+\_\+with}}$<$ Tp, Up, Not\+Void $>$\+::value\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= not std::is\_same<swap1, nat>::value}
\DoxyCodeLine{                                   and not std::is\_same<swap2, nat>::value}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{fakestd_8h_source_l00224}{224}} 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}
