\hypertarget{struct_k_b_l_i_b___n_s_1_1trivial__array}{}\doxysection{KBLIB\+\_\+\+NS\+::trivial\+\_\+array\texorpdfstring{$<$}{<} T, N \texorpdfstring{$>$}{>} Struct Template Reference}
\label{struct_k_b_l_i_b___n_s_1_1trivial__array}\index{KBLIB\_NS::trivial\_array$<$ T, N $>$@{KBLIB\_NS::trivial\_array$<$ T, N $>$}}


std\+::array isn\textquotesingle{}t constexpr enough in C++14, so a dedicated array class is needed for constexpr functions.  




{\ttfamily \#include $<$kblib/stats.\+h$>$}

\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array_ae4d61c796e1f92ce6222879daa72fb80}{operator\mbox{[}$\,$\mbox{]}}} (std\+::size\+\_\+t n) -\/$>$ T \&
\item 
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array_a92696deecffec82546c215f7f2898f8d}{operator\mbox{[}$\,$\mbox{]}}} (std\+::size\+\_\+t n) const -\/$>$ const T \&
\item 
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array_a81940d87cf2577a98c37637fb8aaa002}{size}} () const -\/$>$ std\+::size\+\_\+t
\item 
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array_aa541c735c93da74dbd1f4dac64399a6e}{begin}} () \&noexcept -\/$>$ T $\ast$
\item 
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array_a17dbccc64be81e81229a23753833d7f6}{begin}} () const \&noexcept -\/$>$ const T $\ast$
\item 
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array_a256d24446c69a7a795a7ac11936e87f3}{end}} () \&noexcept -\/$>$ T $\ast$
\item 
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array_a0c19c6a4ced2bea1cc0b0055a9d926fd}{end}} () const \&noexcept -\/$>$ const T $\ast$
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
T \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array_a97a7d0a402cc504830b1d52fa7cbf68e}{arr}} \mbox{[}N\mbox{]}
\end{DoxyCompactItemize}
\doxysubsection*{Friends}
\begin{DoxyCompactItemize}
\item 
constexpr friend auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array_ae8d35fd6a7c4f7955b06d9dfa8490c5a}{operator==}} (const \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array}{trivial\+\_\+array}} \&\mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a228a6004801f23e3746cd67df6bcbeb6}{a}}, const \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array}{trivial\+\_\+array}} \&b) noexcept -\/$>$ bool
\item 
constexpr friend auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array_afdd3d0ad0fba5ed12b58dfa68aebb5af}{operator!=}} (const \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array}{trivial\+\_\+array}} \&\mbox{\hyperlink{namespace_k_b_l_i_b___n_s_a228a6004801f23e3746cd67df6bcbeb6}{a}}, const \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array}{trivial\+\_\+array}} \&b) noexcept -\/$>$ bool
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename T, std\+::size\+\_\+t N$>$\newline
struct KBLIB\+\_\+\+NS\+::trivial\+\_\+array$<$ T, N $>$}
std\+::array isn\textquotesingle{}t constexpr enough in C++14, so a dedicated array class is needed for constexpr functions. 

Definition at line \mbox{\hyperlink{stats_8h_source_l00084}{84}} of file \mbox{\hyperlink{stats_8h_source}{stats.\+h}}.



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1trivial__array_aa541c735c93da74dbd1f4dac64399a6e}\label{struct_k_b_l_i_b___n_s_1_1trivial__array_aa541c735c93da74dbd1f4dac64399a6e}} 
\index{KBLIB\_NS::trivial\_array$<$ T, N $>$@{KBLIB\_NS::trivial\_array$<$ T, N $>$}!begin@{begin}}
\index{begin@{begin}!KBLIB\_NS::trivial\_array$<$ T, N $>$@{KBLIB\_NS::trivial\_array$<$ T, N $>$}}
\doxysubsubsection{\texorpdfstring{begin()}{begin()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename T , std\+::size\+\_\+t N$>$ \\
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array}{KBLIB\+\_\+\+NS\+::trivial\+\_\+array}}$<$ T, N $>$\+::begin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) \& -\/$>$ T$\ast$ \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{stats_8h_source_l00093}{93}} of file \mbox{\hyperlink{stats_8h_source}{stats.\+h}}.

\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1trivial__array_a17dbccc64be81e81229a23753833d7f6}\label{struct_k_b_l_i_b___n_s_1_1trivial__array_a17dbccc64be81e81229a23753833d7f6}} 
\index{KBLIB\_NS::trivial\_array$<$ T, N $>$@{KBLIB\_NS::trivial\_array$<$ T, N $>$}!begin@{begin}}
\index{begin@{begin}!KBLIB\_NS::trivial\_array$<$ T, N $>$@{KBLIB\_NS::trivial\_array$<$ T, N $>$}}
\doxysubsubsection{\texorpdfstring{begin()}{begin()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename T , std\+::size\+\_\+t N$>$ \\
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array}{KBLIB\+\_\+\+NS\+::trivial\+\_\+array}}$<$ T, N $>$\+::begin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const \& -\/$>$ const T$\ast$ \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{stats_8h_source_l00094}{94}} of file \mbox{\hyperlink{stats_8h_source}{stats.\+h}}.

\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1trivial__array_a256d24446c69a7a795a7ac11936e87f3}\label{struct_k_b_l_i_b___n_s_1_1trivial__array_a256d24446c69a7a795a7ac11936e87f3}} 
\index{KBLIB\_NS::trivial\_array$<$ T, N $>$@{KBLIB\_NS::trivial\_array$<$ T, N $>$}!end@{end}}
\index{end@{end}!KBLIB\_NS::trivial\_array$<$ T, N $>$@{KBLIB\_NS::trivial\_array$<$ T, N $>$}}
\doxysubsubsection{\texorpdfstring{end()}{end()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename T , std\+::size\+\_\+t N$>$ \\
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array}{KBLIB\+\_\+\+NS\+::trivial\+\_\+array}}$<$ T, N $>$\+::end (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) \& -\/$>$ T$\ast$ \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{stats_8h_source_l00097}{97}} of file \mbox{\hyperlink{stats_8h_source}{stats.\+h}}.

\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1trivial__array_a0c19c6a4ced2bea1cc0b0055a9d926fd}\label{struct_k_b_l_i_b___n_s_1_1trivial__array_a0c19c6a4ced2bea1cc0b0055a9d926fd}} 
\index{KBLIB\_NS::trivial\_array$<$ T, N $>$@{KBLIB\_NS::trivial\_array$<$ T, N $>$}!end@{end}}
\index{end@{end}!KBLIB\_NS::trivial\_array$<$ T, N $>$@{KBLIB\_NS::trivial\_array$<$ T, N $>$}}
\doxysubsubsection{\texorpdfstring{end()}{end()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename T , std\+::size\+\_\+t N$>$ \\
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array}{KBLIB\+\_\+\+NS\+::trivial\+\_\+array}}$<$ T, N $>$\+::end (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const \& -\/$>$ const T$\ast$ \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [constexpr]}, {\ttfamily [noexcept]}}



Definition at line \mbox{\hyperlink{stats_8h_source_l00098}{98}} of file \mbox{\hyperlink{stats_8h_source}{stats.\+h}}.

\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1trivial__array_ae4d61c796e1f92ce6222879daa72fb80}\label{struct_k_b_l_i_b___n_s_1_1trivial__array_ae4d61c796e1f92ce6222879daa72fb80}} 
\index{KBLIB\_NS::trivial\_array$<$ T, N $>$@{KBLIB\_NS::trivial\_array$<$ T, N $>$}!operator\mbox{[}\mbox{]}@{operator[]}}
\index{operator\mbox{[}\mbox{]}@{operator[]}!KBLIB\_NS::trivial\_array$<$ T, N $>$@{KBLIB\_NS::trivial\_array$<$ T, N $>$}}
\doxysubsubsection{\texorpdfstring{operator[]()}{operator[]()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename T , std\+::size\+\_\+t N$>$ \\
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array}{KBLIB\+\_\+\+NS\+::trivial\+\_\+array}}$<$ T, N $>$\+::operator\mbox{[}$\,$\mbox{]} (\begin{DoxyParamCaption}\item[{std\+::size\+\_\+t}]{n }\end{DoxyParamCaption}) -\/$>$ T\& \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [constexpr]}}



Definition at line \mbox{\hyperlink{stats_8h_source_l00086}{86}} of file \mbox{\hyperlink{stats_8h_source}{stats.\+h}}.

\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1trivial__array_a92696deecffec82546c215f7f2898f8d}\label{struct_k_b_l_i_b___n_s_1_1trivial__array_a92696deecffec82546c215f7f2898f8d}} 
\index{KBLIB\_NS::trivial\_array$<$ T, N $>$@{KBLIB\_NS::trivial\_array$<$ T, N $>$}!operator\mbox{[}\mbox{]}@{operator[]}}
\index{operator\mbox{[}\mbox{]}@{operator[]}!KBLIB\_NS::trivial\_array$<$ T, N $>$@{KBLIB\_NS::trivial\_array$<$ T, N $>$}}
\doxysubsubsection{\texorpdfstring{operator[]()}{operator[]()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename T , std\+::size\+\_\+t N$>$ \\
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array}{KBLIB\+\_\+\+NS\+::trivial\+\_\+array}}$<$ T, N $>$\+::operator\mbox{[}$\,$\mbox{]} (\begin{DoxyParamCaption}\item[{std\+::size\+\_\+t}]{n }\end{DoxyParamCaption}) const -\/$>$ const T\& \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [constexpr]}}



Definition at line \mbox{\hyperlink{stats_8h_source_l00089}{89}} of file \mbox{\hyperlink{stats_8h_source}{stats.\+h}}.

\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1trivial__array_a81940d87cf2577a98c37637fb8aaa002}\label{struct_k_b_l_i_b___n_s_1_1trivial__array_a81940d87cf2577a98c37637fb8aaa002}} 
\index{KBLIB\_NS::trivial\_array$<$ T, N $>$@{KBLIB\_NS::trivial\_array$<$ T, N $>$}!size@{size}}
\index{size@{size}!KBLIB\_NS::trivial\_array$<$ T, N $>$@{KBLIB\_NS::trivial\_array$<$ T, N $>$}}
\doxysubsubsection{\texorpdfstring{size()}{size()}}
{\footnotesize\ttfamily template$<$typename T , std\+::size\+\_\+t N$>$ \\
constexpr auto \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array}{KBLIB\+\_\+\+NS\+::trivial\+\_\+array}}$<$ T, N $>$\+::size (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const -\/$>$ std\+::size\+\_\+t \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [constexpr]}}



Definition at line \mbox{\hyperlink{stats_8h_source_l00092}{92}} of file \mbox{\hyperlink{stats_8h_source}{stats.\+h}}.



\doxysubsection{Friends And Related Function Documentation}
\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1trivial__array_afdd3d0ad0fba5ed12b58dfa68aebb5af}\label{struct_k_b_l_i_b___n_s_1_1trivial__array_afdd3d0ad0fba5ed12b58dfa68aebb5af}} 
\index{KBLIB\_NS::trivial\_array$<$ T, N $>$@{KBLIB\_NS::trivial\_array$<$ T, N $>$}!operator"!=@{operator"!=}}
\index{operator"!=@{operator"!=}!KBLIB\_NS::trivial\_array$<$ T, N $>$@{KBLIB\_NS::trivial\_array$<$ T, N $>$}}
\doxysubsubsection{\texorpdfstring{operator"!=}{operator!=}}
{\footnotesize\ttfamily template$<$typename T , std\+::size\+\_\+t N$>$ \\
constexpr friend auto operator!= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array}{trivial\+\_\+array}}$<$ T, N $>$ \&}]{a,  }\item[{const \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array}{trivial\+\_\+array}}$<$ T, N $>$ \&}]{b }\end{DoxyParamCaption}) -\/$>$ bool \hspace{0.3cm}{\ttfamily [friend]}}



Definition at line \mbox{\hyperlink{stats_8h_source_l00106}{106}} of file \mbox{\hyperlink{stats_8h_source}{stats.\+h}}.

\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1trivial__array_ae8d35fd6a7c4f7955b06d9dfa8490c5a}\label{struct_k_b_l_i_b___n_s_1_1trivial__array_ae8d35fd6a7c4f7955b06d9dfa8490c5a}} 
\index{KBLIB\_NS::trivial\_array$<$ T, N $>$@{KBLIB\_NS::trivial\_array$<$ T, N $>$}!operator==@{operator==}}
\index{operator==@{operator==}!KBLIB\_NS::trivial\_array$<$ T, N $>$@{KBLIB\_NS::trivial\_array$<$ T, N $>$}}
\doxysubsubsection{\texorpdfstring{operator==}{operator==}}
{\footnotesize\ttfamily template$<$typename T , std\+::size\+\_\+t N$>$ \\
constexpr friend auto operator== (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array}{trivial\+\_\+array}}$<$ T, N $>$ \&}]{a,  }\item[{const \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array}{trivial\+\_\+array}}$<$ T, N $>$ \&}]{b }\end{DoxyParamCaption}) -\/$>$ bool \hspace{0.3cm}{\ttfamily [friend]}}



Definition at line \mbox{\hyperlink{stats_8h_source_l00102}{102}} of file \mbox{\hyperlink{stats_8h_source}{stats.\+h}}.



\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{struct_k_b_l_i_b___n_s_1_1trivial__array_a97a7d0a402cc504830b1d52fa7cbf68e}\label{struct_k_b_l_i_b___n_s_1_1trivial__array_a97a7d0a402cc504830b1d52fa7cbf68e}} 
\index{KBLIB\_NS::trivial\_array$<$ T, N $>$@{KBLIB\_NS::trivial\_array$<$ T, N $>$}!arr@{arr}}
\index{arr@{arr}!KBLIB\_NS::trivial\_array$<$ T, N $>$@{KBLIB\_NS::trivial\_array$<$ T, N $>$}}
\doxysubsubsection{\texorpdfstring{arr}{arr}}
{\footnotesize\ttfamily template$<$typename T , std\+::size\+\_\+t N$>$ \\
T \mbox{\hyperlink{struct_k_b_l_i_b___n_s_1_1trivial__array}{KBLIB\+\_\+\+NS\+::trivial\+\_\+array}}$<$ T, N $>$\+::arr\mbox{[}N\mbox{]}}



Definition at line \mbox{\hyperlink{stats_8h_source_l00085}{85}} of file \mbox{\hyperlink{stats_8h_source}{stats.\+h}}.



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
kblib/\mbox{\hyperlink{stats_8h}{stats.\+h}}\end{DoxyCompactItemize}
