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
util
typetraits
Rank.h
Go to the documentation of this file.
1
//=================================================================================================
20
//=================================================================================================
21
22
#ifndef _BLAZE_UTIL_TYPETRAITS_RANK_H_
23
#define _BLAZE_UTIL_TYPETRAITS_RANK_H_
24
25
26
//*************************************************************************************************
27
// Includes
28
//*************************************************************************************************
29
30
#include <
blaze/util/FalseType.h
>
31
#include <
blaze/util/TrueType.h
>
32
33
34
namespace
blaze {
35
36
//=================================================================================================
37
//
38
// CLASS DEFINITION
39
//
40
//=================================================================================================
41
42
//*************************************************************************************************
59
template
<
typename
T >
60
struct
Rank
61
{
62
public
:
63
//**********************************************************************************************
65
enum
{ value = 0 };
67
//**********************************************************************************************
68
};
69
//*************************************************************************************************
70
71
72
//*************************************************************************************************
74
75
template
<
typename
T >
76
struct
Rank
<T[]>
77
{
78
public
:
79
//**********************************************************************************************
80
enum
{ value = 1 +
Rank<T>::value
};
81
//**********************************************************************************************
82
};
84
//*************************************************************************************************
85
86
87
//*************************************************************************************************
89
90
template
<
typename
T,
unsigned
int
N >
91
struct
Rank<T[N]>
92
{
93
public
:
94
//**********************************************************************************************
95
enum
{ value = 1 + Rank<T>::value };
96
//**********************************************************************************************
97
};
99
//*************************************************************************************************
100
101
}
// namespace blaze
102
103
#endif
Generated on Fri May 24 2013 16:39:57 by
1.8.3.1