StorageOrder.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_TYPETRAITS_STORAGEORDER_H_
36 #define _BLAZE_MATH_TYPETRAITS_STORAGEORDER_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
43 #include <utility>
47 
48 
49 namespace blaze {
50 
51 //=================================================================================================
52 //
53 // CLASS DEFINITION
54 //
55 //=================================================================================================
56 
57 //*************************************************************************************************
62 template< typename T >
63 struct StorageOrderHelper
64 {
65  private:
66  //**********************************************************************************************
67  template< typename MT, bool SO >
68  static BoolConstant<SO> test( const Matrix<MT,SO>& );
69  //**********************************************************************************************
70 
71  public:
72  //**********************************************************************************************
73  using Type = decltype( test( std::declval< RemoveCV_<T> >() ) );
74  //**********************************************************************************************
75 };
77 //*************************************************************************************************
78 
79 
80 //*************************************************************************************************
98 template< typename T >
100  : public StorageOrderHelper<T>::Type
101 {};
102 //*************************************************************************************************
103 
104 } // namespace blaze
105 
106 #endif
Header file for the RemoveCV type trait.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Header file for the Matrix base class.
Evaluation of the storage order of a given matrix type.Via this type trait it is possible to evaluate...
Definition: StorageOrder.h:99
Header file for the IntegralConstant class template.