Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
mia
core
traits.hh
Go to the documentation of this file.
1
/* -*- mia-c++ -*-
2
*
3
* This file is part of MIA - a toolbox for medical image analysis
4
* Copyright (c) Leipzig, Madrid 1999-2013 Gert Wollny
5
*
6
* MIA is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 3 of the License, or
9
* (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with MIA; if not, see <http://www.gnu.org/licenses/>.
18
*
19
*/
20
21
#ifndef mia_core_traits__hh
22
#define mia_core_traits__hh
23
24
#include <
mia/core/defines.hh
>
25
26
NS_MIA_BEGIN
27
35
template
<
typename
T>
36
struct
dim_traits
{
38
typedef
typename
T::dimsize_type
dimsize_type
;
39
};
40
45
struct
vector_dimsize
{
46
48
vector_dimsize
():m_n(0) {
49
}
50
52
vector_dimsize
(
size_t
n):m_n(n) {
53
}
54
56
size_t
size
() {
57
return
1;
58
}
59
61
size_t
&
operator []
(
int
/*i*/
)
62
{
63
return
m_n;
64
}
65
67
const
size_t
&
operator []
(
int
/*i*/
)
const
68
{
69
return
m_n;
70
}
71
private
:
72
size_t
m_n;
73
};
74
75
83
template
<
typename
T>
84
struct
dim_traits
<std::vector<T> > {
85
typedef
vector_dimsize
dimsize_type
;
86
};
87
95
template
<
typename
T>
96
struct
__cache_policy {
97
static
bool
apply() {
98
return
false
;
99
}
100
};
102
103
104
105
106
NS_MIA_END
107
108
#endif
Generated on Tue Oct 15 2013 13:56:37 by
1.8.4