Blaze  3.6
IntegralConstant.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_UTIL_INTEGRALCONSTANT_H_
36 #define _BLAZE_UTIL_INTEGRALCONSTANT_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
43 #include <type_traits>
44 #include <blaze/util/Types.h>
45 
46 
47 namespace blaze {
48 
49 //=================================================================================================
50 //
51 // CLASS DEFINITION
52 //
53 //=================================================================================================
54 
55 //*************************************************************************************************
71 template< typename T, T N >
73  : public std::integral_constant<T,N>
74 {
75  //**********************************************************************************************
77  using ValueType = T;
78  using Type = IntegralConstant<T,N>;
80  //**********************************************************************************************
81 };
82 //*************************************************************************************************
83 
84 
85 
86 
87 //=================================================================================================
88 //
89 // ALIAS DECLARATIONS
90 //
91 //=================================================================================================
92 
93 //*************************************************************************************************
109 template< bool B >
111 //*************************************************************************************************
112 
113 
114 //*************************************************************************************************
122 //*************************************************************************************************
123 
124 
125 //*************************************************************************************************
133 //*************************************************************************************************
134 
135 
136 //*************************************************************************************************
152 template< bool B >
154 //*************************************************************************************************
155 
156 
157 //*************************************************************************************************
173 template< char N >
175 //*************************************************************************************************
176 
177 
178 //*************************************************************************************************
194 template< int N >
196 //*************************************************************************************************
197 
198 
199 //*************************************************************************************************
215 template< long N >
217 //*************************************************************************************************
218 
219 
220 //*************************************************************************************************
236 template< ptrdiff_t N >
238 //*************************************************************************************************
239 
240 
241 //*************************************************************************************************
257 template< size_t N >
259 //*************************************************************************************************
260 
261 
262 
263 
264 //=================================================================================================
265 //
266 // GLOBAL FUNCTIONS
267 //
268 //=================================================================================================
269 
270 //*************************************************************************************************
279 template< bool B >
281 {
282  return BoolConstant<!B>();
283 }
284 //*************************************************************************************************
285 
286 
287 //*************************************************************************************************
296 template< bool B1, bool B2 >
298 {
299  return BoolConstant< B1 && B2 >();
300 }
301 //*************************************************************************************************
302 
303 
304 //*************************************************************************************************
313 template< bool B1, bool B2 >
315 {
316  return BoolConstant< B1 || B2 >();
317 }
318 //*************************************************************************************************
319 
320 } // namespace blaze
321 
322 #endif
Header file for basic type definitions.
decltype(auto) operator||(const DenseMatrix< MT1, SO1 > &lhs, const DenseMatrix< MT2, SO2 > &rhs)
Logical OR operator for two dense matrices.
Definition: DMatDMatMapExpr.h:1629
Generic wrapper for a compile time constant integral value.The IntegralConstant class template repres...
Definition: IntegralConstant.h:72
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
decltype(auto) operator &&(const DenseMatrix< MT1, SO1 > &lhs, const DenseMatrix< MT2, SO2 > &rhs)
Logical AND operator for two dense matrices.
Definition: DMatDMatMapExpr.h:1595
decltype(auto) operator!(const DenseMatrix< MT, SO > &mat)
Logical NOT operator for the logical NOT of a dense matrix.
Definition: DMatMapExpr.h:2777