STIR  6.2.0
make_array.h
Go to the documentation of this file.
1 //
2 //
3 /*
4  Copyright (C) 2005- 2005, Hammersmith Imanet Ltd
5  This file is part of STIR.
6 
7  SPDX-License-Identifier: Apache-2.0
8 
9  See STIR/LICENSE.txt for details
10 */
11 #ifndef __stir_make_array_H__
12 #define __stir_make_array_H__
13 
22 #include "stir/Array.h"
23 
24 START_NAMESPACE_STIR
25 
26 template <class T>
27 inline VectorWithOffset<T> make_vector(const T& a0);
28 
29 template <class T>
30 inline VectorWithOffset<T> make_vector(const T& a0, const T& a1);
31 
32 template <class T>
33 inline VectorWithOffset<T> make_vector(const T& a0, const T& a1, const T& a2);
34 
35 template <class T>
36 inline VectorWithOffset<T> make_vector(const T& a0, const T& a1, const T& a2, const T& a3);
37 
38 template <class T>
39 inline VectorWithOffset<T> make_vector(const T& a0, const T& a1, const T& a2, const T& a3, const T& a4);
40 
41 template <class T>
42 inline VectorWithOffset<T> make_vector(const T& a0, const T& a1, const T& a2, const T& a3, const T& a4, const T& a5);
43 
44 template <class T>
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);
46 
47 template <class T>
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);
50 
51 template <class T>
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);
54 
55 template <class T>
56 inline VectorWithOffset<T> make_vector(const T& a0,
57  const T& a1,
58  const T& a2,
59  const T& a3,
60  const T& a4,
61  const T& a5,
62  const T& a6,
63  const T& a7,
64  const T& a8,
65  const T& a9);
66 
67 template <class T>
68 inline Array<1, T> make_1d_array(const T& a0);
69 
70 template <class T>
71 inline Array<1, T> make_1d_array(const T& a0, const T& a1);
72 
73 template <class T>
74 inline Array<1, T> make_1d_array(const T& a0, const T& a1, const T& a2);
75 
76 template <class T>
77 inline Array<1, T> make_1d_array(const T& a0, const T& a1, const T& a2, const T& a3);
78 
79 template <class T>
80 inline Array<1, T> make_1d_array(const T& a0, const T& a1, const T& a2, const T& a3, const T& a4);
81 
82 template <class T>
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);
84 
85 template <class T>
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);
87 
88 template <class T>
89 inline Array<1, T>
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);
91 
92 template <class T>
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);
95 
96 template <class T>
97 inline Array<1, T> make_1d_array(const T& a0,
98  const T& a1,
99  const T& a2,
100  const T& a3,
101  const T& a4,
102  const T& a5,
103  const T& a6,
104  const T& a7,
105  const T& a8,
106  const T& a9);
107 
108 template <int num_dimensions, class T>
109 inline Array<num_dimensions + 1, T> make_array(const Array<num_dimensions, T>& a0);
110 
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);
113 
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);
117 
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);
123 
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);
130 
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);
138 
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);
147 
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);
157 
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);
168 
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);
180 
181 END_NAMESPACE_STIR
182 
183 #include "stir/make_array.inl"
184 
185 #endif
defines the Array class for multi-dimensional (numeric) arrays
Implementation of functions for constructing arrays stir::make_1d_array etc.