Blaze  3.6
All.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_UTIL_TYPETRAITS_ALL_H_
36 #define _BLAZE_UTIL_TYPETRAITS_ALL_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
44 #include <blaze/util/mpl/And.h>
45 
46 
47 namespace blaze {
48 
49 //=================================================================================================
50 //
51 // CLASS DEFINITION
52 //
53 //=================================================================================================
54 
55 //*************************************************************************************************
79 template< template< typename > class TypeTrait // Type trait to be evaluated on all operands
80  , typename T1 // Type of the first mandatory operand
81  , typename T2 // Type of the second mandatory operand
82  , typename... Ts > // Types of the optional operands
83 struct All
84  : public BoolConstant< And_t< TypeTrait<T1>, TypeTrait<T2>, TypeTrait<Ts>... >::value >
85 {};
86 //*************************************************************************************************
87 
88 
89 //*************************************************************************************************
102 template< template< typename > class TypeTrait // Type trait to be evaluated on all operands
103  , typename T1 // Type of the first mandatory operand
104  , typename T2 // Type of the second mandatory operand
105  , typename... Ts > // Types of the optional operands
106 constexpr bool All_v = All<TypeTrait,T1,T2,Ts...>::value;
107 //*************************************************************************************************
108 
109 } // namespace blaze
110 
111 #endif
Generic wrapper for a compile time constant integral value.The IntegralConstant class template repres...
Definition: IntegralConstant.h:72
Header file for the And_t alias template.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Compile time type check.This type trait determines whether the given type trait TypeTrait evaluates t...
Definition: All.h:83
Header file for the IntegralConstant class template.
constexpr bool All_v
Auxiliary variable template for the All type trait.The All_v variable template provides a convenient ...
Definition: All.h:106