TransposeFlag.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_TYPETRAITS_TRANSPOSEFLAG_H_
36 #define _BLAZE_MATH_TYPETRAITS_TRANSPOSEFLAG_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
46 #include <blaze/util/InvalidType.h>
47 #include <blaze/util/mpl/If.h>
48 
49 
50 namespace blaze {
51 
52 //=================================================================================================
53 //
54 // CLASS DEFINITION
55 //
56 //=================================================================================================
57 
58 //*************************************************************************************************
76 template< typename T >
78 {
79  private:
80  //**struct ValidType****************************************************************************
82  struct ValidType {
83  static const bool value = ( IsRowVector<T>::value ? rowVector : columnVector );
84  };
86  //**********************************************************************************************
87 
88  public:
89  //**********************************************************************************************
91  static const bool value = If< IsVector<T>, ValidType, INVALID_TYPE >::Type::value;
93  //**********************************************************************************************
94 };
95 //*************************************************************************************************
96 
97 } // namespace blaze
98 
99 #endif
const bool columnVector
Transpose flag for column vectors.
Definition: TransposeFlag.h:58
Compile time check for row vector types.This type trait tests whether or not the given template argum...
Definition: IsRowVector.h:107
const bool rowVector
Transpose flag for row vectors.
Definition: TransposeFlag.h:73
Compile time type selection.The If class template selects one of the two given types T2 and T3 depend...
Definition: If.h:112
Header file for the IsRowVector type trait.
Header file for the vector transpose flag types.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
Header file for the If class template.
Header file for the IsVector type trait.
Evaluation of the transpose flag of a given matrix type.Via this type trait it is possible to evaluat...
Definition: TransposeFlag.h:77
Utility type for generic codes.