And.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_UTIL_MPL_AND_H_
36 #define _BLAZE_UTIL_MPL_AND_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
43 #include <blaze/util/mpl/Bool.h>
44 #include <blaze/util/mpl/Bools.h>
46 
47 
48 namespace blaze {
49 
50 //=================================================================================================
51 //
52 // CLASS DEFINITION
53 //
54 //=================================================================================================
55 
56 //*************************************************************************************************
73 template< typename T1 // Type of the first mandatory operand
74  , typename T2 // Type of the second mandatory operand
75  , typename... Ts > // Types of the optional operands
76 struct And
77  : public Bool< IsSame< Bools< true, T1::value, T2::value, (Ts::value)... >
78  , Bools< T1::value, T2::value, (Ts::value)..., true > >::value >
79 {};
80 //*************************************************************************************************
81 
82 } // namespace blaze
83 
84 #endif
Header file for the IsSame and IsStrictlySame type traits.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Compile time integral constant wrapper for bool.The Bool class template represents an integral wrappe...
Definition: Bool.h:70
Compile time logical &#39;and&#39; evaluation.The And alias declaration performs at compile time a logical &#39;a...
Definition: And.h:76
Header file for the Bools class template.
Header file for the Bool class template.