Size.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_TYPETRAITS_SIZE_H_
36 #define _BLAZE_MATH_TYPETRAITS_SIZE_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
43 #include <blaze/util/mpl/SizeT.h>
44 #include <blaze/util/Types.h>
45 
46 
47 namespace blaze {
48 
49 //=================================================================================================
50 //
51 // CLASS DEFINITION
52 //
53 //=================================================================================================
54 
55 //*************************************************************************************************
74 template< typename T >
75 struct Size : public SizeT<0UL>
76 {};
77 //*************************************************************************************************
78 
79 
80 //*************************************************************************************************
85 template< typename T >
86 struct Size< const T > : public SizeT< Size<T>::value >
87 {};
89 //*************************************************************************************************
90 
91 
92 //*************************************************************************************************
97 template< typename T >
98 struct Size< volatile T > : public SizeT< Size<T>::value >
99 {};
101 //*************************************************************************************************
102 
103 
104 //*************************************************************************************************
109 template< typename T >
110 struct Size< const volatile T > : public SizeT< Size<T>::value >
111 {};
113 //*************************************************************************************************
114 
115 } // namespace blaze
116 
117 #endif
Header file for basic type definitions.
Header file for the SizeT class template.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
Compile time integral constant wrapper for size_t.The SizeT class template represents an integral wra...
Definition: SizeT.h:72
Compile time evaluation of the size of a vector.The Size type trait evaluates the size of the given v...
Definition: Size.h:75