::value,}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00625}00625 \textcolor{stringliteral}{"{}Type must be trivially copyable"{}});}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00626}00626 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00627}\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_a75e45c725fc8e09ecd6ece8fc5fa7353}{00627}} \mbox{\hyperlink{tdecl_8h_a7f62d0731631a0e7675f45924b7f5ea0}{KBLIB\_NODISCARD}} \textcolor{keyword}{auto} \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_a75e45c725fc8e09ecd6ece8fc5fa7353}{get}}() noexcept -\/> auto \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00628}00628 \textcolor{keywordflow}{return} \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__proxy}{pun\_proxy}}<\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_a3c07d6523ecefe3e17ade12eb5dc064d}{type}}, \textcolor{keyword}{decltype}(P::raw)>\{\textcolor{keyword}{static\_cast<}P*\textcolor{keyword}{>}(\textcolor{keyword}{this})-\/>raw\};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00629}00629 \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00630}\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_a0269fffbb958d1d10f20e0eff69f03e1}{00630}} \mbox{\hyperlink{tdecl_8h_a7f62d0731631a0e7675f45924b7f5ea0}{KBLIB\_NODISCARD}} \textcolor{keyword}{auto} \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_a0269fffbb958d1d10f20e0eff69f03e1}{get}}() const noexcept -\/> auto \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00631}00631 \textcolor{keywordflow}{return} \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__proxy}{pun\_proxy}}<\textcolor{keyword}{const} \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_a3c07d6523ecefe3e17ade12eb5dc064d}{type}}, \textcolor{keyword}{const} \textcolor{keyword}{decltype}(P::raw)>\{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00632}00632 \textcolor{keyword}{static\_cast<}\textcolor{keyword}{const }P*\textcolor{keyword}{>}(\textcolor{keyword}{this})-\/>raw\};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00633}00633 \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00634}00634 \};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00635}00635 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00636}00636 \textcolor{keyword}{template} <\textcolor{keyword}{typename} P, \textcolor{keyword}{typename} Type, std::\textcolor{keywordtype}{size\_t} S, std::\textcolor{keywordtype}{size\_t} I>}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00637}\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_3_01_p_00_01_type_0f_s_0e_00_01_s_00_01_i_00_01true_01_4}{00637}} \textcolor{keyword}{struct }\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el}{pun\_el}} \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00638}\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_3_01_p_00_01_type_0f_s_0e_00_01_s_00_01_i_00_01true_01_4_a37fa72cc02a3c5f7e918bc0b7c055ff0}{00638}} \textcolor{keyword}{using }\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_3_01_p_00_01_type_0f_s_0e_00_01_s_00_01_i_00_01true_01_4_a37fa72cc02a3c5f7e918bc0b7c055ff0}{type}} = Type[S];}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00639}00639 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00640}\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_3_01_p_00_01_type_0f_s_0e_00_01_s_00_01_i_00_01true_01_4_a1ec3f265813495989f0a0fe752deb8c8}{00640}} \mbox{\hyperlink{tdecl_8h_a7f62d0731631a0e7675f45924b7f5ea0}{KBLIB\_NODISCARD}} \textcolor{keyword}{auto} \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_3_01_p_00_01_type_0f_s_0e_00_01_s_00_01_i_00_01true_01_4_a1ec3f265813495989f0a0fe752deb8c8}{get}}() noexcept -\/> decltype(auto) \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00641}00641 \textcolor{keywordflow}{return} \textcolor{keyword}{reinterpret\_cast<}\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_3_01_p_00_01_type_0f_s_0e_00_01_s_00_01_i_00_01true_01_4_a37fa72cc02a3c5f7e918bc0b7c055ff0}{type}}\&\textcolor{keyword}{>}(\textcolor{keyword}{static\_cast<}P*\textcolor{keyword}{>}(\textcolor{keyword}{this})-\/>raw);}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00642}00642 \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00643}\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_3_01_p_00_01_type_0f_s_0e_00_01_s_00_01_i_00_01true_01_4_a47d1185effb83db8b056e0b52a012464}{00643}} \mbox{\hyperlink{tdecl_8h_a7f62d0731631a0e7675f45924b7f5ea0}{KBLIB\_NODISCARD}} \textcolor{keyword}{auto} \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_3_01_p_00_01_type_0f_s_0e_00_01_s_00_01_i_00_01true_01_4_a47d1185effb83db8b056e0b52a012464}{get}}() const noexcept -\/> decltype(auto) \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00644}00644 \textcolor{keywordflow}{return} \textcolor{keyword}{reinterpret\_cast<}\textcolor{keyword}{const }\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_3_01_p_00_01_type_0f_s_0e_00_01_s_00_01_i_00_01true_01_4_a37fa72cc02a3c5f7e918bc0b7c055ff0}{type}}\&\textcolor{keyword}{>}(\textcolor{keyword}{static\_cast<}\textcolor{keyword}{const }P*\textcolor{keyword}{>}(\textcolor{keyword}{this})-\/>raw);}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00645}00645 \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00646}00646 \};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00647}00647 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00648}00648 \textcolor{keyword}{template} <\textcolor{keyword}{typename} P, \textcolor{keyword}{typename} Type, std::\textcolor{keywordtype}{size\_t} S, std::\textcolor{keywordtype}{size\_t} I>}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00649}\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_3_01_p_00_01_type_0f_0e_00_01_s_00_01_i_00_01true_01_4}{00649}} \textcolor{keyword}{struct }\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el}{pun\_el}}
\{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00650}\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_3_01_p_00_01_type_0f_0e_00_01_s_00_01_i_00_01true_01_4_a23bfd07fc26e0c569db6cd4711f12c13}{00650}} \textcolor{keyword}{using }\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_3_01_p_00_01_type_0f_0e_00_01_s_00_01_i_00_01true_01_4_a23bfd07fc26e0c569db6cd4711f12c13}{type}} = Type[S];}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00651}00651 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00652}\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_3_01_p_00_01_type_0f_0e_00_01_s_00_01_i_00_01true_01_4_a6fc413ccf49c744ff131884eabc2d27e}{00652}} \mbox{\hyperlink{tdecl_8h_a7f62d0731631a0e7675f45924b7f5ea0}{KBLIB\_NODISCARD}} \textcolor{keyword}{auto} \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_3_01_p_00_01_type_0f_0e_00_01_s_00_01_i_00_01true_01_4_a6fc413ccf49c744ff131884eabc2d27e}{get}}() noexcept -\/> decltype(auto) \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00653}00653 \textcolor{keywordflow}{return} \textcolor{keyword}{reinterpret\_cast<}\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_3_01_p_00_01_type_0f_0e_00_01_s_00_01_i_00_01true_01_4_a23bfd07fc26e0c569db6cd4711f12c13}{type}}\&\textcolor{keyword}{>}(\textcolor{keyword}{static\_cast<}P*\textcolor{keyword}{>}(\textcolor{keyword}{this})-\/>raw);}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00654}00654 \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00655}\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_3_01_p_00_01_type_0f_0e_00_01_s_00_01_i_00_01true_01_4_a01bbfabc6b10855063c5c006fa4cce4d}{00655}} \mbox{\hyperlink{tdecl_8h_a7f62d0731631a0e7675f45924b7f5ea0}{KBLIB\_NODISCARD}} \textcolor{keyword}{auto} \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_3_01_p_00_01_type_0f_0e_00_01_s_00_01_i_00_01true_01_4_a01bbfabc6b10855063c5c006fa4cce4d}{get}}() const noexcept -\/> decltype(auto) \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00656}00656 \textcolor{keywordflow}{return} \textcolor{keyword}{reinterpret\_cast<}\textcolor{keyword}{const }\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_3_01_p_00_01_type_0f_0e_00_01_s_00_01_i_00_01true_01_4_a23bfd07fc26e0c569db6cd4711f12c13}{type}}\&\textcolor{keyword}{>}(\textcolor{keyword}{static\_cast<}\textcolor{keyword}{const }P*\textcolor{keyword}{>}(\textcolor{keyword}{this})-\/>raw);}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00657}00657 \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00658}00658 \};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00659}00659 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00660}00660 \textcolor{keyword}{template} }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00661}\mbox{\hyperlink{structkblib_1_1detail__bits_1_1punner__impl}{00661}} \textcolor{keyword}{struct }\mbox{\hyperlink{structkblib_1_1detail__bits_1_1punner__impl}{punner\_impl}};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00662}00662 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00663}00663 \textcolor{keyword}{template} }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00664}\mbox{\hyperlink{structkblib_1_1detail__bits_1_1punner__impl_3_01_s_00_01std_1_1index__sequence_3_01_is_8_8_8_01_4_00_01_types_8_8_8_01_4}{00664}} \textcolor{keyword}{struct }\mbox{\hyperlink{structkblib_1_1detail__bits_1_1punner__impl}{punner\_impl}}, Types...>}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00665}00665 : \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el}{pun\_el}}, Types...>, Types, S,}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00666}00666 Is>... \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00667}00667 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00668}00668 \textcolor{keyword}{alignas}(\mbox{\hyperlink{namespacekblib_1_1nums_a64067ecc4167ce1cfe32860ef5c1dc47}{std::max}}(\{\textcolor{keyword}{alignof}(\textcolor{keyword}{typename} std::remove\_extent<}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00669}\mbox{\hyperlink{structkblib_1_1detail__bits_1_1punner__impl_3_01_s_00_01std_1_1index__sequence_3_01_is_8_8_8_01_4_00_01_types_8_8_8_01_4_a4768952cba75c6eec7ae1327a94f7589}{00669}} Types>::type)...\})) unsigned \textcolor{keywordtype}{char} raw[S]\{\};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00670}00670 \};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00671}00671 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00672}00672 \textcolor{keyword}{template} <\textcolor{keyword}{typename}... Types>}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00673}\mbox{\hyperlink{namespacekblib_1_1detail__bits_a1666832c0507e41b9943583f1c67938d}{00673}} \textcolor{keyword}{constexpr} std::size\_t \mbox{\hyperlink{namespacekblib_1_1detail__bits_a1666832c0507e41b9943583f1c67938d}{max\_size}}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00674}00674 = \mbox{\hyperlink{namespacekblib_1_1nums_a64067ecc4167ce1cfe32860ef5c1dc47}{std::max}}(\{\textcolor{keyword}{sizeof}(\textcolor{keyword}{typename} \mbox{\hyperlink{structkblib_1_1detail__bits_1_1array__filter_abc807a7401335ec068b66d9dfea09b19}{array\_filter::type}})...\});}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00675}00675 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00676}00676 \} \textcolor{comment}{// namespace detail\_bits}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00677}00677 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00678}00678 \textcolor{keyword}{template} <\textcolor{keyword}{typename}... Types>}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00679}\mbox{\hyperlink{structkblib_1_1punner}{00679}} \textcolor{keyword}{struct }\mbox{\hyperlink{structkblib_1_1punner}{punner}}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00680}00680 : \textcolor{keyword}{private} \mbox{\hyperlink{structkblib_1_1detail__bits_1_1punner__impl}{detail\_bits::punner\_impl}},}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00681}00681 std::index\_sequence\_for,}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00682}00682 Types...> \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00683}00683 \textcolor{keyword}{private}:}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00684}00684 \textcolor{keyword}{constexpr} \textcolor{keyword}{static} std::size\_t storage\_size = \mbox{\hyperlink{namespacekblib_1_1detail__bits_a1666832c0507e41b9943583f1c67938d}{detail\_bits::max\_size}};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00685}00685 \textcolor{keyword}{using }\mbox{\hyperlink{structkblib_1_1detail__bits_1_1punner__impl}{impl\_t}}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00686}00686 = \mbox{\hyperlink{structkblib_1_1detail__bits_1_1punner__impl}{detail\_bits::punner\_impl}}, Types...>;}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00688}00688 \textcolor{keyword}{using }tuple\_t = std::tuple;}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00689}00689 \textcolor{keyword}{template} }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00690}00690 \textcolor{keyword}{using }r\_element\_t = \textcolor{keyword}{typename} std::tuple\_element::type;}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00691}00691 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00692}00692 \textcolor{keyword}{static\_assert}(std::is\_standard\_layout::value, \textcolor{stringliteral}{"{}"{}});}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00693}00693 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00694}00694 \textcolor{keyword}{public}:}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00695}00695 \textcolor{keyword}{template} }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00696}\mbox{\hyperlink{structkblib_1_1punner_a2f3304655dc864a32d86491414640252}{00696}} \textcolor{keyword}{using }\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el}{base\_t}} = \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el}{detail\_bits::pun\_el}}, storage\_size, I>;}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00697}00697 \textcolor{keyword}{template} }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00698}\mbox{\hyperlink{structkblib_1_1punner_a3216617468adf41427b8dd5bcd5629f2}{00698}} \textcolor{keyword}{using }\mbox{\hyperlink{structkblib_1_1punner_a3216617468adf41427b8dd5bcd5629f2}{element\_t}} = \textcolor{keyword}{typename} \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_a3c07d6523ecefe3e17ade12eb5dc064d}{base\_t::type}};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00699}00699 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00700}00700 \textcolor{keyword}{template} }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00701}\mbox{\hyperlink{structkblib_1_1punner_a2239fdbf6ac157757df3b599d0ee9f2b}{00701}} \mbox{\hyperlink{tdecl_8h_a7f62d0731631a0e7675f45924b7f5ea0}{KBLIB\_NODISCARD}} \textcolor{keyword}{auto} \mbox{\hyperlink{structkblib_1_1punner_a2239fdbf6ac157757df3b599d0ee9f2b}{get}}() \& \textcolor{keyword}{noexcept} -\/> \textcolor{keyword}{decltype}(\textcolor{keyword}{auto}) \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00702}00702 \textcolor{keyword}{static\_assert}(std::is\_base\_of, \mbox{\hyperlink{structkblib_1_1detail__bits_1_1punner__impl}{impl\_t}}>::value, \textcolor{stringliteral}{"{}"{}});}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00703}00703 \textcolor{keywordflow}{return} \textcolor{keyword}{static\_cast<}\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el}{base\_t}}\&\textcolor{keyword}{>}(*this).\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_a75e45c725fc8e09ecd6ece8fc5fa7353}{get}}();}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00704}00704 \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00705}00705 \textcolor{keyword}{template} }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00706}\mbox{\hyperlink{structkblib_1_1punner_a3fb0452080aeff65a203965a10e6b079}{00706}} \mbox{\hyperlink{tdecl_8h_a7f62d0731631a0e7675f45924b7f5ea0}{KBLIB\_NODISCARD}} \textcolor{keyword}{auto} \mbox{\hyperlink{structkblib_1_1punner_a3fb0452080aeff65a203965a10e6b079}{get}}() const\& noexcept -\/> decltype(auto) \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00707}00707 \textcolor{keywordflow}{return} \textcolor{keyword}{static\_cast<}\textcolor{keyword}{const }\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el}{base\_t}}\&\textcolor{keyword}{>}(*this).\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_a75e45c725fc8e09ecd6ece8fc5fa7353}{get}}();}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00708}00708 \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00709}00709 \textcolor{keyword}{template} }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00710}\mbox{\hyperlink{structkblib_1_1punner_a22f961dac0119c334054478d457bed58}{00710}} \mbox{\hyperlink{tdecl_8h_a7f62d0731631a0e7675f45924b7f5ea0}{KBLIB\_NODISCARD}} \textcolor{keyword}{auto} \mbox{\hyperlink{structkblib_1_1punner_a22f961dac0119c334054478d457bed58}{get}}() \&\& \textcolor{keyword}{noexcept} -\/> \textcolor{keyword}{decltype}(\textcolor{keyword}{auto}) \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00711}00711 \textcolor{keywordflow}{return} \textcolor{keyword}{static\_cast<}\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el}{base\_t}}\&\&\textcolor{keyword}{>}(*this).\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_a75e45c725fc8e09ecd6ece8fc5fa7353}{get}}();}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00712}00712 \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00713}00713 \textcolor{keyword}{template} }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00714}\mbox{\hyperlink{structkblib_1_1punner_ae1e87ac1d684a043ed7348f65c714495}{00714}} \mbox{\hyperlink{tdecl_8h_a7f62d0731631a0e7675f45924b7f5ea0}{KBLIB\_NODISCARD}} \textcolor{keyword}{auto} \mbox{\hyperlink{structkblib_1_1punner_ae1e87ac1d684a043ed7348f65c714495}{get}}() const\&\& noexcept -\/> decltype(auto) \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00715}00715 \textcolor{keywordflow}{return} \textcolor{keyword}{static\_cast<}\textcolor{keyword}{const }\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el}{base\_t}}\&\&\textcolor{keyword}{>}(*this).\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__el_a75e45c725fc8e09ecd6ece8fc5fa7353}{get}}();}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00716}00716 \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00717}00717 \};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00718}00718 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00719}00719 \} \textcolor{comment}{// namespace KBLIB\_NS}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00720}00720 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00721}\mbox{\hyperlink{namespacestd}{00721}} \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacestd}{std}} \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00722}00722 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00723}00723 \textcolor{keyword}{template} }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00724}\mbox{\hyperlink{structstd_1_1tuple__element_3_01_i_00_01kblib_1_1punner_3_01_types_8_8_8_01_4_01_4}{00724}} \textcolor{keyword}{struct }tuple\_element> \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00725}\mbox{\hyperlink{structstd_1_1tuple__element_3_01_i_00_01kblib_1_1punner_3_01_types_8_8_8_01_4_01_4_af97e660fea7024ec2a83d37513df7c6f}{00725}} \textcolor{keyword}{using }\mbox{\hyperlink{structstd_1_1tuple__element_3_01_i_00_01kblib_1_1punner_3_01_types_8_8_8_01_4_01_4_af97e660fea7024ec2a83d37513df7c6f}{type}} = \textcolor{keyword}{typename} \mbox{\hyperlink{structkblib_1_1punner}{kblib::punner}}::template element\_t;}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00726}00726 \};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00727}00727 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00728}00728 \textcolor{keyword}{template} <\textcolor{keyword}{typename}... Types>}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00729}\mbox{\hyperlink{structstd_1_1tuple__size_3_01kblib_1_1punner_3_01_types_8_8_8_01_4_01_4}{00729}} \textcolor{keyword}{struct }tuple\_size<\mbox{\hyperlink{namespacekblib}{kblib}}::\mbox{\hyperlink{unionpunner}{punner}}>}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00730}00730 : \textcolor{keyword}{public} std::integral\_constant \{\};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00731}00731 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00732}00732 \} \textcolor{comment}{// namespace std}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00733}00733 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00734}00734 \textcolor{keyword}{namespace }\mbox{\hyperlink{tdecl_8h_a4b5c574c663a392148218cd4410fd7a1}{KBLIB\_NS}} \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00735}00735 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00736}00736 \textcolor{keyword}{template} }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00737}\mbox{\hyperlink{namespacekblib_a951945f1ed7d42562a7e6fa8cf8f0405}{00737}} \mbox{\hyperlink{tdecl_8h_a7f62d0731631a0e7675f45924b7f5ea0}{KBLIB\_NODISCARD}} \textcolor{keyword}{auto} \mbox{\hyperlink{namespacekblib_af291a0ebb9263d6588279eb0e379abc1}{get}}(\mbox{\hyperlink{structkblib_1_1punner}{punner}}\& p) \textcolor{keyword}{noexcept} -\/> \textcolor{keyword}{decltype}(\textcolor{keyword}{auto}) \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00738}00738 \textcolor{keywordflow}{return} p.template get();}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00739}00739 \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00740}00740 \textcolor{keyword}{template} }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00741}\mbox{\hyperlink{namespacekblib_ac224d3445c7dba280beacefc67b7641b}{00741}} \mbox{\hyperlink{tdecl_8h_a7f62d0731631a0e7675f45924b7f5ea0}{KBLIB\_NODISCARD}} \textcolor{keyword}{auto} \mbox{\hyperlink{namespacekblib_af291a0ebb9263d6588279eb0e379abc1}{get}}(\textcolor{keyword}{const} \mbox{\hyperlink{structkblib_1_1punner}{punner}}\& p) \textcolor{keyword}{noexcept} -\/> \textcolor{keyword}{decltype}(\textcolor{keyword}{auto}) \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00742}00742 \textcolor{keywordflow}{return} p.template get();}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00743}00743 \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00744}00744 \textcolor{keyword}{template} }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00745}\mbox{\hyperlink{namespacekblib_aeb5bc5882b32685b477723ff9b5d4642}{00745}} \mbox{\hyperlink{tdecl_8h_a7f62d0731631a0e7675f45924b7f5ea0}{KBLIB\_NODISCARD}} \textcolor{keyword}{auto} \mbox{\hyperlink{namespacekblib_af291a0ebb9263d6588279eb0e379abc1}{get}}(\mbox{\hyperlink{structkblib_1_1punner}{punner}}\&\& p) \textcolor{keyword}{noexcept} -\/> \textcolor{keyword}{decltype}(\textcolor{keyword}{auto}) \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00746}00746 \textcolor{keywordflow}{return} p.template get();}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00747}00747 \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00748}00748 \textcolor{keyword}{template} }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00749}\mbox{\hyperlink{namespacekblib_af291a0ebb9263d6588279eb0e379abc1}{00749}} \mbox{\hyperlink{tdecl_8h_a7f62d0731631a0e7675f45924b7f5ea0}{KBLIB\_NODISCARD}} \textcolor{keyword}{auto} \mbox{\hyperlink{namespacekblib_af291a0ebb9263d6588279eb0e379abc1}{get}}(\textcolor{keyword}{const} \mbox{\hyperlink{structkblib_1_1punner}{punner}}\&\& p) \textcolor{keyword}{noexcept}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00750}00750 -\/> \textcolor{keyword}{decltype}(\textcolor{keyword}{auto}) \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00751}00751 \textcolor{keywordflow}{return} p.template get();}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00752}00752 \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00753}00753 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00754}00754 \textcolor{preprocessor}{\#if KBLIB\_USE\_CXX17}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00755}00755 \textcolor{keyword}{template} <\textcolor{keyword}{typename} Type, auto Storage>}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00756}\mbox{\hyperlink{classkblib_1_1union__pun}{00756}} \textcolor{keyword}{class }\mbox{\hyperlink{classkblib_1_1union__pun}{union\_pun}} \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00757}00757 \textcolor{keyword}{private}:}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00758}00758 \textcolor{keyword}{using }sptr\_t = \textcolor{keyword}{decltype}(Storage);}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00759}00759 \textcolor{keyword}{using }class\_t = kblib::class\_t;}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00760}00760 \textcolor{keyword}{using }member\_t = \mbox{\hyperlink{namespacekblib_a8944b438ec39c111c64a1e8501fd7828}{kblib::member\_of\_t}};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00761}00761 \textcolor{keyword}{using }\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__proxy}{proxy\_t}} = \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__proxy}{detail\_bits::pun\_proxy}};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00762}00762 \textcolor{keyword}{using }\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__proxy}{const\_proxy\_t}} = \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__proxy}{detail\_bits::pun\_proxy}};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00763}00763 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00764}00764 \textcolor{keyword}{static\_assert}(\textcolor{keyword}{sizeof}(Type) <= \textcolor{keyword}{sizeof}(member\_t),}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00765}00765 \textcolor{stringliteral}{"{}Type will not fit in the provided storage."{}});}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00766}00766 \textcolor{keyword}{static\_assert}(std::is\_trivially\_copyable\_v,}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00767}00767 \textcolor{stringliteral}{"{}Type must be trivially copyable."{}});}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00768}00768 \textcolor{keyword}{static\_assert}(}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00769}00769 std::is\_trivially\_copyable\_v>,}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00770}00770 \textcolor{stringliteral}{"{}Storage type must be trivially copyable."{}});}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00771}00771 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00772}00772 \mbox{\hyperlink{tdecl_8h_a7f62d0731631a0e7675f45924b7f5ea0}{KBLIB\_NODISCARD}} \textcolor{keyword}{auto} base() \textcolor{keyword}{noexcept} -\/> member\_t\& \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00773}00773 \textcolor{keywordflow}{return} \textcolor{keyword}{reinterpret\_cast<}class\_t*\textcolor{keyword}{>}(\textcolor{keyword}{this})-\/>*Storage;}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00774}00774 \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00775}00775 \mbox{\hyperlink{tdecl_8h_a7f62d0731631a0e7675f45924b7f5ea0}{KBLIB\_NODISCARD}} \textcolor{keyword}{auto} base() \textcolor{keyword}{const} \textcolor{keyword}{noexcept} -\/> \textcolor{keyword}{const} member\_t\& \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00776}00776 \textcolor{keywordflow}{return} \textcolor{keyword}{reinterpret\_cast<}\textcolor{keyword}{const }class\_t*\textcolor{keyword}{>}(\textcolor{keyword}{this})-\/>*Storage;}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00777}00777 \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00778}00778 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00779}00779 \textcolor{keyword}{public}:}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00780}\mbox{\hyperlink{classkblib_1_1union__pun_ade0367e68af4e5093949428a766f8bf7}{00780}} \mbox{\hyperlink{tdecl_8h_a7f62d0731631a0e7675f45924b7f5ea0}{KBLIB\_NODISCARD}} \textcolor{keyword}{auto} \mbox{\hyperlink{classkblib_1_1union__pun_ade0367e68af4e5093949428a766f8bf7}{operator()}}() const noexcept -\/> \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__proxy}{const\_proxy\_t}} \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00781}00781 \textcolor{keywordflow}{return} \{base()\};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00782}00782 \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00783}\mbox{\hyperlink{classkblib_1_1union__pun_a1deda91c88c6f9ebbb80dea7c97d11f9}{00783}} \textcolor{keyword}{auto} \mbox{\hyperlink{classkblib_1_1union__pun_a1deda91c88c6f9ebbb80dea7c97d11f9}{operator()}}(\textcolor{keyword}{const} Type val) \textcolor{keyword}{noexcept} -\/> \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__proxy}{proxy\_t}} \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00784}00784 std::memcpy(\&base(), \&val, \textcolor{keyword}{sizeof} val);}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00785}00785 \textcolor{keywordflow}{return} \{base()\};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00786}00786 \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00787}\mbox{\hyperlink{classkblib_1_1union__pun_a8c459942098cd37619a15624f14f6658}{00787}} \textcolor{keyword}{operator} Type() const noexcept \{ \textcolor{keywordflow}{return} (*\textcolor{keyword}{this})(); \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00788}\mbox{\hyperlink{classkblib_1_1union__pun_a2675b6877804247accd20bec2993dfbc}{00788}} \textcolor{keyword}{auto} \mbox{\hyperlink{classkblib_1_1union__pun_a2675b6877804247accd20bec2993dfbc}{operator=}}(\textcolor{keyword}{const} Type val) \textcolor{keyword}{noexcept} -\/> \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__proxy}{proxy\_t}} \{ \textcolor{keywordflow}{return} (*\textcolor{keyword}{this})(val); \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00789}00789 \};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00790}00790 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00791}00791 \textcolor{keyword}{template} <\textcolor{keyword}{typename} Type, std::\textcolor{keywordtype}{size\_t} N, auto Storage>}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00792}\mbox{\hyperlink{classkblib_1_1union__pun_3_01_type_0f_n_0e_00_01_storage_01_4}{00792}} \textcolor{keyword}{class }\mbox{\hyperlink{classkblib_1_1union__pun}{union\_pun}} \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00793}00793 \textcolor{keyword}{private}:}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00794}00794 \textcolor{keyword}{using }class\_t = kblib::class\_t;}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00795}00795 \textcolor{keyword}{using }member\_t = kblib::member\_t;}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00796}00796 \textcolor{keyword}{using }type = std::array;}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00797}00797 \textcolor{keyword}{using }\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__proxy}{proxy\_t}} = \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__proxy}{detail\_bits::pun\_proxy}};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00798}00798 \textcolor{keyword}{using }\mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__proxy}{const\_proxy\_t}} = \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__proxy}{detail\_bits::pun\_proxy}};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00799}00799 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00800}00800 \textcolor{keyword}{static\_assert}(\textcolor{keyword}{sizeof}(type) <= \textcolor{keyword}{sizeof}(member\_t),}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00801}00801 \textcolor{stringliteral}{"{}Type will not fit in the provided storage."{}});}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00802}00802 \textcolor{keyword}{static\_assert}(std::is\_trivially\_copyable\_v,}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00803}00803 \textcolor{stringliteral}{"{}Type must be trivially copyable."{}});}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00804}00804 \textcolor{keyword}{static\_assert}(}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00805}00805 std::is\_trivially\_copyable\_v>,}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00806}00806 \textcolor{stringliteral}{"{}Storage type must be trivially copyable."{}});}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00807}00807 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00808}00808 \mbox{\hyperlink{tdecl_8h_a7f62d0731631a0e7675f45924b7f5ea0}{KBLIB\_NODISCARD}} \textcolor{keyword}{auto} base() \textcolor{keyword}{noexcept} -\/> member\_t\& \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00809}00809 \textcolor{keywordflow}{return} \textcolor{keyword}{reinterpret\_cast<}class\_t*\textcolor{keyword}{>}(\textcolor{keyword}{this})-\/>*Storage;}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00810}00810 \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00811}00811 \mbox{\hyperlink{tdecl_8h_a7f62d0731631a0e7675f45924b7f5ea0}{KBLIB\_NODISCARD}} \textcolor{keyword}{auto} base() \textcolor{keyword}{const} \textcolor{keyword}{noexcept} -\/> \textcolor{keyword}{const} member\_t\& \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00812}00812 \textcolor{keywordflow}{return} \textcolor{keyword}{reinterpret\_cast<}\textcolor{keyword}{const }class\_t*\textcolor{keyword}{>}(\textcolor{keyword}{this})-\/>*Storage;}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00813}00813 \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00814}00814 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00815}00815 \textcolor{keyword}{public}:}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00816}\mbox{\hyperlink{classkblib_1_1union__pun_3_01_type_0f_n_0e_00_01_storage_01_4_a4538124e8a9c52f2e66666e8f991ec52}{00816}} \mbox{\hyperlink{tdecl_8h_a7f62d0731631a0e7675f45924b7f5ea0}{KBLIB\_NODISCARD}} \textcolor{keyword}{auto} \mbox{\hyperlink{classkblib_1_1union__pun_3_01_type_0f_n_0e_00_01_storage_01_4_a4538124e8a9c52f2e66666e8f991ec52}{operator()}}() const noexcept -\/> \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__proxy}{const\_proxy\_t}} \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00817}00817 \textcolor{keywordflow}{return} \{base()\};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00818}00818 \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00819}\mbox{\hyperlink{classkblib_1_1union__pun_3_01_type_0f_n_0e_00_01_storage_01_4_aff9914b7dcaf1d66864f420e4c278258}{00819}} \textcolor{keyword}{auto} \mbox{\hyperlink{classkblib_1_1union__pun_3_01_type_0f_n_0e_00_01_storage_01_4_aff9914b7dcaf1d66864f420e4c278258}{operator()}}(\textcolor{keyword}{const} Type (\&val)[N]) \textcolor{keyword}{noexcept} -\/> \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__proxy}{proxy\_t}} \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00820}00820 std::memcpy(\&base(), \&val, \textcolor{keyword}{sizeof} val);}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00821}00821 \textcolor{keywordflow}{return} \{base()\};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00822}00822 \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00823}\mbox{\hyperlink{classkblib_1_1union__pun_3_01_type_0f_n_0e_00_01_storage_01_4_a8acca356bb7d62bfb206b1aa14eaa5c7}{00823}} \textcolor{keyword}{operator} type() const noexcept \{ \textcolor{keywordflow}{return} (*\textcolor{keyword}{this})(); \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00824}\mbox{\hyperlink{classkblib_1_1union__pun_3_01_type_0f_n_0e_00_01_storage_01_4_a79f72904d12b1e49e4bcd156b18aa87c}{00824}} \textcolor{keyword}{auto} \mbox{\hyperlink{classkblib_1_1union__pun_3_01_type_0f_n_0e_00_01_storage_01_4_a79f72904d12b1e49e4bcd156b18aa87c}{operator=}}(\textcolor{keyword}{const} Type (\&val)[N]) \textcolor{keyword}{noexcept} -\/> \mbox{\hyperlink{structkblib_1_1detail__bits_1_1pun__proxy}{proxy\_t}} \{}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00825}00825 \textcolor{keywordflow}{return} (*\textcolor{keyword}{this})(val);}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00826}00826 \}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00827}00827 \};}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00828}00828 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00829}00829 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00830}00830 \} \textcolor{comment}{// namespace KBLIB\_NS}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00831}00831 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00832}00832 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// KBLIB\_BITS\_H}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00833}00833 }
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00834}00834 \textcolor{preprocessor}{\#if KBLIB\_DEF\_MACROS and not defined(BITFIELD)}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00863}\mbox{\hyperlink{bits_8h_a15bd8019a95bdacddc1e0c896540fdba}{00863}} \textcolor{preprocessor}{\#define BITFIELD(offset, size, name, raw) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00864}00864 \textcolor{preprocessor}{ KBLIB\_INTERNAL\_BITFIELD\_MACRO(offset, size, name, raw)}}
\DoxyCodeLine{\Hypertarget{bits_8h_source_l00865}00865 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// KBLIB\_DEF\_MACROS and not defined(BITFIELD)}}
\end{DoxyCode}