FougTools  0.7.0dev-046fb6a
Handy tools for C++, Qt and OpenCascade
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
bool_utils.h
Go to the documentation of this file.
1 /****************************************************************************
2 ** FougTools
3 ** Copyright Fougue (1 Mar. 2011)
4 ** contact@fougue.pro
5 **
6 ** This software is a computer program whose purpose is to provide utility
7 ** tools for the C++ language and the Qt toolkit.
8 **
9 ** This software is governed by the CeCILL-C license under French law and
10 ** abiding by the rules of distribution of free software. You can use,
11 ** modify and/ or redistribute the software under the terms of the CeCILL-C
12 ** license as circulated by CEA, CNRS and INRIA at the following URL
13 ** "http://www.cecill.info".
14 ****************************************************************************/
15 
16 #pragma once
17 
18 namespace cpp {
19 
23 template <typename T>
24 bool boolXor(T lhs, T rhs)
25 {
26  return (!lhs && rhs) || (lhs && !rhs);
27 }
28 
32 template <typename T>
33 bool boolImplies(T lhs, T rhs)
34 {
35  return lhs ? rhs : true;
36 }
37 
38 } // namespace cpp
Definition: basic_shared_pointer.h:20
bool boolXor(T lhs, T rhs)
Returns "eXclusive OR" evaluation of expressions in lhs and rhs.
Definition: bool_utils.h:24
bool boolImplies(T lhs, T rhs)
Returns "boolean implies" evaluation of expressions in lhs and rhs.
Definition: bool_utils.h:33