\hypertarget{namespace_k_b_l_i_b___n_s_1_1detail__sort}{}\doxysection{KBLIB\+\_\+\+NS\+::detail\+\_\+sort Namespace Reference}
\label{namespace_k_b_l_i_b___n_s_1_1detail__sort}\index{KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}}
\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail__sort_1_1sort__transform__impl}{sort\+\_\+transform\+\_\+impl}}
\begin{DoxyCompactList}\small\item\em Sort data after applying an arbitrary transformation to it. The primary template handles the general case of arbitrary transformation and arbitrary compare predicate. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail__sort_1_1sort__transform__impl_3_01_random_access_it_00_01_unar11796da988c7fdaa8949d61d2e25db60}{sort\+\_\+transform\+\_\+impl$<$ Random\+Access\+It, Unary\+Operation, Binary\+Predicate, Sort\+Key, small\+\_\+size, true, false, false, false $>$}}
\begin{DoxyCompactList}\small\item\em Sort implementation for pointer to member object of non-\/fundamental type, so sort keys are constant time to extract (this is most similar to a general \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail__sort_a4252cc2ee4c8cd7ef1617eda8340a7de}{sort()}}) \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail__sort_1_1sort__transform__impl_3_01_random_access_it_00_01_unar85cc5ab09e07b2c784e4a47df3538cb7}{sort\+\_\+transform\+\_\+impl$<$ Random\+Access\+It, Unary\+Operation, std\+::greater$<$ Less\+T $>$, Sort\+Key, small\+\_\+size, M, false, true, false $>$}}
\begin{DoxyCompactList}\small\item\em Sort implementation for key of radix sortable type type with reverse sorting. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail__sort_1_1sort__transform__impl_3_01_random_access_it_00_01_unar3fbf5797453c20c1fe6348abce1f5280}{sort\+\_\+transform\+\_\+impl$<$ Random\+Access\+It, Unary\+Operation, std\+::greater$<$ Less\+T $>$, Sort\+Key, small\+\_\+size, true, true, false, false $>$}}
\begin{DoxyCompactList}\small\item\em Sort implementation for pointer to member object of fundamental non-\/integral type with reverse sorting, so sort keys are constant time to extract and compare. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail__sort_1_1sort__transform__impl_3_01_random_access_it_00_01_unard54ed55186e309cf9ae3abe0e4fbbfe3}{sort\+\_\+transform\+\_\+impl$<$ Random\+Access\+It, Unary\+Operation, std\+::greater$<$ Less\+T $>$, Sort\+Key, small\+\_\+size, true, true, true, true $>$}}
\begin{DoxyCompactList}\small\item\em Sort implementation for pointer to member object of integral type with reverse sorting, so we can do radix sort. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail__sort_1_1sort__transform__impl_3_01_random_access_it_00_01_unar455371df59cce45560f61276aae40146}{sort\+\_\+transform\+\_\+impl$<$ Random\+Access\+It, Unary\+Operation, std\+::less$<$ Less\+T $>$, Sort\+Key, small\+\_\+size, M, false, true, false $>$}}
\begin{DoxyCompactList}\small\item\em Sort implementation for key of radix sortable type type with default sorting. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail__sort_1_1sort__transform__impl_3_01_random_access_it_00_01_unar854b7dd7bea3aa5159fd5e8711b8f139}{sort\+\_\+transform\+\_\+impl$<$ Random\+Access\+It, Unary\+Operation, std\+::less$<$ Less\+T $>$, Sort\+Key, small\+\_\+size, true, true, false, false $>$}}
\begin{DoxyCompactList}\small\item\em Sort implementation for pointer to member object of fundamental non-\/integral type with default sorting, so sort keys are constant time to extract and compare. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail__sort_1_1sort__transform__impl_3_01_random_access_it_00_01_unar264e9549dbc1297ac49602c7b97d04b3}{sort\+\_\+transform\+\_\+impl$<$ Random\+Access\+It, Unary\+Operation, std\+::less$<$ Less\+T $>$, Sort\+Key, small\+\_\+size, true, true, true, true $>$}}
\begin{DoxyCompactList}\small\item\em Sort implementation for pointer to member object of integral type with default sorting, so we can do radix sort. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum class \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail__sort_a44e0b9ad33468174fde6534fd9a65a93}{sort\+\_\+direction}} \{ \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail__sort_a44e0b9ad33468174fde6534fd9a65a93a9c9ab624360885fcf93b7643c93b6748}{ascending}}
, \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail__sort_a44e0b9ad33468174fde6534fd9a65a93ab19e9805fd7727c52ca04dfa3d24a2e5}{descending}}
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename Random\+Access\+It , typename Compare $>$ }\\constexpr auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail__sort_a4252cc2ee4c8cd7ef1617eda8340a7de}{sort}} (Random\+Access\+It, const Random\+Access\+It, Compare) -\/$>$ void
\item 
{\footnotesize template$<$typename Random\+Access\+It , typename Compare $>$ }\\constexpr auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail__sort_a7e6097b5e61ed37d8beefddc72af7fd8}{stable\+\_\+sort}} (Random\+Access\+It, const Random\+Access\+It, Compare) -\/$>$ void
\item 
{\footnotesize template$<$typename Random\+Access\+It , typename Compare , std\+::size\+\_\+t small\+\_\+size$>$ }\\constexpr auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail__sort_a5574965fe175456b99140586b756204a}{merge\+\_\+sort}} (Random\+Access\+It begin, const Random\+Access\+It end, Compare cmp) -\/$>$ void
\item 
{\footnotesize template$<$typename Random\+Access\+It , typename Compare , std\+::size\+\_\+t small\+\_\+size$>$ }\\constexpr auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail__sort_a781a15b327d4850640b4980d404b849c}{heap\+\_\+sort}} (Random\+Access\+It begin, const Random\+Access\+It end, Compare cmp) -\/$>$ void
\item 
{\footnotesize template$<$\mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail__sort_a44e0b9ad33468174fde6534fd9a65a93}{sort\+\_\+direction}} dir, typename Random\+Access\+It , typename Projection $>$ }\\constexpr auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail__sort_afab374c740269f5bcb372a11180a0c8f}{radix\+\_\+sort\+\_\+i}} (Random\+Access\+It begin, const Random\+Access\+It end, Projection proj) -\/$>$ void
\item 
{\footnotesize template$<$\mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail__sort_a44e0b9ad33468174fde6534fd9a65a93}{sort\+\_\+direction}} dir, typename Random\+Access\+It , typename Projection $>$ }\\constexpr auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail__sort_a1f4eec8fcf7e6567d4da8b3f17dd7397}{radix\+\_\+sort\+\_\+s}} (Random\+Access\+It begin, const Random\+Access\+It end, Projection proj) -\/$>$ void
\item 
{\footnotesize template$<$std\+::size\+\_\+t size$>$ }\\constexpr auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail__sort_add9d019e1f98fabac49c0c7d130fb342}{make\+\_\+array\+\_\+for}} (std\+::false\+\_\+type) -\/$>$ kblib\+::containing\+\_\+ptr$<$ std\+::array$<$ std\+::size\+\_\+t, \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a4c92ee94a7a250948d44a29b0e7b3e78}{size}} $>$ $>$
\item 
{\footnotesize template$<$std\+::size\+\_\+t size$>$ }\\auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail__sort_a2f59fbc035075c5d405eb2c135ad04c0}{make\+\_\+array\+\_\+for}} (std\+::true\+\_\+type) -\/$>$ kblib\+::heap\+\_\+value$<$ std\+::array$<$ std\+::size\+\_\+t, \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a4c92ee94a7a250948d44a29b0e7b3e78}{size}}+1 $>$ $>$
\item 
{\footnotesize template$<$\mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail__sort_a44e0b9ad33468174fde6534fd9a65a93}{sort\+\_\+direction}} dir, typename Random\+Access\+It1 , typename Random\+Access\+It2 , typename Projection $>$ }\\constexpr auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail__sort_a366aabbf8232d3bfea4d6a922f34590a}{counting\+\_\+sort}} (Random\+Access\+It1 begin, const Random\+Access\+It1 end, Random\+Access\+It2 d\+\_\+begin, Projection proj) -\/$>$ void
\end{DoxyCompactItemize}


\doxysubsection{Enumeration Type Documentation}
\mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail__sort_a44e0b9ad33468174fde6534fd9a65a93}\label{namespace_k_b_l_i_b___n_s_1_1detail__sort_a44e0b9ad33468174fde6534fd9a65a93}} 
\index{KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}!sort\_direction@{sort\_direction}}
\index{sort\_direction@{sort\_direction}!KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}}
\doxysubsubsection{\texorpdfstring{sort\_direction}{sort\_direction}}
{\footnotesize\ttfamily enum class \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail__sort_a44e0b9ad33468174fde6534fd9a65a93}{KBLIB\+\_\+\+NS\+::detail\+\_\+sort\+::sort\+\_\+direction}}\hspace{0.3cm}{\ttfamily [strong]}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{ascending@{ascending}!KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}}\index{KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}!ascending@{ascending}}}\mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail__sort_a44e0b9ad33468174fde6534fd9a65a93a9c9ab624360885fcf93b7643c93b6748}\label{namespace_k_b_l_i_b___n_s_1_1detail__sort_a44e0b9ad33468174fde6534fd9a65a93a9c9ab624360885fcf93b7643c93b6748}} 
ascending&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{descending@{descending}!KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}}\index{KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}!descending@{descending}}}\mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail__sort_a44e0b9ad33468174fde6534fd9a65a93ab19e9805fd7727c52ca04dfa3d24a2e5}\label{namespace_k_b_l_i_b___n_s_1_1detail__sort_a44e0b9ad33468174fde6534fd9a65a93ab19e9805fd7727c52ca04dfa3d24a2e5}} 
descending&\\
\hline

\end{DoxyEnumFields}


Definition at line \mbox{\hyperlink{sort_8h_source_l00394}{394}} of file \mbox{\hyperlink{sort_8h_source}{sort.\+h}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail__sort_a366aabbf8232d3bfea4d6a922f34590a}\label{namespace_k_b_l_i_b___n_s_1_1detail__sort_a366aabbf8232d3bfea4d6a922f34590a}} 
\index{KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}!counting\_sort@{counting\_sort}}
\index{counting\_sort@{counting\_sort}!KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}}
\doxysubsubsection{\texorpdfstring{counting\_sort()}{counting\_sort()}}
{\footnotesize\ttfamily template$<$\mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail__sort_a44e0b9ad33468174fde6534fd9a65a93}{sort\+\_\+direction}} dir, typename Random\+Access\+It1 , typename Random\+Access\+It2 , typename Projection $>$ \\
constexpr auto KBLIB\+\_\+\+NS\+::detail\+\_\+sort\+::counting\+\_\+sort (\begin{DoxyParamCaption}\item[{Random\+Access\+It1}]{begin,  }\item[{const Random\+Access\+It1}]{end,  }\item[{Random\+Access\+It2}]{d\+\_\+begin,  }\item[{Projection}]{proj }\end{DoxyParamCaption}) -\/$>$ void \hspace{0.3cm}{\ttfamily [constexpr]}}



Definition at line \mbox{\hyperlink{sort_8h_source_l00437}{437}} of file \mbox{\hyperlink{sort_8h_source}{sort.\+h}}.

\mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail__sort_a781a15b327d4850640b4980d404b849c}\label{namespace_k_b_l_i_b___n_s_1_1detail__sort_a781a15b327d4850640b4980d404b849c}} 
\index{KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}!heap\_sort@{heap\_sort}}
\index{heap\_sort@{heap\_sort}!KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}}
\doxysubsubsection{\texorpdfstring{heap\_sort()}{heap\_sort()}}
{\footnotesize\ttfamily template$<$typename Random\+Access\+It , typename Compare , std\+::size\+\_\+t small\+\_\+size$>$ \\
constexpr auto KBLIB\+\_\+\+NS\+::detail\+\_\+sort\+::heap\+\_\+sort (\begin{DoxyParamCaption}\item[{Random\+Access\+It}]{begin,  }\item[{const Random\+Access\+It}]{end,  }\item[{Compare}]{cmp }\end{DoxyParamCaption}) -\/$>$ void \hspace{0.3cm}{\ttfamily [constexpr]}}



Definition at line \mbox{\hyperlink{sort_8h_source_l00385}{385}} of file \mbox{\hyperlink{sort_8h_source}{sort.\+h}}.

\mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail__sort_add9d019e1f98fabac49c0c7d130fb342}\label{namespace_k_b_l_i_b___n_s_1_1detail__sort_add9d019e1f98fabac49c0c7d130fb342}} 
\index{KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}!make\_array\_for@{make\_array\_for}}
\index{make\_array\_for@{make\_array\_for}!KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}}
\doxysubsubsection{\texorpdfstring{make\_array\_for()}{make\_array\_for()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$std\+::size\+\_\+t size$>$ \\
constexpr auto KBLIB\+\_\+\+NS\+::detail\+\_\+sort\+::make\+\_\+array\+\_\+for (\begin{DoxyParamCaption}\item[{std\+::false\+\_\+type}]{ }\end{DoxyParamCaption}) -\/$>$ kblib\+::containing\+\_\+ptr$<$std\+::array$<$std\+::size\+\_\+t, \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a4c92ee94a7a250948d44a29b0e7b3e78}{size}}$>$$>$ \hspace{0.3cm}{\ttfamily [constexpr]}}



Definition at line \mbox{\hyperlink{sort_8h_source_l00425}{425}} of file \mbox{\hyperlink{sort_8h_source}{sort.\+h}}.

\mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail__sort_a2f59fbc035075c5d405eb2c135ad04c0}\label{namespace_k_b_l_i_b___n_s_1_1detail__sort_a2f59fbc035075c5d405eb2c135ad04c0}} 
\index{KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}!make\_array\_for@{make\_array\_for}}
\index{make\_array\_for@{make\_array\_for}!KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}}
\doxysubsubsection{\texorpdfstring{make\_array\_for()}{make\_array\_for()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$std\+::size\+\_\+t size$>$ \\
auto KBLIB\+\_\+\+NS\+::detail\+\_\+sort\+::make\+\_\+array\+\_\+for (\begin{DoxyParamCaption}\item[{std\+::true\+\_\+type}]{ }\end{DoxyParamCaption}) -\/$>$ kblib\+::heap\+\_\+value$<$std\+::array$<$std\+::size\+\_\+t, \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a4c92ee94a7a250948d44a29b0e7b3e78}{size}} + 1$>$$>$ }



Definition at line \mbox{\hyperlink{sort_8h_source_l00430}{430}} of file \mbox{\hyperlink{sort_8h_source}{sort.\+h}}.

\mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail__sort_a5574965fe175456b99140586b756204a}\label{namespace_k_b_l_i_b___n_s_1_1detail__sort_a5574965fe175456b99140586b756204a}} 
\index{KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}!merge\_sort@{merge\_sort}}
\index{merge\_sort@{merge\_sort}!KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}}
\doxysubsubsection{\texorpdfstring{merge\_sort()}{merge\_sort()}}
{\footnotesize\ttfamily template$<$typename Random\+Access\+It , typename Compare , std\+::size\+\_\+t small\+\_\+size$>$ \\
constexpr auto KBLIB\+\_\+\+NS\+::detail\+\_\+sort\+::merge\+\_\+sort (\begin{DoxyParamCaption}\item[{Random\+Access\+It}]{begin,  }\item[{const Random\+Access\+It}]{end,  }\item[{Compare}]{cmp }\end{DoxyParamCaption}) -\/$>$ void \hspace{0.3cm}{\ttfamily [constexpr]}}



Definition at line \mbox{\hyperlink{sort_8h_source_l00370}{370}} of file \mbox{\hyperlink{sort_8h_source}{sort.\+h}}.

\mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail__sort_afab374c740269f5bcb372a11180a0c8f}\label{namespace_k_b_l_i_b___n_s_1_1detail__sort_afab374c740269f5bcb372a11180a0c8f}} 
\index{KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}!radix\_sort\_i@{radix\_sort\_i}}
\index{radix\_sort\_i@{radix\_sort\_i}!KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}}
\doxysubsubsection{\texorpdfstring{radix\_sort\_i()}{radix\_sort\_i()}}
{\footnotesize\ttfamily template$<$\mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail__sort_a44e0b9ad33468174fde6534fd9a65a93}{sort\+\_\+direction}} dir, typename Random\+Access\+It , typename Projection $>$ \\
constexpr auto KBLIB\+\_\+\+NS\+::detail\+\_\+sort\+::radix\+\_\+sort\+\_\+i (\begin{DoxyParamCaption}\item[{Random\+Access\+It}]{begin,  }\item[{const Random\+Access\+It}]{end,  }\item[{Projection}]{proj }\end{DoxyParamCaption}) -\/$>$ void \hspace{0.3cm}{\ttfamily [constexpr]}}



Definition at line \mbox{\hyperlink{sort_8h_source_l00397}{397}} of file \mbox{\hyperlink{sort_8h_source}{sort.\+h}}.

\mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail__sort_a1f4eec8fcf7e6567d4da8b3f17dd7397}\label{namespace_k_b_l_i_b___n_s_1_1detail__sort_a1f4eec8fcf7e6567d4da8b3f17dd7397}} 
\index{KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}!radix\_sort\_s@{radix\_sort\_s}}
\index{radix\_sort\_s@{radix\_sort\_s}!KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}}
\doxysubsubsection{\texorpdfstring{radix\_sort\_s()}{radix\_sort\_s()}}
{\footnotesize\ttfamily template$<$\mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail__sort_a44e0b9ad33468174fde6534fd9a65a93}{sort\+\_\+direction}} dir, typename Random\+Access\+It , typename Projection $>$ \\
constexpr auto KBLIB\+\_\+\+NS\+::detail\+\_\+sort\+::radix\+\_\+sort\+\_\+s (\begin{DoxyParamCaption}\item[{Random\+Access\+It}]{begin,  }\item[{const Random\+Access\+It}]{end,  }\item[{Projection}]{proj }\end{DoxyParamCaption}) -\/$>$ void \hspace{0.3cm}{\ttfamily [constexpr]}}



Definition at line \mbox{\hyperlink{sort_8h_source_l00407}{407}} of file \mbox{\hyperlink{sort_8h_source}{sort.\+h}}.

\mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail__sort_a4252cc2ee4c8cd7ef1617eda8340a7de}\label{namespace_k_b_l_i_b___n_s_1_1detail__sort_a4252cc2ee4c8cd7ef1617eda8340a7de}} 
\index{KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}!sort@{sort}}
\index{sort@{sort}!KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}}
\doxysubsubsection{\texorpdfstring{sort()}{sort()}}
{\footnotesize\ttfamily template$<$typename Random\+Access\+It , typename Compare $>$ \\
constexpr auto KBLIB\+\_\+\+NS\+::detail\+\_\+sort\+::sort (\begin{DoxyParamCaption}\item[{Random\+Access\+It}]{,  }\item[{const}]{Random\+Access\+It,  }\item[{Compare}]{ }\end{DoxyParamCaption}) -\/$>$ void \hspace{0.3cm}{\ttfamily [constexpr]}}



Definition at line \mbox{\hyperlink{sort_8h_source_l00364}{364}} of file \mbox{\hyperlink{sort_8h_source}{sort.\+h}}.

\mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail__sort_a7e6097b5e61ed37d8beefddc72af7fd8}\label{namespace_k_b_l_i_b___n_s_1_1detail__sort_a7e6097b5e61ed37d8beefddc72af7fd8}} 
\index{KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}!stable\_sort@{stable\_sort}}
\index{stable\_sort@{stable\_sort}!KBLIB\_NS::detail\_sort@{KBLIB\_NS::detail\_sort}}
\doxysubsubsection{\texorpdfstring{stable\_sort()}{stable\_sort()}}
{\footnotesize\ttfamily template$<$typename Random\+Access\+It , typename Compare $>$ \\
constexpr auto KBLIB\+\_\+\+NS\+::detail\+\_\+sort\+::stable\+\_\+sort (\begin{DoxyParamCaption}\item[{Random\+Access\+It}]{,  }\item[{const}]{Random\+Access\+It,  }\item[{Compare}]{ }\end{DoxyParamCaption}) -\/$>$ void \hspace{0.3cm}{\ttfamily [constexpr]}}



Definition at line \mbox{\hyperlink{sort_8h_source_l00366}{366}} of file \mbox{\hyperlink{sort_8h_source}{sort.\+h}}.

