11 #ifndef __stir_make_array_H__ 12 #define __stir_make_array_H__ 27 inline VectorWithOffset<T> make_vector(
const T& a0);
30 inline VectorWithOffset<T> make_vector(
const T& a0,
const T& a1);
33 inline VectorWithOffset<T> make_vector(
const T& a0,
const T& a1,
const T& a2);
36 inline VectorWithOffset<T> make_vector(
const T& a0,
const T& a1,
const T& a2,
const T& a3);
39 inline VectorWithOffset<T> make_vector(
const T& a0,
const T& a1,
const T& a2,
const T& a3,
const T& a4);
42 inline VectorWithOffset<T> make_vector(
const T& a0,
const T& a1,
const T& a2,
const T& a3,
const T& a4,
const T& a5);
45 inline VectorWithOffset<T> make_vector(
const T& a0,
const T& a1,
const T& a2,
const T& a3,
const T& a4,
const T& a5,
const T& a6);
48 inline VectorWithOffset<T>
49 make_vector(
const T& a0,
const T& a1,
const T& a2,
const T& a3,
const T& a4,
const T& a5,
const T& a6,
const T& a7);
52 inline VectorWithOffset<T>
53 make_vector(
const T& a0,
const T& a1,
const T& a2,
const T& a3,
const T& a4,
const T& a5,
const T& a6,
const T& a7,
const T& a8);
56 inline VectorWithOffset<T> make_vector(
const T& a0,
68 inline Array<1, T> make_1d_array(
const T& a0);
71 inline Array<1, T> make_1d_array(
const T& a0,
const T& a1);
74 inline Array<1, T> make_1d_array(
const T& a0,
const T& a1,
const T& a2);
77 inline Array<1, T> make_1d_array(
const T& a0,
const T& a1,
const T& a2,
const T& a3);
80 inline Array<1, T> make_1d_array(
const T& a0,
const T& a1,
const T& a2,
const T& a3,
const T& a4);
83 inline Array<1, T> make_1d_array(
const T& a0,
const T& a1,
const T& a2,
const T& a3,
const T& a4,
const T& a5);
86 inline Array<1, T> make_1d_array(
const T& a0,
const T& a1,
const T& a2,
const T& a3,
const T& a4,
const T& a5,
const T& a6);
90 make_1d_array(
const T& a0,
const T& a1,
const T& a2,
const T& a3,
const T& a4,
const T& a5,
const T& a6,
const T& a7);
93 inline Array<1, T> make_1d_array(
94 const T& a0,
const T& a1,
const T& a2,
const T& a3,
const T& a4,
const T& a5,
const T& a6,
const T& a7,
const T& a8);
97 inline Array<1, T> make_1d_array(
const T& a0,
108 template <
int num_dimensions,
class T>
109 inline Array<num_dimensions + 1, T> make_array(
const Array<num_dimensions, T>& a0);
111 template <
int num_dimensions,
class T>
112 inline Array<num_dimensions + 1, T> make_array(
const Array<num_dimensions, T>& a0,
const Array<num_dimensions, T>& a1);
114 template <
int num_dimensions,
class T>
115 inline Array<num_dimensions + 1, T>
116 make_array(
const Array<num_dimensions, T>& a0,
const Array<num_dimensions, T>& a1,
const Array<num_dimensions, T>& a2);
118 template <
int num_dimensions,
class T>
119 inline Array<num_dimensions + 1, T> make_array(
const Array<num_dimensions, T>& a0,
120 const Array<num_dimensions, T>& a1,
121 const Array<num_dimensions, T>& a2,
122 const Array<num_dimensions, T>& a3);
124 template <
int num_dimensions,
class T>
125 inline Array<num_dimensions + 1, T> make_array(
const Array<num_dimensions, T>& a0,
126 const Array<num_dimensions, T>& a1,
127 const Array<num_dimensions, T>& a2,
128 const Array<num_dimensions, T>& a3,
129 const Array<num_dimensions, T>& a4);
131 template <
int num_dimensions,
class T>
132 inline Array<num_dimensions + 1, T> make_array(
const Array<num_dimensions, T>& a0,
133 const Array<num_dimensions, T>& a1,
134 const Array<num_dimensions, T>& a2,
135 const Array<num_dimensions, T>& a3,
136 const Array<num_dimensions, T>& a4,
137 Array<num_dimensions, T>& a5);
139 template <
int num_dimensions,
class T>
140 inline Array<num_dimensions + 1, T> make_array(
const Array<num_dimensions, T>& a0,
141 const Array<num_dimensions, T>& a1,
142 const Array<num_dimensions, T>& a2,
143 const Array<num_dimensions, T>& a3,
144 const Array<num_dimensions, T>& a4,
145 Array<num_dimensions, T>& a5,
146 const Array<num_dimensions, T>& a6);
148 template <
int num_dimensions,
class T>
149 inline Array<num_dimensions + 1, T> make_array(
const Array<num_dimensions, T>& a0,
150 const Array<num_dimensions, T>& a1,
151 const Array<num_dimensions, T>& a2,
152 const Array<num_dimensions, T>& a3,
153 const Array<num_dimensions, T>& a4,
154 Array<num_dimensions, T>& a5,
155 const Array<num_dimensions, T>& a6,
156 const Array<num_dimensions, T>& a7);
158 template <
int num_dimensions,
class T>
159 inline Array<num_dimensions + 1, T> make_array(
const Array<num_dimensions, T>& a0,
160 const Array<num_dimensions, T>& a1,
161 const Array<num_dimensions, T>& a2,
162 const Array<num_dimensions, T>& a3,
163 const Array<num_dimensions, T>& a4,
164 Array<num_dimensions, T>& a5,
165 const Array<num_dimensions, T>& a6,
166 const Array<num_dimensions, T>& a7,
167 const Array<num_dimensions, T>& a8);
169 template <
int num_dimensions,
class T>
170 inline Array<num_dimensions + 1, T> make_array(
const Array<num_dimensions - 1, T>& a0,
171 const Array<num_dimensions - 1, T>& a1,
172 const Array<num_dimensions - 1, T>& a2,
173 const Array<num_dimensions - 1, T>& a3,
174 const Array<num_dimensions - 1, T>& a4,
175 Array<num_dimensions - 1, T>& a5,
176 const Array<num_dimensions - 1, T>& a6,
177 const Array<num_dimensions - 1, T>& a7,
178 const Array<num_dimensions - 1, T>& a8,
179 const Array<num_dimensions - 1, T>& a9);
defines the Array class for multi-dimensional (numeric) arrays
Implementation of functions for constructing arrays stir::make_1d_array etc.