STIR 6.4.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__
22#include "stir/Array.h"
23
24START_NAMESPACE_STIR
25
26template <class T>
27inline VectorWithOffset<T> make_vector(const T& a0);
28
29template <class T>
30inline VectorWithOffset<T> make_vector(const T& a0, const T& a1);
31
32template <class T>
33inline VectorWithOffset<T> make_vector(const T& a0, const T& a1, const T& a2);
34
35template <class T>
36inline VectorWithOffset<T> make_vector(const T& a0, const T& a1, const T& a2, const T& a3);
37
38template <class T>
39inline VectorWithOffset<T> make_vector(const T& a0, const T& a1, const T& a2, const T& a3, const T& a4);
40
41template <class T>
42inline VectorWithOffset<T> make_vector(const T& a0, const T& a1, const T& a2, const T& a3, const T& a4, const T& a5);
43
44template <class T>
45inline 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
47template <class T>
48inline VectorWithOffset<T>
49make_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
51template <class T>
52inline VectorWithOffset<T>
53make_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
55template <class T>
56inline 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
67template <class T>
68inline Array<1, T> make_1d_array(const T& a0);
69
70template <class T>
71inline Array<1, T> make_1d_array(const T& a0, const T& a1);
72
73template <class T>
74inline Array<1, T> make_1d_array(const T& a0, const T& a1, const T& a2);
75
76template <class T>
77inline Array<1, T> make_1d_array(const T& a0, const T& a1, const T& a2, const T& a3);
78
79template <class T>
80inline Array<1, T> make_1d_array(const T& a0, const T& a1, const T& a2, const T& a3, const T& a4);
81
82template <class T>
83inline 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
85template <class T>
86inline 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
88template <class T>
89inline Array<1, T>
90make_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
92template <class T>
93inline 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
96template <class T>
97inline 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
108template <int num_dimensions, class T>
109inline Array<num_dimensions + 1, T> make_array(const Array<num_dimensions, T>& a0);
110
111template <int num_dimensions, class T>
112inline Array<num_dimensions + 1, T> make_array(const Array<num_dimensions, T>& a0, const Array<num_dimensions, T>& a1);
113
114template <int num_dimensions, class T>
115inline Array<num_dimensions + 1, T>
116make_array(const Array<num_dimensions, T>& a0, const Array<num_dimensions, T>& a1, const Array<num_dimensions, T>& a2);
117
118template <int num_dimensions, class T>
119inline 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
124template <int num_dimensions, class T>
125inline 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
131template <int num_dimensions, class T>
132inline 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
139template <int num_dimensions, class T>
140inline 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
148template <int num_dimensions, class T>
149inline 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
158template <int num_dimensions, class T>
159inline 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
169template <int num_dimensions, class T>
170inline 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
181END_NAMESPACE_STIR
182
183#include "stir/make_array.inl"
184
185#endif
defines the stir::Array class for multi-dimensional (numeric) arrays
Implementation of functions for constructing arrays stir::make_1d_array etc.