\hypertarget{struct_k_b_l_i_b___n_s_1_1detail_1_1str__type_3_01_t_00_01void_01_4}{}\doxysection{KBLIB\+\_\+\+NS\+::detail\+::str\+\_\+type\texorpdfstring{$<$}{<} T, void \texorpdfstring{$>$}{>} Struct Template Reference} \label{struct_k_b_l_i_b___n_s_1_1detail_1_1str__type_3_01_t_00_01void_01_4}\index{KBLIB\_NS::detail::str\_type$<$ T, void $>$@{KBLIB\_NS::detail::str\_type$<$ T, void $>$}} Performs a natural conversion to a stringlike type. {\ttfamily \#include $<$kblib/stringops.\+h$>$} \doxysubsection*{Public Types} \begin{DoxyCompactItemize} \item using \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1str__type_3_01_t_00_01void_01_4_a7d695d77bae238d790195ac9c21700a0}{type}} = T \begin{DoxyCompactList}\small\item\em Non-\/arithmetic types are either already stringlike, or have no natural conversion to std\+::string. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection*{Static Public Member Functions} \begin{DoxyCompactItemize} \item static auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1str__type_3_01_t_00_01void_01_4_a85bf721d263001422ac18196618bd249}{convert}} (T \&\&in) -\/$>$ \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1str__type_3_01_t_00_01void_01_4_a7d695d77bae238d790195ac9c21700a0}{type}} \begin{DoxyCompactList}\small\item\em Returns the argument unchanged. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection{Detailed Description} \subsubsection*{template$<$typename T$>$\newline struct KBLIB\+\_\+\+NS\+::detail\+::str\+\_\+type$<$ T, void $>$} Performs a natural conversion to a stringlike type. A natural conversion for an arithmetic type is std\+::to\+\_\+string. For any other type, there is no assumed transformation, so they are passed through unchanged. \begin{DoxyNote}{Note} This is primarily an implementation detail of concat, provided in the main namespace because it might be generally useful. This partial specialization is for non-\/arithmetic types. \end{DoxyNote} Definition at line \mbox{\hyperlink{stringops_8h_source_l00141}{141}} of file \mbox{\hyperlink{stringops_8h_source}{stringops.\+h}}. \doxysubsection{Member Typedef Documentation} \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1detail_1_1str__type_3_01_t_00_01void_01_4_a7d695d77bae238d790195ac9c21700a0}\label{struct_k_b_l_i_b___n_s_1_1detail_1_1str__type_3_01_t_00_01void_01_4_a7d695d77bae238d790195ac9c21700a0}} \index{KBLIB\_NS::detail::str\_type$<$ T, void $>$@{KBLIB\_NS::detail::str\_type$<$ T, void $>$}!type@{type}} \index{type@{type}!KBLIB\_NS::detail::str\_type$<$ T, void $>$@{KBLIB\_NS::detail::str\_type$<$ T, void $>$}} \doxysubsubsection{\texorpdfstring{type}{type}} {\footnotesize\ttfamily template$<$typename T $>$ \\ using \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1str__type}{KBLIB\+\_\+\+NS\+::detail\+::str\+\_\+type}}$<$ T, void $>$\+::type = T} Non-\/arithmetic types are either already stringlike, or have no natural conversion to std\+::string. Definition at line \mbox{\hyperlink{stringops_8h_source_l00146}{146}} of file \mbox{\hyperlink{stringops_8h_source}{stringops.\+h}}. \doxysubsection{Member Function Documentation} \mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1detail_1_1str__type_3_01_t_00_01void_01_4_a85bf721d263001422ac18196618bd249}\label{struct_k_b_l_i_b___n_s_1_1detail_1_1str__type_3_01_t_00_01void_01_4_a85bf721d263001422ac18196618bd249}} \index{KBLIB\_NS::detail::str\_type$<$ T, void $>$@{KBLIB\_NS::detail::str\_type$<$ T, void $>$}!convert@{convert}} \index{convert@{convert}!KBLIB\_NS::detail::str\_type$<$ T, void $>$@{KBLIB\_NS::detail::str\_type$<$ T, void $>$}} \doxysubsubsection{\texorpdfstring{convert()}{convert()}} {\footnotesize\ttfamily template$<$typename T $>$ \\ static auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1str__type}{KBLIB\+\_\+\+NS\+::detail\+::str\+\_\+type}}$<$ T, void $>$\+::convert (\begin{DoxyParamCaption}\item[{T \&\&}]{in }\end{DoxyParamCaption}) -\/$>$ \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1str__type_3_01_t_00_01void_01_4_a7d695d77bae238d790195ac9c21700a0}{type}} \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} Returns the argument unchanged. Definition at line \mbox{\hyperlink{stringops_8h_source_l00150}{150}} of file \mbox{\hyperlink{stringops_8h_source}{stringops.\+h}}. The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} \item kblib/\mbox{\hyperlink{stringops_8h}{stringops.\+h}}\end{DoxyCompactItemize}