Rank.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_UTIL_TYPETRAITS_RANK_H_
36 #define _BLAZE_UTIL_TYPETRAITS_RANK_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
44 
45 
46 namespace blaze {
47 
48 //=================================================================================================
49 //
50 // CLASS DEFINITION
51 //
52 //=================================================================================================
53 
54 //*************************************************************************************************
71 template< typename T >
72 struct Rank
73  : public IntegralConstant<size_t,0UL>
74 {};
75 //*************************************************************************************************
76 
77 
78 //*************************************************************************************************
80 template< typename T >
82 struct Rank<T[]>
83  : public IntegralConstant<size_t,1UL+Rank<T>::value>
84 {};
86 //*************************************************************************************************
87 
88 
89 //*************************************************************************************************
91 template< typename T, unsigned int N >
93 struct Rank<T[N]>
94  : public IntegralConstant<size_t,1UL+Rank<T>::value>
95 {};
97 //*************************************************************************************************
98 
99 } // namespace blaze
100 
101 #endif
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
Compile time check for array ranks.This type trait determines the rank of the given template argument...
Definition: Rank.h:72
Header file for the IntegralConstant class template.