\hypertarget{namespace_k_b_l_i_b___n_s_1_1detail}{}\doxysection{KBLIB\+\_\+\+NS\+::detail Namespace Reference} \label{namespace_k_b_l_i_b___n_s_1_1detail}\index{KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsection*{Classes} \begin{DoxyCompactItemize} \item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1apply__impl}{apply\+\_\+impl}} \item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1arithmetic__type}{arithmetic\+\_\+type}} \begin{DoxyCompactList}\small\item\em Filter only arithmetic types. \end{DoxyCompactList}\item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1arithmetic__type_3_01_t_00_01true_01_4}{arithmetic\+\_\+type$<$ T, true $>$}} \begin{DoxyCompactList}\small\item\em Filter only arithmetic types. \end{DoxyCompactList}\item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1buildiota__impl}{buildiota\+\_\+impl}} \item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1buildiota__impl_3_01_array_00_01false_01_4}{buildiota\+\_\+impl$<$ Array, false $>$}} \item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1buildiota__impl_3_01construct__with__size_3_01_container_00_01_n_01_4_00_01false_01_4}{buildiota\+\_\+impl$<$ construct\+\_\+with\+\_\+size$<$ Container, N $>$, false $>$}} \item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1buildiota__impl_3_01_container_00_01true_01_4}{buildiota\+\_\+impl$<$ Container, true $>$}} \item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1filter__signed}{filter\+\_\+signed}} \item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1filter__signed_3_01_n_00_01true_01_4}{filter\+\_\+signed$<$ N, true $>$}} \item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1filter__unsigned}{filter\+\_\+unsigned}} \item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1filter__unsigned_3_01_n_00_01true_01_4}{filter\+\_\+unsigned$<$ N, true $>$}} \item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1next__larger__signed}{next\+\_\+larger\+\_\+signed}} \item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1no__dangle}{no\+\_\+dangle}} \item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1no__dangle_3_01_t_01_6_6_01_4}{no\+\_\+dangle$<$ T \&\& $>$}} \item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1node}{node}} \item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1pointer}{pointer}} \item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1pointer_3_01_d_00_01_t_00_01void__t_3_01typename_01_d_1_1pointer_01_4_01_4}{pointer$<$ D, T, void\+\_\+t$<$ typename D\+::pointer $>$ $>$}} \item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1str__type}{str\+\_\+type}} \begin{DoxyCompactList}\small\item\em Converts arithmetic types to strings, but provides the identity transformation for all other types. \end{DoxyCompactList}\item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1str__type_3_01char_00_01char_01_4}{str\+\_\+type$<$ char, char $>$}} \begin{DoxyCompactList}\small\item\em Override for char to avoid conversion to integer. \end{DoxyCompactList}\item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1str__type_3_01char16__t_00_01char16__t_01_4}{str\+\_\+type$<$ char16\+\_\+t, char16\+\_\+t $>$}} \begin{DoxyCompactList}\small\item\em Override for char16\+\_\+t to avoid conversion to integer. \end{DoxyCompactList}\item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1str__type_3_01char32__t_00_01char32__t_01_4}{str\+\_\+type$<$ char32\+\_\+t, char32\+\_\+t $>$}} \begin{DoxyCompactList}\small\item\em Override for char32\+\_\+t to avoid conversion to integer. \end{DoxyCompactList}\item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1str__type_3_01_t_00_01void_01_4}{str\+\_\+type$<$ T, void $>$}} \begin{DoxyCompactList}\small\item\em Performs a natural conversion to a stringlike type. \end{DoxyCompactList}\item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1str__type_3_01wchar__t_00_01wchar__t_01_4}{str\+\_\+type$<$ wchar\+\_\+t, wchar\+\_\+t $>$}} \begin{DoxyCompactList}\small\item\em Override for wchar\+\_\+t to avoid conversion to integer. \end{DoxyCompactList}\item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1tag}{tag}} \item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1tuple__type}{tuple\+\_\+type}} \begin{DoxyCompactList}\small\item\em Given a std\+::variant T, provides the member type which is a tuple of the same types. \end{DoxyCompactList}\item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1tuple__type_3_01std_1_1variant_3_01_ts_8_8_8_01_4_01_4}{tuple\+\_\+type$<$ std\+::variant$<$ Ts... $>$ $>$}} \begin{DoxyCompactList}\small\item\em Given a std\+::variant T, provides the member type which is a tuple of the same types. \end{DoxyCompactList}\item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1type__list}{type\+\_\+list}} \item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1type__map}{type\+\_\+map}} \item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1type__map__el}{type\+\_\+map\+\_\+el}} \item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1value}{value}} \item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1values}{values}} \item struct \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1values_3_01std_1_1index__sequence_3_01_idxs_8_8_8_01_4_00_01_ts_8_8_8_01_4}{values$<$ std\+::index\+\_\+sequence$<$ Idxs... $>$, Ts... $>$}} \end{DoxyCompactItemize} \doxysubsection*{Typedefs} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename N $>$ }\\using \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a4ca2feb776435cad295138e923c880cd}{make\+\_\+smap\+\_\+el}} = \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1type__map__el}{type\+\_\+map\+\_\+el}}$<$ static\+\_\+cast$<$ std\+::intmax\+\_\+t $>$(\mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_afab9877cb8e222417c9060316b2dfd1b}{msb\+\_\+possible}}$<$ N $>$()), N $>$ \item {\footnotesize template$<$typename N $>$ }\\using \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a70576f3cc2b61a4b25927f8add781bd8}{filter\+\_\+signed\+\_\+t}} = typename \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1filter__signed}{filter\+\_\+signed}}$<$ N $>$\+::type \item {\footnotesize template$<$typename N $>$ }\\using \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a7e64e367f9d88635b2aad2974a90d050}{filter\+\_\+unsigned\+\_\+t}} = typename \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1filter__unsigned}{filter\+\_\+unsigned}}$<$ N $>$\+::type \item {\footnotesize template$<$typename T $>$ }\\using \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_ab5984368d8901725559a70fb4cf26ef3}{arithmetic\+\_\+type\+\_\+t}} = typename \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1arithmetic__type}{arithmetic\+\_\+type}}$<$ T $>$\+::type \begin{DoxyCompactList}\small\item\em Equivalent to typename \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1arithmetic__type_af8a59139699e4fb6bfb5bb5bcc9538c4}{arithmetic\+\_\+type$<$\+T$>$\+::type}}. \end{DoxyCompactList}\item {\footnotesize template$<$typename T $>$ }\\using \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a1d0a05faa78003be0ead46c3c4e37e7d}{str\+\_\+type\+\_\+t}} = typename \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1str__type}{str\+\_\+type}}$<$ T $>$\+::type \begin{DoxyCompactList}\small\item\em Provides the natural stringlike type for representing a T. \end{DoxyCompactList}\item {\footnotesize template$<$typename T $>$ }\\using \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a93dda48d784c343281f70bd24e3f6771}{no\+\_\+dangle\+\_\+t}} = typename \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1no__dangle}{no\+\_\+dangle}}$<$ T $>$\+::type \item {\footnotesize template$<$typename T $>$ }\\using \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_afb592cea624c91f864cccec8c3b2708b}{tuple\+\_\+type\+\_\+t}} = typename \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1tuple__type}{tuple\+\_\+type}}$<$ T $>$\+::type \end{DoxyCompactItemize} \doxysubsection*{Functions} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename F , typename... Args, \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a99591fc5eb07c4adb7ec5f0998edb928}{enable\+\_\+if\+\_\+t}}$<$ not std\+::is\+\_\+member\+\_\+pointer$<$ \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a98c871b73b590b089f642ee077b87f1e}{remove\+\_\+cvref\+\_\+t}}$<$ F $>$ $>$\+::value, int $>$ = 0$>$ }\\constexpr auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_ac992e4a88d3dffba45f75f3912cb44d4}{do\+\_\+invoke}} (F \&\&f, Args \&\&... args) noexcept(noexcept(std\+::forward$<$ F $>$(f)(std\+::forward$<$ Args $>$(args)...))) -\/$>$ decltype(auto) \item {\footnotesize template$<$typename F , typename Object , typename... Args, \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a99591fc5eb07c4adb7ec5f0998edb928}{enable\+\_\+if\+\_\+t}}$<$ not std\+::is\+\_\+pointer$<$ \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a98c871b73b590b089f642ee077b87f1e}{remove\+\_\+cvref\+\_\+t}}$<$ Object $>$ $>$\+::value and std\+::is\+\_\+member\+\_\+function\+\_\+pointer$<$ F $>$\+::value, int $>$ = 0$>$ }\\constexpr auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_af9ee8c1f1f1160c865cc3f9d1ceef893}{do\+\_\+invoke}} (F f, Object \&\&obj, Args \&\&... args) noexcept(noexcept((std\+::forward$<$ Object $>$(obj).$\ast$f)(std\+::forward$<$ Args $>$(args)...))) -\/$>$ decltype(auto) \item {\footnotesize template$<$typename F , typename Pointer , typename... Args, \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a99591fc5eb07c4adb7ec5f0998edb928}{enable\+\_\+if\+\_\+t}}$<$ std\+::is\+\_\+pointer$<$ Pointer $>$\+::value and std\+::is\+\_\+member\+\_\+function\+\_\+pointer$<$ F $>$\+::value, int $>$ = 0$>$ }\\constexpr auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a04edb301b3d6aa535418f8fba8797bc0}{do\+\_\+invoke}} (F f, Pointer ptr, Args \&\&... args) noexcept(noexcept((ptr-\/$>$ $\ast$f)(std\+::forward$<$ Args $>$(args)...))) -\/$>$ decltype(auto) \item {\footnotesize template$<$typename Member , typename Object , \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a99591fc5eb07c4adb7ec5f0998edb928}{enable\+\_\+if\+\_\+t}}$<$ not std\+::is\+\_\+pointer$<$ \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a98c871b73b590b089f642ee077b87f1e}{remove\+\_\+cvref\+\_\+t}}$<$ Object $>$ $>$\+::value and std\+::is\+\_\+member\+\_\+object\+\_\+pointer$<$ Member $>$\+::value, int $>$ = 0$>$ }\\constexpr auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a5632ed7ff5a761ce1f2e085968b3af46}{do\+\_\+invoke}} (Member mem, Object \&\&obj) noexcept -\/$>$ decltype(auto) \item {\footnotesize template$<$typename Member , typename Pointer , \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a99591fc5eb07c4adb7ec5f0998edb928}{enable\+\_\+if\+\_\+t}}$<$ std\+::is\+\_\+pointer$<$ Pointer $>$\+::value and std\+::is\+\_\+member\+\_\+object\+\_\+pointer$<$ Member $>$\+::value, int $>$ = 0$>$ }\\constexpr auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_ad1f7dd80ce8544abd71e83910f2eaaa7}{do\+\_\+invoke}} (Member mem, Pointer ptr) noexcept -\/$>$ decltype(auto) \item {\footnotesize template$<$typename... Ts$>$ }\\constexpr auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_ac19de1edcaaf73c6b34c1b43b262f0d1}{ignore}} (Ts \&\&...) noexcept -\/$>$ void \item {\footnotesize template$<$typename T , std\+::size\+\_\+t... Is$>$ }\\constexpr auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a2e0ac1e3951bb892dc6c1444bf4d45b7}{swap\+\_\+tuple\+\_\+impl}} (T \&\mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a228a6004801f23e3746cd67df6bcbeb6}{a}}, T \&b, std\+::index\+\_\+sequence$<$ Is... $>$) noexcept(noexcept(\mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1ignore}{ignore}}(((void) \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a4ca198c8b213042d9bd7437a34e18476}{swap}}(std\+::get$<$ Is $>$(\mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a228a6004801f23e3746cd67df6bcbeb6}{a}}), std\+::get$<$ Is $>$(b)), 0)...))) -\/$>$ void \item constexpr auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a55519861f36b26fd4a40e996bd8d89f0}{msb}} (std\+::uintmax\+\_\+t x) -\/$>$ std\+::uintmax\+\_\+t \item {\footnotesize template$<$typename Num $>$ }\\constexpr auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_afab9877cb8e222417c9060316b2dfd1b}{msb\+\_\+possible}} () -\/$>$ Num \item {\footnotesize template$<$typename string , typename... S, std\+::size\+\_\+t... I$>$ }\\auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a7cd69120adb211f93ff7c0fe90ca8b54}{concat\+\_\+impl}} (std\+::index\+\_\+sequence$<$ I... $>$, S \&\&... ins) -\/$>$ string \item {\footnotesize template$<$typename CharT $>$ }\\auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a40c8a2e25abcdb8d82f1a70755591284}{to\+\_\+int\+\_\+type}} (CharT ch) \item {\footnotesize template$<$typename CharT , typename IntT $>$ }\\auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a53fda8b377c51c64a5c610ff935391d3}{to\+\_\+char\+\_\+type}} (IntT ch) \item auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a4caa5ee7344d51c6ef2024316fe7bc9f}{tolower}} (char ch) \item auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_aff4cab12e5283734ce6fd3adb1ecae5b}{towlower}} (wchar\+\_\+t ch) \item auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a40ab156c25eebc279846777570e1ee1f}{toupper}} (char ch) \item auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_ae36bc8ea869fc297b120e114c7f375c2}{towupper}} (wchar\+\_\+t ch) \item constexpr auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a62231f99aa3fe4d8f764afe5f78d6c06}{get\+\_\+hash\+\_\+order}} () -\/$>$ \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_af2d769d113da59f30bf2c3eafdb3f1b1}{endian}} \item {\footnotesize template$<$typename T , int N, int... I$>$ }\\constexpr auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_aaaa6726d508858c00cdcc6a32342d7c0}{trim\+\_\+array}} (const T(\&arr)\mbox{[}N\mbox{]}, std\+::integer\+\_\+sequence$<$ int, I... $>$) -\/$>$ std\+::array$<$ T, std\+::integer\+\_\+sequence$<$ int, I... $>$\mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a4c92ee94a7a250948d44a29b0e7b3e78}{\+::size}}()$>$ \begin{DoxyCompactList}\small\item\em Truncates an array to its first N elements. \end{DoxyCompactList}\item {\footnotesize template$<$typename C , typename = decltype(std\+::declval$<$\+C\&$>$().\+resize(0))$>$ }\\auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a917b16b05f6a6e67dd5bde48eefa05a1}{calc\+\_\+resizable}} (int) noexcept -\/$>$ std\+::true\+\_\+type \item {\footnotesize template$<$typename $>$ }\\auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a3353ad1db2ece08d867eb4920ec09137}{calc\+\_\+resizable}} (...) noexcept -\/$>$ std\+::false\+\_\+type \item {\footnotesize template$<$typename Variant , typename F , std\+::size\+\_\+t... Is$>$ }\\constexpr auto \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a5e66be3e3295ba8fd10cae1f02637a98}{indexed\+\_\+visitor\+\_\+impl}} (std\+::index\+\_\+sequence$<$ Is... $>$) -\/$>$ auto \begin{DoxyCompactList}\small\item\em Generates an array of function pointers which will unwrap the variant and pass the index to the function. \end{DoxyCompactList}\item {\footnotesize template$<$typename V , typename F , std\+::size\+\_\+t I, std\+::size\+\_\+t... Is$>$ }\\constexpr decltype(auto) \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a4348c959ea3b2e34e77f5025f50304af}{visit\+\_\+impl}} (V \&\&v, F \&\&f, std\+::index\+\_\+sequence$<$ I, Is... $>$) \item {\footnotesize template$<$typename V , typename F , std\+::size\+\_\+t I, std\+::size\+\_\+t... Is$>$ }\\constexpr void \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a491e959f533411b0a4e8c6d18631ae6d}{visit\+\_\+nop\+\_\+impl}} (V \&\&v, F \&\&f, std\+::index\+\_\+sequence$<$ I, Is... $>$) \end{DoxyCompactItemize} \doxysubsection*{Variables} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename T $>$ }\\constexpr std\+::intmax\+\_\+t \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_ac6d52be296a693f6d344c35f27be1bee}{max\+\_\+val}} = std\+::numeric\+\_\+limits$<$T$>$\mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1nums_a8f5e5a9f72912486d090c7f2727d2ca0}{\+::max}}() \item {\footnotesize template$<$typename F , typename... Ts$>$ }\\constexpr bool \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a71c4fabb411878765b400dc95fee5882}{invocable\+\_\+with\+\_\+all\+\_\+v}} = (\mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a12b5ffbb1ba36b917437285c8df9c4fc}{ignore\+\_\+t}}$<$std\+::invoke\+\_\+result\+\_\+t$<$F, Ts$>$, std\+::true\+\_\+type$>$\+::value and ...) \item {\footnotesize template$<$typename Callable , typename Variant $>$ }\\constexpr bool \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_adfe379875f920e6a2cd1e8a30aac5f53}{v\+\_\+invocable\+\_\+with\+\_\+all\+\_\+v}} = false \end{DoxyCompactItemize} \doxysubsection{Typedef Documentation} \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_ab5984368d8901725559a70fb4cf26ef3}\label{namespace_k_b_l_i_b___n_s_1_1detail_ab5984368d8901725559a70fb4cf26ef3}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!arithmetic\_type\_t@{arithmetic\_type\_t}} \index{arithmetic\_type\_t@{arithmetic\_type\_t}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{arithmetic\_type\_t}{arithmetic\_type\_t}} {\footnotesize\ttfamily template$<$typename T $>$ \\ using \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_ab5984368d8901725559a70fb4cf26ef3}{KBLIB\+\_\+\+NS\+::detail\+::arithmetic\+\_\+type\+\_\+t}} = typedef typename \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1arithmetic__type}{arithmetic\+\_\+type}}$<$T$>$\+::type} Equivalent to typename \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1arithmetic__type_af8a59139699e4fb6bfb5bb5bcc9538c4}{arithmetic\+\_\+type$<$\+T$>$\+::type}}. Definition at line \mbox{\hyperlink{stringops_8h_source_l00104}{104}} of file \mbox{\hyperlink{stringops_8h_source}{stringops.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_a70576f3cc2b61a4b25927f8add781bd8}\label{namespace_k_b_l_i_b___n_s_1_1detail_a70576f3cc2b61a4b25927f8add781bd8}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!filter\_signed\_t@{filter\_signed\_t}} \index{filter\_signed\_t@{filter\_signed\_t}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{filter\_signed\_t}{filter\_signed\_t}} {\footnotesize\ttfamily template$<$typename N $>$ \\ using \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a70576f3cc2b61a4b25927f8add781bd8}{KBLIB\+\_\+\+NS\+::detail\+::filter\+\_\+signed\+\_\+t}} = typedef typename \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1filter__signed}{filter\+\_\+signed}}$<$N$>$\+::type} Definition at line \mbox{\hyperlink{fakestd_8h_source_l00821}{821}} of file \mbox{\hyperlink{fakestd_8h_source}{fakestd.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_a7e64e367f9d88635b2aad2974a90d050}\label{namespace_k_b_l_i_b___n_s_1_1detail_a7e64e367f9d88635b2aad2974a90d050}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!filter\_unsigned\_t@{filter\_unsigned\_t}} \index{filter\_unsigned\_t@{filter\_unsigned\_t}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{filter\_unsigned\_t}{filter\_unsigned\_t}} {\footnotesize\ttfamily template$<$typename N $>$ \\ using \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a7e64e367f9d88635b2aad2974a90d050}{KBLIB\+\_\+\+NS\+::detail\+::filter\+\_\+unsigned\+\_\+t}} = typedef typename \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1filter__unsigned}{filter\+\_\+unsigned}}$<$N$>$\+::type} Definition at line \mbox{\hyperlink{fakestd_8h_source_l00832}{832}} of file \mbox{\hyperlink{fakestd_8h_source}{fakestd.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_a4ca2feb776435cad295138e923c880cd}\label{namespace_k_b_l_i_b___n_s_1_1detail_a4ca2feb776435cad295138e923c880cd}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!make\_smap\_el@{make\_smap\_el}} \index{make\_smap\_el@{make\_smap\_el}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{make\_smap\_el}{make\_smap\_el}} {\footnotesize\ttfamily template$<$typename N $>$ \\ using \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a4ca2feb776435cad295138e923c880cd}{KBLIB\+\_\+\+NS\+::detail\+::make\+\_\+smap\+\_\+el}} = typedef \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1type__map__el}{type\+\_\+map\+\_\+el}}$<$static\+\_\+cast$<$std\+::intmax\+\_\+t$>$(\mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_afab9877cb8e222417c9060316b2dfd1b}{msb\+\_\+possible}}$<$N$>$()), N$>$} Definition at line \mbox{\hyperlink{fakestd_8h_source_l00789}{789}} of file \mbox{\hyperlink{fakestd_8h_source}{fakestd.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_a93dda48d784c343281f70bd24e3f6771}\label{namespace_k_b_l_i_b___n_s_1_1detail_a93dda48d784c343281f70bd24e3f6771}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!no\_dangle\_t@{no\_dangle\_t}} \index{no\_dangle\_t@{no\_dangle\_t}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{no\_dangle\_t}{no\_dangle\_t}} {\footnotesize\ttfamily template$<$typename T $>$ \\ using \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a93dda48d784c343281f70bd24e3f6771}{KBLIB\+\_\+\+NS\+::detail\+::no\+\_\+dangle\+\_\+t}} = typedef typename \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1no__dangle}{no\+\_\+dangle}}$<$T$>$\+::type} Definition at line \mbox{\hyperlink{tdecl_8h_source_l00191}{191}} of file \mbox{\hyperlink{tdecl_8h_source}{tdecl.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_a1d0a05faa78003be0ead46c3c4e37e7d}\label{namespace_k_b_l_i_b___n_s_1_1detail_a1d0a05faa78003be0ead46c3c4e37e7d}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!str\_type\_t@{str\_type\_t}} \index{str\_type\_t@{str\_type\_t}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{str\_type\_t}{str\_type\_t}} {\footnotesize\ttfamily template$<$typename T $>$ \\ using \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_a1d0a05faa78003be0ead46c3c4e37e7d}{KBLIB\+\_\+\+NS\+::detail\+::str\+\_\+type\+\_\+t}} = typedef typename \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1str__type}{str\+\_\+type}}$<$T$>$\+::type} Provides the natural stringlike type for representing a T. Definition at line \mbox{\hyperlink{stringops_8h_source_l00204}{204}} of file \mbox{\hyperlink{stringops_8h_source}{stringops.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_afb592cea624c91f864cccec8c3b2708b}\label{namespace_k_b_l_i_b___n_s_1_1detail_afb592cea624c91f864cccec8c3b2708b}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!tuple\_type\_t@{tuple\_type\_t}} \index{tuple\_type\_t@{tuple\_type\_t}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{tuple\_type\_t}{tuple\_type\_t}} {\footnotesize\ttfamily template$<$typename T $>$ \\ using \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1detail_afb592cea624c91f864cccec8c3b2708b}{KBLIB\+\_\+\+NS\+::detail\+::tuple\+\_\+type\+\_\+t}} = typedef typename \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1tuple__type}{tuple\+\_\+type}}$<$T$>$\+::type} Equivalent to typename \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1detail_1_1tuple__type_a2c6ad88d74d1f77095b2c14430fa6279}{tuple\+\_\+type$<$\+T$>$\+::type}} Definition at line \mbox{\hyperlink{variant_8h_source_l00136}{136}} of file \mbox{\hyperlink{variant_8h_source}{variant.\+h}}. \doxysubsection{Function Documentation} \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_a3353ad1db2ece08d867eb4920ec09137}\label{namespace_k_b_l_i_b___n_s_1_1detail_a3353ad1db2ece08d867eb4920ec09137}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!calc\_resizable@{calc\_resizable}} \index{calc\_resizable@{calc\_resizable}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{calc\_resizable()}{calc\_resizable()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$typename $>$ \\ auto KBLIB\+\_\+\+NS\+::detail\+::calc\+\_\+resizable (\begin{DoxyParamCaption}\item[{}]{... }\end{DoxyParamCaption}) -\/$>$ std\+::false\+\_\+type\hspace{0.3cm}{\ttfamily [noexcept]}} \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_a917b16b05f6a6e67dd5bde48eefa05a1}\label{namespace_k_b_l_i_b___n_s_1_1detail_a917b16b05f6a6e67dd5bde48eefa05a1}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!calc\_resizable@{calc\_resizable}} \index{calc\_resizable@{calc\_resizable}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{calc\_resizable()}{calc\_resizable()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$typename C , typename = decltype(std\+::declval$<$\+C\&$>$().\+resize(0))$>$ \\ auto KBLIB\+\_\+\+NS\+::detail\+::calc\+\_\+resizable (\begin{DoxyParamCaption}\item[{int}]{ }\end{DoxyParamCaption}) -\/$>$ std\+::true\+\_\+type\hspace{0.3cm}{\ttfamily [noexcept]}} \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_a7cd69120adb211f93ff7c0fe90ca8b54}\label{namespace_k_b_l_i_b___n_s_1_1detail_a7cd69120adb211f93ff7c0fe90ca8b54}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!concat\_impl@{concat\_impl}} \index{concat\_impl@{concat\_impl}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{concat\_impl()}{concat\_impl()}} {\footnotesize\ttfamily template$<$typename string , typename... S, std\+::size\+\_\+t... I$>$ \\ auto KBLIB\+\_\+\+NS\+::detail\+::concat\+\_\+impl (\begin{DoxyParamCaption}\item[{std\+::index\+\_\+sequence$<$ I... $>$}]{, }\item[{S \&\&...}]{ins }\end{DoxyParamCaption}) -\/$>$ string } Definition at line \mbox{\hyperlink{stringops_8h_source_l00279}{279}} of file \mbox{\hyperlink{stringops_8h_source}{stringops.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_ac992e4a88d3dffba45f75f3912cb44d4}\label{namespace_k_b_l_i_b___n_s_1_1detail_ac992e4a88d3dffba45f75f3912cb44d4}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!do\_invoke@{do\_invoke}} \index{do\_invoke@{do\_invoke}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{do\_invoke()}{do\_invoke()}\hspace{0.1cm}{\footnotesize\ttfamily [1/5]}} {\footnotesize\ttfamily template$<$typename F , typename... Args, \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a99591fc5eb07c4adb7ec5f0998edb928}{enable\+\_\+if\+\_\+t}}$<$ not std\+::is\+\_\+member\+\_\+pointer$<$ \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a98c871b73b590b089f642ee077b87f1e}{remove\+\_\+cvref\+\_\+t}}$<$ F $>$ $>$\+::value, int $>$ = 0$>$ \\ constexpr auto KBLIB\+\_\+\+NS\+::detail\+::do\+\_\+invoke (\begin{DoxyParamCaption}\item[{F \&\&}]{f, }\item[{Args \&\&...}]{args }\end{DoxyParamCaption}) -\/$>$ decltype(auto) \hspace{0.3cm}{\ttfamily [constexpr]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{fakestd_8h_source_l00087}{87}} of file \mbox{\hyperlink{fakestd_8h_source}{fakestd.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_af9ee8c1f1f1160c865cc3f9d1ceef893}\label{namespace_k_b_l_i_b___n_s_1_1detail_af9ee8c1f1f1160c865cc3f9d1ceef893}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!do\_invoke@{do\_invoke}} \index{do\_invoke@{do\_invoke}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{do\_invoke()}{do\_invoke()}\hspace{0.1cm}{\footnotesize\ttfamily [2/5]}} {\footnotesize\ttfamily template$<$typename F , typename Object , typename... Args, \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a99591fc5eb07c4adb7ec5f0998edb928}{enable\+\_\+if\+\_\+t}}$<$ not std\+::is\+\_\+pointer$<$ \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a98c871b73b590b089f642ee077b87f1e}{remove\+\_\+cvref\+\_\+t}}$<$ Object $>$ $>$\+::value and std\+::is\+\_\+member\+\_\+function\+\_\+pointer$<$ F $>$\+::value, int $>$ = 0$>$ \\ constexpr auto KBLIB\+\_\+\+NS\+::detail\+::do\+\_\+invoke (\begin{DoxyParamCaption}\item[{F}]{f, }\item[{Object \&\&}]{obj, }\item[{Args \&\&...}]{args }\end{DoxyParamCaption}) -\/$>$ decltype(auto) \hspace{0.3cm}{\ttfamily [constexpr]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{fakestd_8h_source_l00096}{96}} of file \mbox{\hyperlink{fakestd_8h_source}{fakestd.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_a04edb301b3d6aa535418f8fba8797bc0}\label{namespace_k_b_l_i_b___n_s_1_1detail_a04edb301b3d6aa535418f8fba8797bc0}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!do\_invoke@{do\_invoke}} \index{do\_invoke@{do\_invoke}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{do\_invoke()}{do\_invoke()}\hspace{0.1cm}{\footnotesize\ttfamily [3/5]}} {\footnotesize\ttfamily template$<$typename F , typename Pointer , typename... Args, \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a99591fc5eb07c4adb7ec5f0998edb928}{enable\+\_\+if\+\_\+t}}$<$ std\+::is\+\_\+pointer$<$ Pointer $>$\+::value and std\+::is\+\_\+member\+\_\+function\+\_\+pointer$<$ F $>$\+::value, int $>$ = 0$>$ \\ constexpr auto KBLIB\+\_\+\+NS\+::detail\+::do\+\_\+invoke (\begin{DoxyParamCaption}\item[{F}]{f, }\item[{Pointer}]{ptr, }\item[{Args \&\&...}]{args }\end{DoxyParamCaption}) -\/$>$ decltype(auto) \hspace{0.3cm}{\ttfamily [constexpr]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{fakestd_8h_source_l00106}{106}} of file \mbox{\hyperlink{fakestd_8h_source}{fakestd.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_a5632ed7ff5a761ce1f2e085968b3af46}\label{namespace_k_b_l_i_b___n_s_1_1detail_a5632ed7ff5a761ce1f2e085968b3af46}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!do\_invoke@{do\_invoke}} \index{do\_invoke@{do\_invoke}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{do\_invoke()}{do\_invoke()}\hspace{0.1cm}{\footnotesize\ttfamily [4/5]}} {\footnotesize\ttfamily template$<$typename Member , typename Object , \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a99591fc5eb07c4adb7ec5f0998edb928}{enable\+\_\+if\+\_\+t}}$<$ not std\+::is\+\_\+pointer$<$ \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a98c871b73b590b089f642ee077b87f1e}{remove\+\_\+cvref\+\_\+t}}$<$ Object $>$ $>$\+::value and std\+::is\+\_\+member\+\_\+object\+\_\+pointer$<$ Member $>$\+::value, int $>$ = 0$>$ \\ constexpr auto KBLIB\+\_\+\+NS\+::detail\+::do\+\_\+invoke (\begin{DoxyParamCaption}\item[{Member}]{mem, }\item[{Object \&\&}]{obj }\end{DoxyParamCaption}) -\/$>$ decltype(auto) \hspace{0.3cm}{\ttfamily [constexpr]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{fakestd_8h_source_l00115}{115}} of file \mbox{\hyperlink{fakestd_8h_source}{fakestd.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_ad1f7dd80ce8544abd71e83910f2eaaa7}\label{namespace_k_b_l_i_b___n_s_1_1detail_ad1f7dd80ce8544abd71e83910f2eaaa7}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!do\_invoke@{do\_invoke}} \index{do\_invoke@{do\_invoke}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{do\_invoke()}{do\_invoke()}\hspace{0.1cm}{\footnotesize\ttfamily [5/5]}} {\footnotesize\ttfamily template$<$typename Member , typename Pointer , \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a99591fc5eb07c4adb7ec5f0998edb928}{enable\+\_\+if\+\_\+t}}$<$ std\+::is\+\_\+pointer$<$ Pointer $>$\+::value and std\+::is\+\_\+member\+\_\+object\+\_\+pointer$<$ Member $>$\+::value, int $>$ = 0$>$ \\ constexpr auto KBLIB\+\_\+\+NS\+::detail\+::do\+\_\+invoke (\begin{DoxyParamCaption}\item[{Member}]{mem, }\item[{Pointer}]{ptr }\end{DoxyParamCaption}) -\/$>$ decltype(auto) \hspace{0.3cm}{\ttfamily [constexpr]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{fakestd_8h_source_l00124}{124}} of file \mbox{\hyperlink{fakestd_8h_source}{fakestd.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_a62231f99aa3fe4d8f764afe5f78d6c06}\label{namespace_k_b_l_i_b___n_s_1_1detail_a62231f99aa3fe4d8f764afe5f78d6c06}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!get\_hash\_order@{get\_hash\_order}} \index{get\_hash\_order@{get\_hash\_order}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{get\_hash\_order()}{get\_hash\_order()}} {\footnotesize\ttfamily constexpr auto KBLIB\+\_\+\+NS\+::detail\+::get\+\_\+hash\+\_\+order (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) -\/$>$ \mbox{\hyperlink{namespace_k_b_l_i_b___n_s_af2d769d113da59f30bf2c3eafdb3f1b1}{endian}} \hspace{0.3cm}{\ttfamily [constexpr]}} Definition at line \mbox{\hyperlink{tdecl_8h_source_l00215}{215}} of file \mbox{\hyperlink{tdecl_8h_source}{tdecl.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_ac19de1edcaaf73c6b34c1b43b262f0d1}\label{namespace_k_b_l_i_b___n_s_1_1detail_ac19de1edcaaf73c6b34c1b43b262f0d1}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!ignore@{ignore}} \index{ignore@{ignore}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{ignore()}{ignore()}} {\footnotesize\ttfamily template$<$typename... Ts$>$ \\ constexpr auto KBLIB\+\_\+\+NS\+::detail\+::ignore (\begin{DoxyParamCaption}\item[{Ts \&\&}]{... }\end{DoxyParamCaption}) -\/$>$ void \hspace{0.3cm}{\ttfamily [constexpr]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{fakestd_8h_source_l00646}{646}} of file \mbox{\hyperlink{fakestd_8h_source}{fakestd.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_a5e66be3e3295ba8fd10cae1f02637a98}\label{namespace_k_b_l_i_b___n_s_1_1detail_a5e66be3e3295ba8fd10cae1f02637a98}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!indexed\_visitor\_impl@{indexed\_visitor\_impl}} \index{indexed\_visitor\_impl@{indexed\_visitor\_impl}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{indexed\_visitor\_impl()}{indexed\_visitor\_impl()}} {\footnotesize\ttfamily template$<$typename Variant , typename F , std\+::size\+\_\+t... Is$>$ \\ constexpr auto KBLIB\+\_\+\+NS\+::detail\+::indexed\+\_\+visitor\+\_\+impl (\begin{DoxyParamCaption}\item[{std\+::index\+\_\+sequence$<$ Is... $>$}]{ }\end{DoxyParamCaption}) -\/$>$ auto \hspace{0.3cm}{\ttfamily [constexpr]}} Generates an array of function pointers which will unwrap the variant and pass the index to the function. Definition at line \mbox{\hyperlink{variant_8h_source_l00143}{143}} of file \mbox{\hyperlink{variant_8h_source}{variant.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_a55519861f36b26fd4a40e996bd8d89f0}\label{namespace_k_b_l_i_b___n_s_1_1detail_a55519861f36b26fd4a40e996bd8d89f0}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!msb@{msb}} \index{msb@{msb}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{msb()}{msb()}} {\footnotesize\ttfamily constexpr auto KBLIB\+\_\+\+NS\+::detail\+::msb (\begin{DoxyParamCaption}\item[{std\+::uintmax\+\_\+t}]{x }\end{DoxyParamCaption}) -\/$>$ std\+::uintmax\+\_\+t \hspace{0.3cm}{\ttfamily [constexpr]}} Definition at line \mbox{\hyperlink{fakestd_8h_source_l00732}{732}} of file \mbox{\hyperlink{fakestd_8h_source}{fakestd.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_afab9877cb8e222417c9060316b2dfd1b}\label{namespace_k_b_l_i_b___n_s_1_1detail_afab9877cb8e222417c9060316b2dfd1b}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!msb\_possible@{msb\_possible}} \index{msb\_possible@{msb\_possible}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{msb\_possible()}{msb\_possible()}} {\footnotesize\ttfamily template$<$typename Num $>$ \\ constexpr auto KBLIB\+\_\+\+NS\+::detail\+::msb\+\_\+possible (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) -\/$>$ Num \hspace{0.3cm}{\ttfamily [constexpr]}} Definition at line \mbox{\hyperlink{fakestd_8h_source_l00743}{743}} of file \mbox{\hyperlink{fakestd_8h_source}{fakestd.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_a2e0ac1e3951bb892dc6c1444bf4d45b7}\label{namespace_k_b_l_i_b___n_s_1_1detail_a2e0ac1e3951bb892dc6c1444bf4d45b7}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!swap\_tuple\_impl@{swap\_tuple\_impl}} \index{swap\_tuple\_impl@{swap\_tuple\_impl}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{swap\_tuple\_impl()}{swap\_tuple\_impl()}} {\footnotesize\ttfamily template$<$typename T , std\+::size\+\_\+t... Is$>$ \\ constexpr auto KBLIB\+\_\+\+NS\+::detail\+::swap\+\_\+tuple\+\_\+impl (\begin{DoxyParamCaption}\item[{T \&}]{a, }\item[{T \&}]{b, }\item[{std\+::index\+\_\+sequence$<$ Is... $>$}]{ }\end{DoxyParamCaption}) -\/$>$ void \hspace{0.3cm}{\ttfamily [constexpr]}, {\ttfamily [noexcept]}} Definition at line \mbox{\hyperlink{fakestd_8h_source_l00650}{650}} of file \mbox{\hyperlink{fakestd_8h_source}{fakestd.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_a53fda8b377c51c64a5c610ff935391d3}\label{namespace_k_b_l_i_b___n_s_1_1detail_a53fda8b377c51c64a5c610ff935391d3}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!to\_char\_type@{to\_char\_type}} \index{to\_char\_type@{to\_char\_type}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{to\_char\_type()}{to\_char\_type()}} {\footnotesize\ttfamily template$<$typename CharT , typename IntT $>$ \\ auto KBLIB\+\_\+\+NS\+::detail\+::to\+\_\+char\+\_\+type (\begin{DoxyParamCaption}\item[{IntT}]{ch }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Definition at line \mbox{\hyperlink{stringops_8h_source_l00564}{564}} of file \mbox{\hyperlink{stringops_8h_source}{stringops.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_a40c8a2e25abcdb8d82f1a70755591284}\label{namespace_k_b_l_i_b___n_s_1_1detail_a40c8a2e25abcdb8d82f1a70755591284}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!to\_int\_type@{to\_int\_type}} \index{to\_int\_type@{to\_int\_type}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{to\_int\_type()}{to\_int\_type()}} {\footnotesize\ttfamily template$<$typename CharT $>$ \\ auto KBLIB\+\_\+\+NS\+::detail\+::to\+\_\+int\+\_\+type (\begin{DoxyParamCaption}\item[{CharT}]{ch }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Definition at line \mbox{\hyperlink{stringops_8h_source_l00560}{560}} of file \mbox{\hyperlink{stringops_8h_source}{stringops.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_a4caa5ee7344d51c6ef2024316fe7bc9f}\label{namespace_k_b_l_i_b___n_s_1_1detail_a4caa5ee7344d51c6ef2024316fe7bc9f}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!tolower@{tolower}} \index{tolower@{tolower}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{tolower()}{tolower()}} {\footnotesize\ttfamily auto KBLIB\+\_\+\+NS\+::detail\+::tolower (\begin{DoxyParamCaption}\item[{char}]{ch }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Definition at line \mbox{\hyperlink{stringops_8h_source_l00568}{568}} of file \mbox{\hyperlink{stringops_8h_source}{stringops.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_a40ab156c25eebc279846777570e1ee1f}\label{namespace_k_b_l_i_b___n_s_1_1detail_a40ab156c25eebc279846777570e1ee1f}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!toupper@{toupper}} \index{toupper@{toupper}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{toupper()}{toupper()}} {\footnotesize\ttfamily auto KBLIB\+\_\+\+NS\+::detail\+::toupper (\begin{DoxyParamCaption}\item[{char}]{ch }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Definition at line \mbox{\hyperlink{stringops_8h_source_l00576}{576}} of file \mbox{\hyperlink{stringops_8h_source}{stringops.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_aff4cab12e5283734ce6fd3adb1ecae5b}\label{namespace_k_b_l_i_b___n_s_1_1detail_aff4cab12e5283734ce6fd3adb1ecae5b}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!towlower@{towlower}} \index{towlower@{towlower}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{towlower()}{towlower()}} {\footnotesize\ttfamily auto KBLIB\+\_\+\+NS\+::detail\+::towlower (\begin{DoxyParamCaption}\item[{wchar\+\_\+t}]{ch }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Definition at line \mbox{\hyperlink{stringops_8h_source_l00572}{572}} of file \mbox{\hyperlink{stringops_8h_source}{stringops.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_ae36bc8ea869fc297b120e114c7f375c2}\label{namespace_k_b_l_i_b___n_s_1_1detail_ae36bc8ea869fc297b120e114c7f375c2}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!towupper@{towupper}} \index{towupper@{towupper}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{towupper()}{towupper()}} {\footnotesize\ttfamily auto KBLIB\+\_\+\+NS\+::detail\+::towupper (\begin{DoxyParamCaption}\item[{wchar\+\_\+t}]{ch }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Definition at line \mbox{\hyperlink{stringops_8h_source_l00580}{580}} of file \mbox{\hyperlink{stringops_8h_source}{stringops.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_aaaa6726d508858c00cdcc6a32342d7c0}\label{namespace_k_b_l_i_b___n_s_1_1detail_aaaa6726d508858c00cdcc6a32342d7c0}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!trim\_array@{trim\_array}} \index{trim\_array@{trim\_array}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{trim\_array()}{trim\_array()}} {\footnotesize\ttfamily template$<$typename T , int N, int... I$>$ \\ constexpr auto KBLIB\+\_\+\+NS\+::detail\+::trim\+\_\+array (\begin{DoxyParamCaption}\item[{const T(\&)}]{arr\mbox{[}\+N\mbox{]}, }\item[{std\+::integer\+\_\+sequence$<$ int, I... $>$}]{ }\end{DoxyParamCaption}) -\/$>$ std\+::array$<$T, std\+::integer\+\_\+sequence$<$int, I...$>$\mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a4c92ee94a7a250948d44a29b0e7b3e78}{\+::size}}()$>$ \hspace{0.3cm}{\ttfamily [constexpr]}} Truncates an array to its first N elements. \begin{DoxyParams}{Parameters} {\em arr} & An array of at least N elements to truncate. \\ \hline {\em Is} & An implementation detail. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} std\+::array$<$\+T, Is.\+size()$>$ An array consisting of the first N elements of arr. \end{DoxyReturn} Definition at line \mbox{\hyperlink{traits_8h_source_l00105}{105}} of file \mbox{\hyperlink{traits_8h_source}{traits.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_a4348c959ea3b2e34e77f5025f50304af}\label{namespace_k_b_l_i_b___n_s_1_1detail_a4348c959ea3b2e34e77f5025f50304af}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!visit\_impl@{visit\_impl}} \index{visit\_impl@{visit\_impl}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{visit\_impl()}{visit\_impl()}} {\footnotesize\ttfamily template$<$typename V , typename F , std\+::size\+\_\+t I, std\+::size\+\_\+t... Is$>$ \\ constexpr decltype(auto) KBLIB\+\_\+\+NS\+::detail\+::visit\+\_\+impl (\begin{DoxyParamCaption}\item[{V \&\&}]{v, }\item[{F \&\&}]{f, }\item[{std\+::index\+\_\+sequence$<$ I, Is... $>$}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [constexpr]}} Definition at line \mbox{\hyperlink{variant_8h_source_l00261}{261}} of file \mbox{\hyperlink{variant_8h_source}{variant.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_a491e959f533411b0a4e8c6d18631ae6d}\label{namespace_k_b_l_i_b___n_s_1_1detail_a491e959f533411b0a4e8c6d18631ae6d}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!visit\_nop\_impl@{visit\_nop\_impl}} \index{visit\_nop\_impl@{visit\_nop\_impl}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{visit\_nop\_impl()}{visit\_nop\_impl()}} {\footnotesize\ttfamily template$<$typename V , typename F , std\+::size\+\_\+t I, std\+::size\+\_\+t... Is$>$ \\ constexpr void KBLIB\+\_\+\+NS\+::detail\+::visit\+\_\+nop\+\_\+impl (\begin{DoxyParamCaption}\item[{V \&\&}]{v, }\item[{F \&\&}]{f, }\item[{std\+::index\+\_\+sequence$<$ I, Is... $>$}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [constexpr]}} Definition at line \mbox{\hyperlink{variant_8h_source_l00276}{276}} of file \mbox{\hyperlink{variant_8h_source}{variant.\+h}}. \doxysubsection{Variable Documentation} \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_a71c4fabb411878765b400dc95fee5882}\label{namespace_k_b_l_i_b___n_s_1_1detail_a71c4fabb411878765b400dc95fee5882}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!invocable\_with\_all\_v@{invocable\_with\_all\_v}} \index{invocable\_with\_all\_v@{invocable\_with\_all\_v}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{invocable\_with\_all\_v}{invocable\_with\_all\_v}} {\footnotesize\ttfamily template$<$typename F , typename... Ts$>$ \\ constexpr bool KBLIB\+\_\+\+NS\+::detail\+::invocable\+\_\+with\+\_\+all\+\_\+v = (\mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a12b5ffbb1ba36b917437285c8df9c4fc}{ignore\+\_\+t}}$<$std\+::invoke\+\_\+result\+\_\+t$<$F, Ts$>$, std\+::true\+\_\+type$>$\+::value and ...)\hspace{0.3cm}{\ttfamily [constexpr]}} Definition at line \mbox{\hyperlink{variant_8h_source_l00230}{230}} of file \mbox{\hyperlink{variant_8h_source}{variant.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_ac6d52be296a693f6d344c35f27be1bee}\label{namespace_k_b_l_i_b___n_s_1_1detail_ac6d52be296a693f6d344c35f27be1bee}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!max\_val@{max\_val}} \index{max\_val@{max\_val}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{max\_val}{max\_val}} {\footnotesize\ttfamily template$<$typename T $>$ \\ constexpr std\+::intmax\+\_\+t KBLIB\+\_\+\+NS\+::detail\+::max\+\_\+val = std\+::numeric\+\_\+limits$<$T$>$\mbox{\hyperlink{namespace_k_b_l_i_b___n_s_1_1nums_a8f5e5a9f72912486d090c7f2727d2ca0}{\+::max}}()\hspace{0.3cm}{\ttfamily [constexpr]}} Definition at line \mbox{\hyperlink{fakestd_8h_source_l00730}{730}} of file \mbox{\hyperlink{fakestd_8h_source}{fakestd.\+h}}. \mbox{\Hypertarget{namespace_k_b_l_i_b___n_s_1_1detail_adfe379875f920e6a2cd1e8a30aac5f53}\label{namespace_k_b_l_i_b___n_s_1_1detail_adfe379875f920e6a2cd1e8a30aac5f53}} \index{KBLIB\_NS::detail@{KBLIB\_NS::detail}!v\_invocable\_with\_all\_v@{v\_invocable\_with\_all\_v}} \index{v\_invocable\_with\_all\_v@{v\_invocable\_with\_all\_v}!KBLIB\_NS::detail@{KBLIB\_NS::detail}} \doxysubsubsection{\texorpdfstring{v\_invocable\_with\_all\_v}{v\_invocable\_with\_all\_v}} {\footnotesize\ttfamily template$<$typename Callable , typename Variant $>$ \\ constexpr bool KBLIB\+\_\+\+NS\+::detail\+::v\+\_\+invocable\+\_\+with\+\_\+all\+\_\+v$<$ F, const std\+::variant$<$ Ts... $>$ \&\& $>$ = false\hspace{0.3cm}{\ttfamily [constexpr]}} Definition at line \mbox{\hyperlink{variant_8h_source_l00234}{234}} of file \mbox{\hyperlink{variant_8h_source}{variant.\+h}}.