Blaze 3.9
IsRowVector.h
Go to the documentation of this file.
1//=================================================================================================
33//=================================================================================================
34
35#ifndef _BLAZE_MATH_TYPETRAITS_ISROWVECTOR_H_
36#define _BLAZE_MATH_TYPETRAITS_ISROWVECTOR_H_
37
38
39//*************************************************************************************************
40// Includes
41//*************************************************************************************************
42
43#include <utility>
47
48
49namespace blaze {
50
51//=================================================================================================
52//
53// CLASS DEFINITION
54//
55//=================================================================================================
56
57//*************************************************************************************************
62template< typename VT >
63TrueType isRowVector_backend( const volatile Vector<VT,rowVector>* );
64
65FalseType isRowVector_backend( ... );
67//*************************************************************************************************
68
69
70//*************************************************************************************************
92template< typename T >
94 : public decltype( isRowVector_backend( std::declval<T*>() ) )
95{};
96//*************************************************************************************************
97
98
99//*************************************************************************************************
104template< typename T >
105struct IsRowVector<T&>
106 : public FalseType
107{};
109//*************************************************************************************************
110
111
112//*************************************************************************************************
125template< typename T >
127//*************************************************************************************************
128
129} // namespace blaze
130
131#endif
Header file for the IntegralConstant class template.
constexpr bool IsRowVector_v
Auxiliary variable template for the IsRowVector type trait.
Definition: IsRowVector.h:126
BoolConstant< true > TrueType
Type traits base class.
Definition: IntegralConstant.h:132
BoolConstant< false > FalseType
Type/value traits base class.
Definition: IntegralConstant.h:121
Header file for the vector transpose flag types.
Header file for all forward declarations for expression class templates.
Generic wrapper for a compile time constant integral value.
Definition: IntegralConstant.h:74
Compile time check for row vector types.
Definition: IsRowVector.h:95