Any.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_UTIL_TYPETRAITS_ANY_H_
36 #define _BLAZE_UTIL_TYPETRAITS_ANY_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
44 #include <blaze/util/mpl/Or.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 Any
84  : public BoolConstant< Or< 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 Any_v = Any<TypeTrait,T1,T2,Ts...>::value;
107 //*************************************************************************************************
108 
109 } // namespace blaze
110 
111 #endif
constexpr bool Any_v
Auxiliary variable template for the Any type trait.The Any_v variable template provides a convenient ...
Definition: Any.h:106
Generic wrapper for a compile time constant integral value.The IntegralConstant class template repres...
Definition: IntegralConstant.h:71
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Header file for the Or class template.
Compile time type check.This type trait determines whether the given type trait TypeTrait evaluates t...
Definition: Any.h:83
Header file for the IntegralConstant class template.