\hypertarget{struct_k_b_l_i_b___n_s_1_1default__copy}{}\doxysection{KBLIB\+\_\+\+NS\+::default\+\_\+copy\texorpdfstring{$<$}{<} Obj, copyable \texorpdfstring{$>$}{>} Struct Template Reference}
\label{struct_k_b_l_i_b___n_s_1_1default__copy}\index{KBLIB\_NS::default\_copy$<$ Obj, copyable $>$@{KBLIB\_NS::default\_copy$<$ Obj, copyable $>$}}


Implements type erasure for copy construction.  




{\ttfamily \#include $<$kblib/poly\+\_\+obj.\+h$>$}

\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1default__copy_a529772d7002c93ff4401101eee07e698}{default\+\_\+copy}} () noexcept=default
\begin{DoxyCompactList}\small\item\em Constructs an object which does nothing. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename T $>$ }\\\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1default__copy_aab5cead7b166c7b5b2e87167e523931c}{default\+\_\+copy}} (T $\ast$) noexcept
\begin{DoxyCompactList}\small\item\em Constructs an object which can copy a T. \end{DoxyCompactList}\item 
auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1default__copy_aa15144d23d1a5a341c5d182dae0ff2f6}{copy}} (void $\ast$dest, const Obj $\ast$from) -\/$>$ Obj $\ast$
\begin{DoxyCompactList}\small\item\em Copies an object of previously-\/established type. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename Obj, bool copyable$>$\newline
struct KBLIB\+\_\+\+NS\+::default\+\_\+copy$<$ Obj, copyable $>$}
Implements type erasure for copy construction. 

Definition at line \mbox{\hyperlink{poly__obj_8h_source_l00257}{257}} of file \mbox{\hyperlink{poly__obj_8h_source}{poly\+\_\+obj.\+h}}.



\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1default__copy_a529772d7002c93ff4401101eee07e698}\label{struct_k_b_l_i_b___n_s_1_1default__copy_a529772d7002c93ff4401101eee07e698}} 
\index{KBLIB\_NS::default\_copy$<$ Obj, copyable $>$@{KBLIB\_NS::default\_copy$<$ Obj, copyable $>$}!default\_copy@{default\_copy}}
\index{default\_copy@{default\_copy}!KBLIB\_NS::default\_copy$<$ Obj, copyable $>$@{KBLIB\_NS::default\_copy$<$ Obj, copyable $>$}}
\doxysubsubsection{\texorpdfstring{default\_copy()}{default\_copy()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename Obj , bool copyable$>$ \\
\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1default__copy}{KBLIB\+\_\+\+NS\+::default\+\_\+copy}}$<$ Obj, copyable $>$\+::default\+\_\+copy (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}, {\ttfamily [noexcept]}}



Constructs an object which does nothing. 

\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1default__copy_aab5cead7b166c7b5b2e87167e523931c}\label{struct_k_b_l_i_b___n_s_1_1default__copy_aab5cead7b166c7b5b2e87167e523931c}} 
\index{KBLIB\_NS::default\_copy$<$ Obj, copyable $>$@{KBLIB\_NS::default\_copy$<$ Obj, copyable $>$}!default\_copy@{default\_copy}}
\index{default\_copy@{default\_copy}!KBLIB\_NS::default\_copy$<$ Obj, copyable $>$@{KBLIB\_NS::default\_copy$<$ Obj, copyable $>$}}
\doxysubsubsection{\texorpdfstring{default\_copy()}{default\_copy()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename Obj , bool copyable$>$ \\
template$<$typename T $>$ \\
\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1default__copy}{KBLIB\+\_\+\+NS\+::default\+\_\+copy}}$<$ Obj, copyable $>$\+::default\+\_\+copy (\begin{DoxyParamCaption}\item[{T $\ast$}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}, {\ttfamily [noexcept]}}



Constructs an object which can copy a T. 



Definition at line \mbox{\hyperlink{poly__obj_8h_source_l00271}{271}} of file \mbox{\hyperlink{poly__obj_8h_source}{poly\+\_\+obj.\+h}}.



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1default__copy_aa15144d23d1a5a341c5d182dae0ff2f6}\label{struct_k_b_l_i_b___n_s_1_1default__copy_aa15144d23d1a5a341c5d182dae0ff2f6}} 
\index{KBLIB\_NS::default\_copy$<$ Obj, copyable $>$@{KBLIB\_NS::default\_copy$<$ Obj, copyable $>$}!copy@{copy}}
\index{copy@{copy}!KBLIB\_NS::default\_copy$<$ Obj, copyable $>$@{KBLIB\_NS::default\_copy$<$ Obj, copyable $>$}}
\doxysubsubsection{\texorpdfstring{copy()}{copy()}}
{\footnotesize\ttfamily template$<$typename Obj , bool copyable$>$ \\
auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1default__copy}{KBLIB\+\_\+\+NS\+::default\+\_\+copy}}$<$ Obj, copyable $>$\+::copy (\begin{DoxyParamCaption}\item[{void $\ast$}]{dest,  }\item[{const Obj $\ast$}]{from }\end{DoxyParamCaption}) -\/$>$ Obj$\ast$ \hspace{0.3cm}{\ttfamily [inline]}}



Copies an object of previously-\/established type. 



Definition at line \mbox{\hyperlink{poly__obj_8h_source_l00275}{275}} of file \mbox{\hyperlink{poly__obj_8h_source}{poly\+\_\+obj.\+h}}.



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
kblib/\mbox{\hyperlink{poly__obj_8h}{poly\+\_\+obj.\+h}}\end{DoxyCompactItemize}
