Blaze  3.6
Forward.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_VIEWS_FORWARD_H_
36 #define _BLAZE_MATH_VIEWS_FORWARD_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
53 #include <blaze/util/Types.h>
54 
55 
56 namespace blaze {
57 
58 //=================================================================================================
59 //
60 // ::blaze NAMESPACE FORWARD DECLARATIONS
61 //
62 //=================================================================================================
63 
64 template< size_t I, size_t N, typename VT, bool TF, typename... RSAs >
65 decltype(auto) subvector( Vector<VT,TF>&, RSAs... );
66 
67 template< size_t I, size_t N, typename VT, bool TF, typename... RSAs >
68 decltype(auto) subvector( const Vector<VT,TF>&, RSAs... );
69 
70 template< size_t I, size_t N, typename VT, bool TF, typename... RSAs >
71 decltype(auto) subvector( Vector<VT,TF>&&, RSAs... );
72 
73 template< AlignmentFlag AF, size_t I, size_t N, typename VT, bool TF, typename... RSAs >
74 decltype(auto) subvector( Vector<VT,TF>&, RSAs... );
75 
76 template< AlignmentFlag AF, size_t I, size_t N, typename VT, bool TF, typename... RSAs >
77 decltype(auto) subvector( const Vector<VT,TF>&, RSAs... );
78 
79 template< AlignmentFlag AF, size_t I, size_t N, typename VT, bool TF, typename... RSAs >
80 decltype(auto) subvector( Vector<VT,TF>&&, RSAs... );
81 
82 template< typename VT, bool TF, typename... RSAs >
83 decltype(auto) subvector( Vector<VT,TF>&, size_t, size_t, RSAs... );
84 
85 template< typename VT, bool TF, typename... RSAs >
86 decltype(auto) subvector( const Vector<VT,TF>&, size_t, size_t, RSAs... );
87 
88 template< typename VT, bool TF, typename... RSAs >
89 decltype(auto) subvector( Vector<VT,TF>&&, size_t, size_t, RSAs... );
90 
91 template< AlignmentFlag AF, typename VT, bool TF, typename... RSAs >
92 decltype(auto) subvector( Vector<VT,TF>&, size_t, size_t, RSAs... );
93 
94 template< AlignmentFlag AF, typename VT, bool TF, typename... RSAs >
95 decltype(auto) subvector( const Vector<VT,TF>&, size_t, size_t, RSAs... );
96 
97 template< AlignmentFlag AF, typename VT, bool TF, typename... RSAs >
98 decltype(auto) subvector( Vector<VT,TF>&&, size_t, size_t, RSAs... );
99 
100 
101 template< size_t I, size_t... Is, typename VT, bool TF, typename... REAs >
102 decltype(auto) elements( Vector<VT,TF>&, REAs... );
103 
104 template< size_t I, size_t... Is, typename VT, bool TF, typename... REAs >
105 decltype(auto) elements( const Vector<VT,TF>&, REAs... );
106 
107 template< size_t I, size_t... Is, typename VT, bool TF, typename... REAs >
108 decltype(auto) elements( Vector<VT,TF>&&, REAs... );
109 
110 template< typename VT, bool TF, typename T, typename... REAs >
111 decltype(auto) elements( Vector<VT,TF>&, T*, size_t, REAs... );
112 
113 template< typename VT, bool TF, typename T, typename... REAs >
114 decltype(auto) elements( const Vector<VT,TF>&, T*, size_t, REAs... );
115 
116 template< typename VT, bool TF, typename T, typename... REAs >
117 decltype(auto) elements( Vector<VT,TF>&&, T*, size_t, REAs... );
118 
119 template< typename VT, bool TF, typename P, typename... REAs >
120 decltype(auto) elements( Vector<VT,TF>&, P, size_t, REAs... );
121 
122 template< typename VT, bool TF, typename P, typename... REAs >
123 decltype(auto) elements( const Vector<VT,TF>&, P, size_t, REAs... );
124 
125 template< typename VT, bool TF, typename P, typename... REAs >
126 decltype(auto) elements( Vector<VT,TF>&&, P, size_t, REAs... );
127 
128 
129 template< size_t I, size_t J, size_t M, size_t N, typename MT, bool SO, typename... RSAs >
130 decltype(auto) submatrix( Matrix<MT,SO>&, RSAs... );
131 
132 template< size_t I, size_t J, size_t M, size_t N, typename MT, bool SO, typename... RSAs >
133 decltype(auto) submatrix( const Matrix<MT,SO>&, RSAs... );
134 
135 template< size_t I, size_t J, size_t M, size_t N, typename MT, bool SO, typename... RSAs >
136 decltype(auto) submatrix( Matrix<MT,SO>&&, RSAs... );
137 
138 template< AlignmentFlag AF, size_t I, size_t J, size_t M, size_t N, typename MT, bool SO, typename... RSAs >
139 decltype(auto) submatrix( Matrix<MT,SO>&, RSAs... );
140 
141 template< AlignmentFlag AF, size_t I, size_t J, size_t M, size_t N, typename MT, bool SO, typename... RSAs >
142 decltype(auto) submatrix( const Matrix<MT,SO>&, RSAs... );
143 
144 template< AlignmentFlag AF, size_t I, size_t J, size_t M, size_t N, typename MT, bool SO, typename... RSAs >
145 decltype(auto) submatrix( Matrix<MT,SO>&&, RSAs... );
146 
147 template< typename MT, bool SO, typename... RSAs >
148 decltype(auto) submatrix( Matrix<MT,SO>&, size_t, size_t, size_t, size_t, RSAs... );
149 
150 template< typename MT, bool SO, typename... RSAs >
151 decltype(auto) submatrix( const Matrix<MT,SO>&, size_t, size_t, size_t, size_t, RSAs... );
152 
153 template< typename MT, bool SO, typename... RSAs >
154 decltype(auto) submatrix( Matrix<MT,SO>&&, size_t, size_t, size_t, size_t, RSAs... );
155 
156 template< AlignmentFlag AF, typename MT, bool SO, typename... RSAs >
157 decltype(auto) submatrix( Matrix<MT,SO>&, size_t, size_t, size_t, size_t, RSAs... );
158 
159 template< AlignmentFlag AF, typename MT, bool SO, typename... RSAs >
160 decltype(auto) submatrix( const Matrix<MT,SO>&, size_t, size_t, size_t, size_t, RSAs... );
161 
162 template< AlignmentFlag AF, typename MT, bool SO, typename... RSAs >
163 decltype(auto) submatrix( Matrix<MT,SO>&&, size_t, size_t, size_t, size_t, RSAs... );
164 
165 
166 template< size_t I, typename MT, bool SO, typename... RRAs >
167 decltype(auto) row( Matrix<MT,SO>&, RRAs... );
168 
169 template< size_t I, typename MT, bool SO, typename... RRAs >
170 decltype(auto) row( const Matrix<MT,SO>&, RRAs... );
171 
172 template< size_t I, typename MT, bool SO, typename... RRAs >
173 decltype(auto) row( Matrix<MT,SO>&&, RRAs... );
174 
175 template< typename MT, bool SO, typename... RRAs >
176 decltype(auto) row( Matrix<MT,SO>&, size_t, RRAs... );
177 
178 template< typename MT, bool SO, typename... RRAs >
179 decltype(auto) row( const Matrix<MT,SO>&, size_t, RRAs... );
180 
181 template< typename MT, bool SO, typename... RRAs >
182 decltype(auto) row( Matrix<MT,SO>&&, size_t, RRAs... );
183 
184 
185 template< size_t I, size_t... Is, typename MT, bool SO, typename... RRAs >
186 decltype(auto) rows( Matrix<MT,SO>&, RRAs... );
187 
188 template< size_t I, size_t... Is, typename MT, bool SO, typename... RRAs >
189 decltype(auto) rows( const Matrix<MT,SO>&, RRAs... );
190 
191 template< size_t I, size_t... Is, typename MT, bool SO, typename... RRAs >
192 decltype(auto) rows( Matrix<MT,SO>&&, RRAs... );
193 
194 template< typename MT, bool SO, typename T, typename... RRAs >
195 decltype(auto) rows( Matrix<MT,SO>&, T*, size_t, RRAs... );
196 
197 template< typename MT, bool SO, typename T, typename... RRAs >
198 decltype(auto) rows( const Matrix<MT,SO>&, T*, size_t, RRAs... );
199 
200 template< typename MT, bool SO, typename T, typename... RRAs >
201 decltype(auto) rows( Matrix<MT,SO>&&, T*, size_t, RRAs... );
202 
203 template< typename MT, bool SO, typename P, typename... RRAs >
204 decltype(auto) rows( Matrix<MT,SO>&, P, size_t, RRAs... );
205 
206 template< typename MT, bool SO, typename P, typename... RRAs >
207 decltype(auto) rows( const Matrix<MT,SO>&, P, size_t, RRAs... );
208 
209 template< typename MT, bool SO, typename P, typename... RRAs >
210 decltype(auto) rows( Matrix<MT,SO>&&, P, size_t, RRAs... );
211 
212 
213 template< size_t I, typename MT, bool SO, typename... RCAs >
214 decltype(auto) column( Matrix<MT,SO>&, RCAs... );
215 
216 template< size_t I, typename MT, bool SO, typename... RCAs >
217 decltype(auto) column( const Matrix<MT,SO>&, RCAs... );
218 
219 template< size_t I, typename MT, bool SO, typename... RCAs >
220 decltype(auto) column( Matrix<MT,SO>&&, RCAs... );
221 
222 template< typename MT, bool SO, typename... RCAs >
223 decltype(auto) column( Matrix<MT,SO>&, size_t, RCAs... );
224 
225 template< typename MT, bool SO, typename... RCAs >
226 decltype(auto) column( const Matrix<MT,SO>&, size_t, RCAs... );
227 
228 template< typename MT, bool SO, typename... RCAs >
229 decltype(auto) column( Matrix<MT,SO>&&, size_t, RCAs... );
230 
231 
232 template< size_t I, size_t... Is, typename MT, bool SO, typename... RCAs >
233 decltype(auto) columns( Matrix<MT,SO>&, RCAs... );
234 
235 template< size_t I, size_t... Is, typename MT, bool SO, typename... RCAs >
236 decltype(auto) columns( const Matrix<MT,SO>&, RCAs... );
237 
238 template< size_t I, size_t... Is, typename MT, bool SO, typename... RCAs >
239 decltype(auto) columns( Matrix<MT,SO>&&, RCAs... );
240 
241 template< typename MT, bool SO, typename T, typename... RCAs >
242 decltype(auto) columns( Matrix<MT,SO>&, T*, size_t, RCAs... );
243 
244 template< typename MT, bool SO, typename T, typename... RCAs >
245 decltype(auto) columns( const Matrix<MT,SO>&, T*, size_t, RCAs... );
246 
247 template< typename MT, bool SO, typename T, typename... RCAs >
248 decltype(auto) columns( Matrix<MT,SO>&&, T*, size_t, RCAs... );
249 
250 template< typename MT, bool SO, typename P, typename... RCAs >
251 decltype(auto) columns( Matrix<MT,SO>&, P, size_t, RCAs... );
252 
253 template< typename MT, bool SO, typename P, typename... RCAs >
254 decltype(auto) columns( const Matrix<MT,SO>&, P, size_t, RCAs... );
255 
256 template< typename MT, bool SO, typename P, typename... RCAs >
257 decltype(auto) columns( Matrix<MT,SO>&&, P, size_t, RCAs... );
258 
259 
260 template< ptrdiff_t I, typename MT, bool SO, typename... RBAs >
261 decltype(auto) band( Matrix<MT,SO>&, RBAs... );
262 
263 template< ptrdiff_t I, typename MT, bool SO, typename... RBAs >
264 decltype(auto) band( const Matrix<MT,SO>&, RBAs... );
265 
266 template< ptrdiff_t I, typename MT, bool SO, typename... RBAs >
267 decltype(auto) band( Matrix<MT,SO>&&, RBAs... );
268 
269 template< typename MT, bool SO, typename... RBAs >
270 decltype(auto) band( Matrix<MT,SO>&, ptrdiff_t, RBAs... );
271 
272 template< typename MT, bool SO, typename... RBAs >
273 decltype(auto) band( const Matrix<MT,SO>&, ptrdiff_t, RBAs... );
274 
275 template< typename MT, bool SO, typename... RBAs >
276 decltype(auto) band( Matrix<MT,SO>&&, ptrdiff_t, RBAs... );
277 
278 template< typename MT, bool SO, typename... RDAs >
279 decltype(auto) diagonal( Matrix<MT,SO>&, RDAs... );
280 
281 template< typename MT, bool SO, typename... RDAs >
282 decltype(auto) diagonal( const Matrix<MT,SO>&, RDAs... );
283 
284 template< typename MT, bool SO, typename... RDAs >
285 decltype(auto) diagonal( Matrix<MT,SO>&&, RDAs... );
286 
287 } // namespace blaze
288 
289 #endif
AlignmentFlag
Alignment flag for (un-)aligned vectors and matrices.Via these flags it is possible to specify subvec...
Definition: AlignmentFlag.h:62
decltype(auto) column(Matrix< MT, SO > &matrix, RCAs... args)
Creating a view on a specific column of the given matrix.
Definition: Column.h:133
Header file for the implementation of the Columns base template.
Header file for the alignment flag values.
Header file for basic type definitions.
decltype(auto) submatrix(Matrix< MT, SO > &, RSAs...)
Creating a view on a specific submatrix of the given matrix.
Definition: Submatrix.h:178
Header file for the implementation of the Column base template.
decltype(auto) subvector(Vector< VT, TF > &, RSAs...)
Creating a view on a specific subvector of the given vector.
Definition: Subvector.h:154
Header file for the implementation of the Band base template.
constexpr size_t columns(const Matrix< MT, SO > &matrix) noexcept
Returns the current number of columns of the matrix.
Definition: Matrix.h:514
Header file for the implementation of the Row base template.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Header file for the implementation of the Submatrix base template.
Header file for the implementation of the Subvector base template.
Header file for the implementation of the Elements base template.
decltype(auto) elements(Vector< VT, TF > &vector, REAs... args)
Creating a view on a selection of elements of the given vector.
Definition: Elements.h:139
decltype(auto) diagonal(Matrix< MT, SO > &matrix, RDAs... args)
Creating a view on the diagonal of the given matrix.
Definition: Band.h:377
decltype(auto) band(Matrix< MT, SO > &matrix, RBAs... args)
Creating a view on a specific band of the given matrix.
Definition: Band.h:137
decltype(auto) row(Matrix< MT, SO > &, RRAs...)
Creating a view on a specific row of the given matrix.
Definition: Row.h:133
Header file for all forward declarations for expression class templates.
constexpr size_t rows(const Matrix< MT, SO > &matrix) noexcept
Returns the current number of rows of the matrix.
Definition: Matrix.h:498
Header file for the implementation of the Rows base template.