\hypertarget{logic_8h_source}{}\doxysection{logic.\+h}
\label{logic_8h_source}\index{kblib/logic.h@{kblib/logic.h}}
\mbox{\hyperlink{logic_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00001}00001 \textcolor{comment}{/* *****************************************************************************}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00002}00002 \textcolor{comment}{ * kblib is a general utility library for C++14 and C++17, intended to provide}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00003}00003 \textcolor{comment}{ * performant high-\/level abstractions and more expressive ways to do simple}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00004}00004 \textcolor{comment}{ * things.}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00005}00005 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00006}00006 \textcolor{comment}{ * Copyright (c) 2021 killerbee}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00007}00007 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00008}00008 \textcolor{comment}{ * This program is free software: you can redistribute it and/or modify}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00009}00009 \textcolor{comment}{ * it under the terms of the GNU General Public License as published by}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00010}00010 \textcolor{comment}{ * the Free Software Foundation, either version 3 of the License, or}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00011}00011 \textcolor{comment}{ * (at your option) any later version.}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00012}00012 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00013}00013 \textcolor{comment}{ * This program is distributed in the hope that it will be useful,}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00014}00014 \textcolor{comment}{ * but WITHOUT ANY WARRANTY; without even the implied warranty of}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00015}00015 \textcolor{comment}{ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00016}00016 \textcolor{comment}{ * GNU General Public License for more details.}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00017}00017 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00018}00018 \textcolor{comment}{ * You should have received a copy of the GNU General Public License}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00019}00019 \textcolor{comment}{ * along with this program.  If not, see <https://www.gnu.org/licenses/>.}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00020}00020 \textcolor{comment}{ * ****************************************************************************/}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00021}00021 }
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00031}00031 \textcolor{preprocessor}{\#ifndef KBLIB\_LOGIC\_H}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00032}00032 \textcolor{preprocessor}{\#define KBLIB\_LOGIC\_H}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00033}00033 }
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00034}00034 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{tdecl_8h}{tdecl.h}}"{}}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00035}00035 }
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00036}00036 \textcolor{preprocessor}{\#include <type\_traits>}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00037}00037 }
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00038}00038 \textcolor{keyword}{namespace }\mbox{\hyperlink{tdecl_8h_a4b5c574c663a392148218cd4410fd7a1}{KBLIB\_NS}} \{}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00039}00039 }
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00044}00044 \textcolor{keyword}{template} <\textcolor{keywordtype}{bool} A, \textcolor{keywordtype}{bool} B>}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00045}\mbox{\hyperlink{structkblib_1_1implies}{00045}} \textcolor{keyword}{struct }\mbox{\hyperlink{structkblib_1_1implies}{implies}} : std::integral\_constant<bool, true> \{\};}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00046}00046 }
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00050}00050 \textcolor{keyword}{template} <>}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00051}\mbox{\hyperlink{structkblib_1_1implies_3_01true_00_01false_01_4}{00051}} \textcolor{keyword}{struct }\mbox{\hyperlink{structkblib_1_1implies}{implies}}<true, false> : std::integral\_constant<bool, false> \{\};}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00052}00052 }
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00053}00053 \textcolor{preprocessor}{\#if KBLIB\_USE\_CXX17}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00057}00057 \textcolor{keyword}{template} <\textcolor{keywordtype}{bool} A, \textcolor{keywordtype}{bool} B>}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00058}\mbox{\hyperlink{namespacekblib_a1bbf36db8dd7568fc671fe6972275dff}{00058}} \textcolor{keyword}{constexpr} \textcolor{keyword}{inline} \textcolor{keywordtype}{bool} \mbox{\hyperlink{namespacekblib_a1bbf36db8dd7568fc671fe6972275dff}{implies\_v}} = \mbox{\hyperlink{structkblib_1_1implies}{implies<A, B>::value}};}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00059}00059 }
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00060}00060 \textcolor{keyword}{template} <\textcolor{keywordtype}{bool}... args>}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00061}\mbox{\hyperlink{namespacekblib_a8adff72b30cc79a9a17d79aecb1796b3}{00061}} \textcolor{keyword}{constexpr} \textcolor{keyword}{inline} \textcolor{keywordtype}{bool} \mbox{\hyperlink{namespacekblib_a8adff72b30cc79a9a17d79aecb1796b3}{conjunction\_v}} = (args and ...);}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00062}00062 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00063}00063 }
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00064}00064 \} \textcolor{comment}{// namespace KBLIB\_NS}}
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00065}00065 }
\DoxyCodeLine{\Hypertarget{logic_8h_source_l00066}00066 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// KBLIB\_LOGIC\_H}}

\end{DoxyCode}
