Blaze 3.9
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
47namespace blaze {
48
49//=================================================================================================
50//
51// CLASS DEFINITION
52//
53//=================================================================================================
54
55//*************************************************************************************************
79template< 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
83struct Any
84 : public BoolConstant< Or_t< TypeTrait<T1>, TypeTrait<T2>, TypeTrait<Ts>... >::value >
85{};
86//*************************************************************************************************
87
88
89//*************************************************************************************************
102template< 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
106constexpr bool Any_v = Any<TypeTrait,T1,T2,Ts...>::value;
107//*************************************************************************************************
108
109} // namespace blaze
110
111#endif
Header file for the IntegralConstant class template.
constexpr bool Any_v
Auxiliary variable template for the Any type trait.
Definition: Any.h:106
Compile time type check.
Definition: Any.h:85
Generic wrapper for a compile time constant integral value.
Definition: IntegralConstant.h:74
Header file for the Or_t alias template.