\hypertarget{structkblib_1_1default__copy}{}\doxysection{kblib\+::default\+\_\+copy\texorpdfstring{$<$}{<} Obj, copyable \texorpdfstring{$>$}{>} Struct Template Reference}
\label{structkblib_1_1default__copy}\index{kblib::default\_copy$<$ Obj, copyable $>$@{kblib::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{structkblib_1_1default__copy_a65e84579c624145f275dfa5479299f8f}{default\+\_\+copy}} () noexcept=default
\begin{DoxyCompactList}\small\item\em Constructs an object which does nothing. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename T $>$ }\\\mbox{\hyperlink{structkblib_1_1default__copy_ace51156797bf1b4f023248c59f661355}{default\+\_\+copy}} (T $\ast$) noexcept
\begin{DoxyCompactList}\small\item\em Constructs an object which can copy a T. \end{DoxyCompactList}\item 
auto \mbox{\hyperlink{structkblib_1_1default__copy_a41d2389f432032c876adf800d72e5aac}{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\+::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{structkblib_1_1default__copy_a65e84579c624145f275dfa5479299f8f}\label{structkblib_1_1default__copy_a65e84579c624145f275dfa5479299f8f}} 
\index{kblib::default\_copy$<$ Obj, copyable $>$@{kblib::default\_copy$<$ Obj, copyable $>$}!default\_copy@{default\_copy}}
\index{default\_copy@{default\_copy}!kblib::default\_copy$<$ Obj, copyable $>$@{kblib::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{structkblib_1_1default__copy}{kblib\+::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{structkblib_1_1default__copy_ace51156797bf1b4f023248c59f661355}\label{structkblib_1_1default__copy_ace51156797bf1b4f023248c59f661355}} 
\index{kblib::default\_copy$<$ Obj, copyable $>$@{kblib::default\_copy$<$ Obj, copyable $>$}!default\_copy@{default\_copy}}
\index{default\_copy@{default\_copy}!kblib::default\_copy$<$ Obj, copyable $>$@{kblib::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{structkblib_1_1default__copy}{kblib\+::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{structkblib_1_1default__copy_a41d2389f432032c876adf800d72e5aac}\label{structkblib_1_1default__copy_a41d2389f432032c876adf800d72e5aac}} 
\index{kblib::default\_copy$<$ Obj, copyable $>$@{kblib::default\_copy$<$ Obj, copyable $>$}!copy@{copy}}
\index{copy@{copy}!kblib::default\_copy$<$ Obj, copyable $>$@{kblib::default\_copy$<$ Obj, copyable $>$}}
\doxysubsubsection{\texorpdfstring{copy()}{copy()}}
{\footnotesize\ttfamily template$<$typename Obj , bool copyable$>$ \\
auto \mbox{\hyperlink{structkblib_1_1default__copy}{kblib\+::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}
