4 #include "copy_general.hpp"
37 template<
typename T,
size_t N1>
40 inline meta_copy(
const T src[N1], T dst[N1])
42 for (
size_t i1 = 0 ; i1 < N1 ; i1++)
50 template<
typename T,
size_t N1,
size_t N2>
53 inline meta_copy(
const T src[N1][N2], T dst[N1][N2])
55 for (
size_t i1 = 0 ; i1 < N1 ; i1++)
57 for (
size_t i2 = 0 ; i2 < N2 ; i2++)
66 template<
typename T,
size_t N1,
size_t N2,
size_t N3>
69 inline meta_copy(
const T src[N1][N2][N3], T dst[N1][N2][N3])
71 for (
size_t i1 = 0 ; i1 < N1 ; i1++)
73 for (
size_t i2 = 0 ; i2 < N2 ; i2++)
75 for (
size_t i3 = 0 ; i3 < N3 ; i3++)
85 template<
typename T,
size_t N1,
size_t N2,
size_t N3,
size_t N4>
88 inline meta_copy(
const T src[N1][N2][N3][N4], T dst[N1][N2][N3][N4])
90 for (
size_t i1 = 0 ; i1 < N1 ; i1++)
92 for (
size_t i2 = 0 ; i2 < N2 ; i2++)
94 for (
size_t i3 = 0 ; i3 < N3 ; i3++)
96 for (
size_t i4 = 0 ; i4 < N4 ; i4++)
107 template<
typename T,
size_t N1,
size_t N2,
size_t N3,
size_t N4,
size_t N5>
110 inline meta_copy(
const T src[N1][N2][N3][N4][N5], T dst[N1][N2][N3][N4][N5])
112 for (
size_t i1 = 0 ; i1 < N1 ; i1++)
114 for (
size_t i2 = 0 ; i2 < N2 ; i2++)
116 for (
size_t i3 = 0 ; i3 < N3 ; i3++)
118 for (
size_t i4 = 0 ; i4 < N4 ; i4++)
120 for (
size_t i5 = 0 ; i5 < N5 ; i5++)
132 template<
typename T,
size_t N1,
size_t N2,
size_t N3,
size_t N4,
size_t N5,
size_t N6>
135 inline meta_copy(
const T src[N1][N2][N3][N4][N5][N6], T dst[N1][N2][N3][N4][N5][N6])
137 for (
size_t i1 = 0 ; i1 < N1 ; i1++)
139 for (
size_t i2 = 0 ; i2 < N2 ; i2++)
141 for (
size_t i3 = 0 ; i3 < N3 ; i3++)
143 for (
size_t i4 = 0 ; i4 < N4 ; i4++)
145 for (
size_t i5 = 0 ; i5 < N5 ; i5++)
147 for (
size_t i6 = 0 ; i6 < N6 ; i6++)
149 copy_general<T>(src[i1][i2][i3][i4][i5][i6],dst[i1][i2][i3][i4][i5][i6]);
160 template<
typename T,
size_t N1,
size_t N2,
size_t N3,
size_t N4,
size_t N5,
size_t N6,
size_t N7>
163 inline meta_copy(
const T src[N1][N2][N3][N4][N5][N6][N7], T dst[N1][N2][N3][N4][N5][N6][N7])
165 for (
size_t i1 = 0 ; i1 < N1 ; i1++)
167 for (
size_t i2 = 0 ; i2 < N2 ; i2++)
169 for (
size_t i3 = 0 ; i3 < N3 ; i3++)
171 for (
size_t i4 = 0 ; i4 < N4 ; i4++)
173 for (
size_t i5 = 0 ; i5 < N5 ; i5++)
175 for (
size_t i6 = 0 ; i6 < N6 ; i6++)
177 for (
size_t i7 = 0 ; i7 < N7 ; i7++)
179 copy_general<T>(src[i1][i2][i3][i4][i5][i6][i7],dst[i1][i2][i3][i4][i5][i6][i7]);
191 template<
typename T,
size_t N1,
size_t N2,
size_t N3,
size_t N4,
size_t N5,
size_t N6,
size_t N7,
size_t N8>
194 inline meta_copy(
const T src[N1][N2][N3][N4][N5][N6][N7][N8], T dst[N1][N2][N3][N4][N5][N6][N7][N8])
196 for (
size_t i1 = 0 ; i1 < N1 ; i1++)
198 for (
size_t i2 = 0 ; i2 < N2 ; i2++)
200 for (
size_t i3 = 0 ; i3 < N3 ; i3++)
202 for (
size_t i4 = 0 ; i4 < N4 ; i4++)
204 for (
size_t i5 = 0 ; i5 < N5 ; i5++)
206 for (
size_t i6 = 0 ; i6 < N6 ; i6++)
208 for (
size_t i7 = 0 ; i7 < N7 ; i7++)
210 for (
size_t i8 = 0 ; i8 < N8 ; i8++)
212 copy_general<T>(src[i1][i2][i3][i4][i5][i6][i7][i8],dst[i1][i2][i3][i4][i5][i6][i7][i8]);
225 template<
typename T,
size_t N1,
size_t N2,
size_t N3,
size_t N4,
size_t N5,
size_t N6,
size_t N7,
size_t N8,
size_t N9>
228 inline meta_copy(
const T src[N1][N2][N3][N4][N5][N6][N7][N8][N9], T dst[N1][N2][N3][N4][N5][N6][N7][N8][N9])
230 for (
size_t i1 = 0 ; i1 < N1 ; i1++)
232 for (
size_t i2 = 0 ; i2 < N2 ; i2++)
234 for (
size_t i3 = 0 ; i3 < N3 ; i3++)
236 for (
size_t i4 = 0 ; i4 < N4 ; i4++)
238 for (
size_t i5 = 0 ; i5 < N5 ; i5++)
240 for (
size_t i6 = 0 ; i6 < N6 ; i6++)
242 for (
size_t i7 = 0 ; i7 < N7 ; i7++)
244 for (
size_t i8 = 0 ; i8 < N8 ; i8++)
246 for (
size_t i9 = 0 ; i9 < N9 ; i9++)
248 copy_general<T>(src[i1][i2][i3][i4][i5][i6][i7][i8][i9],dst[i1][i2][i3][i4][i5][i6][i7][i8][i9]);
262 template<
typename T,
size_t N1,
size_t N2,
size_t N3,
size_t N4,
size_t N5,
size_t N6,
size_t N7,
size_t N8,
size_t N9,
size_t N10>
263 struct meta_copy<T[N1][N2][N3][N4][N5][N6][N7][N8][N9][N10]>
265 inline meta_copy(
const T src[N1][N2][N3][N4][N5][N6][N7][N8][N9][N10], T dst[N1][N2][N3][N4][N5][N6][N7][N8][N9][N10])
267 for (
size_t i1 = 0 ; i1 < N1 ; i1++)
269 for (
size_t i2 = 0 ; i2 < N2 ; i2++)
271 for (
size_t i3 = 0 ; i3 < N3 ; i3++)
273 for (
size_t i4 = 0 ; i4 < N4 ; i4++)
275 for (
size_t i5 = 0 ; i5 < N5 ; i5++)
277 for (
size_t i6 = 0 ; i6 < N6 ; i6++)
279 for (
size_t i7 = 0 ; i7 < N7 ; i7++)
281 for (
size_t i8 = 0 ; i8 < N8 ; i8++)
283 for (
size_t i9 = 0 ; i9 < N9 ; i9++)
285 for (
size_t i10 = 0 ; i10 < N10 ; i10++)
287 copy_general<T>(src[i1][i2][i3][i4][i5][i6][i7][i8][i9][i10],dst[i1][i2][i3][i4][i5][i6][i7][i8][i9][i10]);
structure to copy aggregates