\doxysection{gko::\+xstd Namespace Reference}
\hypertarget{namespacegko_1_1xstd}{}\label{namespacegko_1_1xstd}\index{gko::xstd@{gko::xstd}}


The namespace for functionalities after C++14 standard.  


\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \doxymbox{\hyperlink{structgko_1_1xstd_1_1type__identity}{type\+\_\+identity}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{namespacegko_1_1xstd_a2d53b45325a9d6c46906d80caf180869}\label{namespacegko_1_1xstd_a2d53b45325a9d6c46906d80caf180869} 
{\footnotesize template$<$typename... Ts$>$ }\\using {\bfseries void\+\_\+t} = typename detail::\+make\+\_\+void$<$Ts...$>$::\+type
\begin{DoxyCompactList}\small\item\em Use the custom implementation, since the std::\+void\+\_\+t used in is\+\_\+matrix\+\_\+type\+\_\+builder seems to trigger a compiler bug in GCC 7.\+5. \end{DoxyCompactList}\item 
\Hypertarget{namespacegko_1_1xstd_aa8f883be556bb30108d2473caf8d46a7}\label{namespacegko_1_1xstd_aa8f883be556bb30108d2473caf8d46a7} 
{\footnotesize template$<$bool B, typename T = void$>$ }\\using {\bfseries enable\+\_\+if\+\_\+t} = std::\+enable\+\_\+if\+\_\+t$<$B, T$>$
\item 
\Hypertarget{namespacegko_1_1xstd_a0ac17da8796990fd5dab38cf18f40592}\label{namespacegko_1_1xstd_a0ac17da8796990fd5dab38cf18f40592} 
{\footnotesize template$<$bool B, typename T, typename F$>$ }\\using {\bfseries conditional\+\_\+t} = std::\+conditional\+\_\+t$<$B, T, F$>$
\item 
\Hypertarget{namespacegko_1_1xstd_a85f9d4c5a6c2f4771efa4731e1d4e39f}\label{namespacegko_1_1xstd_a85f9d4c5a6c2f4771efa4731e1d4e39f} 
{\footnotesize template$<$typename T$>$ }\\using {\bfseries decay\+\_\+t} = std::\+decay\+\_\+t$<$T$>$
\item 
\Hypertarget{namespacegko_1_1xstd_a57177e1c29faa8796fbef72dba863d41}\label{namespacegko_1_1xstd_a57177e1c29faa8796fbef72dba863d41} 
{\footnotesize template$<$class... Ts$>$ }\\using {\bfseries conjunction} = std::\+conjunction$<$Ts...$>$
\item 
\Hypertarget{namespacegko_1_1xstd_a21e3840be3e8c1008c01bd64fd3fa3bf}\label{namespacegko_1_1xstd_a21e3840be3e8c1008c01bd64fd3fa3bf} 
{\footnotesize template$<$typename T$>$ }\\using {\bfseries type\+\_\+identity\+\_\+t} = typename \doxymbox{\hyperlink{structgko_1_1xstd_1_1type__identity}{type\+\_\+identity}}$<$T$>$::\+type
\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{namespacegko_1_1xstd_ae548646db50d716aa0e87186fbc1506d}\label{namespacegko_1_1xstd_ae548646db50d716aa0e87186fbc1506d} 
bool {\bfseries uncaught\+\_\+exception} () noexcept
\item 
\Hypertarget{namespacegko_1_1xstd_a9b0471652d383f73d20733fdfc24b6f0}\label{namespacegko_1_1xstd_a9b0471652d383f73d20733fdfc24b6f0} 
{\footnotesize template$<$typename T$>$ }\\constexpr bool {\bfseries greater} (const T \&\&lhs, const T \&\&rhs)
\item 
\Hypertarget{namespacegko_1_1xstd_a315162403fa8c26c2e21d150e1d29d6c}\label{namespacegko_1_1xstd_a315162403fa8c26c2e21d150e1d29d6c} 
{\footnotesize template$<$typename T$>$ }\\constexpr bool {\bfseries greater\+\_\+equal} (const T \&\&lhs, const T \&\&rhs)
\item 
\Hypertarget{namespacegko_1_1xstd_a9b82f6832c0e6e374d86387f70c603fd}\label{namespacegko_1_1xstd_a9b82f6832c0e6e374d86387f70c603fd} 
{\footnotesize template$<$typename T$>$ }\\constexpr bool {\bfseries less} (const T \&\&lhs, const T \&\&rhs)
\item 
\Hypertarget{namespacegko_1_1xstd_ad459f9d65cc6d1038d585033fae19beb}\label{namespacegko_1_1xstd_ad459f9d65cc6d1038d585033fae19beb} 
{\footnotesize template$<$typename T$>$ }\\constexpr bool {\bfseries less\+\_\+equal} (const T \&\&lhs, const T \&\&rhs)
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
The namespace for functionalities after C++14 standard. 