Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
blaze
math
traits
RowTrait.h
Go to the documentation of this file.
1
//=================================================================================================
20
//=================================================================================================
21
22
#ifndef _BLAZE_MATH_TRAITS_ROWTRAIT_H_
23
#define _BLAZE_MATH_TRAITS_ROWTRAIT_H_
24
25
26
//*************************************************************************************************
27
// Includes
28
//*************************************************************************************************
29
30
#include <
blaze/util/InvalidType.h
>
31
#include <
blaze/util/SelectType.h
>
32
#include <
blaze/util/typetraits/IsConst.h
>
33
#include <
blaze/util/typetraits/IsReference.h
>
34
#include <
blaze/util/typetraits/IsVolatile.h
>
35
#include <
blaze/util/typetraits/RemoveCV.h
>
36
#include <
blaze/util/typetraits/RemoveReference.h
>
37
38
39
namespace
blaze {
40
41
//=================================================================================================
42
//
43
// CLASS DEFINITION
44
//
45
//=================================================================================================
46
47
//*************************************************************************************************
99
template
<
typename
MT >
// Type of the matrix
100
struct
RowTrait
101
{
102
private
:
103
//**********************************************************************************************
105
struct
Failure {
typedef
INVALID_TYPE Type; };
107
//**********************************************************************************************
108
109
//**********************************************************************************************
111
enum
{ qualified =
IsConst<MT>::value
||
IsVolatile<MT>::value
||
IsReference<MT>::value
};
113
//**********************************************************************************************
114
115
//**********************************************************************************************
117
typedef
typename
RemoveReference< typename RemoveCV<MT>::Type
>::Type Tmp;
119
//**********************************************************************************************
120
121
public
:
122
//**********************************************************************************************
124
typedef
typename
SelectType< qualified, RowTrait<Tmp>
, Failure >::Type::Type Type;
126
//**********************************************************************************************
127
};
128
//*************************************************************************************************
129
130
}
// namespace blaze
131
132
#endif
Generated on Sun Jul 28 2013 17:06:07 by
1.8.3.1