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
Extent.h
Go to the documentation of this file.
1
//=================================================================================================
20
//=================================================================================================
21
22
#ifndef _BLAZE_UTIL_TYPETRAITS_EXTENT_H_
23
#define _BLAZE_UTIL_TYPETRAITS_EXTENT_H_
24
25
26
namespace
blaze {
27
28
//=================================================================================================
29
//
30
// CLASS DEFINITION
31
//
32
//=================================================================================================
33
34
//*************************************************************************************************
55
template
<
typename
T,
unsigned
int
N >
56
struct
Extent
57
{
58
public
:
59
//**********************************************************************************************
61
enum
{ value = 0 };
63
//**********************************************************************************************
64
};
65
//*************************************************************************************************
66
67
68
//*************************************************************************************************
70
71
template
<
typename
T,
unsigned
int
N >
72
struct
Extent
<T[],N>
73
{
74
public
:
75
//**********************************************************************************************
76
enum
{ value =
Extent
<T,N-1>::value };
77
//**********************************************************************************************
78
};
80
//*************************************************************************************************
81
82
83
//*************************************************************************************************
85
86
template
<
typename
T,
unsigned
int
N,
unsigned
int
E >
87
struct
Extent<T[E],N>
88
{
89
public
:
90
//**********************************************************************************************
91
enum
{ value = Extent<T,N-1>::value };
92
//**********************************************************************************************
93
};
95
//*************************************************************************************************
96
97
98
//*************************************************************************************************
100
101
template
<
typename
T >
102
struct
Extent<T[],0UL>
103
{
104
public
:
105
//**********************************************************************************************
106
enum
{ value = 0 };
107
//**********************************************************************************************
108
};
110
//*************************************************************************************************
111
112
113
//*************************************************************************************************
115
116
template
<
typename
T,
unsigned
int
E >
117
struct
Extent<T[E],0U>
118
{
119
public
:
120
//**********************************************************************************************
121
enum
{ value = E };
122
//**********************************************************************************************
123
};
125
//*************************************************************************************************
126
127
}
// namespace blaze
128
129
#endif
Generated on Fri May 24 2013 16:39:57 by
1.8.3.1