35#ifndef _BLAZE_MATH_VIEWS_FORWARD_H_
36#define _BLAZE_MATH_VIEWS_FORWARD_H_
64template<
size_t I,
size_t N,
typename VT,
bool TF,
typename... RSAs >
65decltype(
auto)
subvector( Vector<VT,TF>&, RSAs... );
67template<
size_t I,
size_t N,
typename VT,
bool TF,
typename... RSAs >
68decltype(
auto)
subvector(
const Vector<VT,TF>&, RSAs... );
70template<
size_t I,
size_t N,
typename VT,
bool TF,
typename... RSAs >
71decltype(
auto)
subvector( Vector<VT,TF>&&, RSAs... );
73template<
AlignmentFlag AF,
size_t I,
size_t N,
typename VT,
bool TF,
typename... RSAs >
74decltype(
auto)
subvector( Vector<VT,TF>&, RSAs... );
76template<
AlignmentFlag AF,
size_t I,
size_t N,
typename VT,
bool TF,
typename... RSAs >
77decltype(
auto)
subvector(
const Vector<VT,TF>&, RSAs... );
79template<
AlignmentFlag AF,
size_t I,
size_t N,
typename VT,
bool TF,
typename... RSAs >
80decltype(
auto)
subvector( Vector<VT,TF>&&, RSAs... );
82template<
typename VT,
bool TF,
typename... RSAs >
83decltype(
auto)
subvector( Vector<VT,TF>&,
size_t,
size_t, RSAs... );
85template<
typename VT,
bool TF,
typename... RSAs >
86decltype(
auto)
subvector(
const Vector<VT,TF>&,
size_t,
size_t, RSAs... );
88template<
typename VT,
bool TF,
typename... RSAs >
89decltype(
auto)
subvector( Vector<VT,TF>&&,
size_t,
size_t, RSAs... );
91template<
AlignmentFlag AF,
typename VT,
bool TF,
typename... RSAs >
92decltype(
auto)
subvector( Vector<VT,TF>&,
size_t,
size_t, RSAs... );
94template<
AlignmentFlag AF,
typename VT,
bool TF,
typename... RSAs >
95decltype(
auto)
subvector(
const Vector<VT,TF>&,
size_t,
size_t, RSAs... );
97template<
AlignmentFlag AF,
typename VT,
bool TF,
typename... RSAs >
98decltype(
auto)
subvector( Vector<VT,TF>&&,
size_t,
size_t, RSAs... );
101template<
size_t I,
size_t... Is,
typename VT,
bool TF,
typename... REAs >
102decltype(
auto)
elements( Vector<VT,TF>&, REAs... );
104template<
size_t I,
size_t... Is,
typename VT,
bool TF,
typename... REAs >
105decltype(
auto)
elements(
const Vector<VT,TF>&, REAs... );
107template<
size_t I,
size_t... Is,
typename VT,
bool TF,
typename... REAs >
108decltype(
auto)
elements( Vector<VT,TF>&&, REAs... );
110template<
typename VT,
bool TF,
typename T,
typename... REAs >
111decltype(
auto)
elements( Vector<VT,TF>&, T*,
size_t, REAs... );
113template<
typename VT,
bool TF,
typename T,
typename... REAs >
114decltype(
auto)
elements(
const Vector<VT,TF>&, T*,
size_t, REAs... );
116template<
typename VT,
bool TF,
typename T,
typename... REAs >
117decltype(
auto)
elements( Vector<VT,TF>&&, T*,
size_t, REAs... );
119template<
typename VT,
bool TF,
typename P,
typename... REAs >
120decltype(
auto)
elements( Vector<VT,TF>&, P,
size_t, REAs... );
122template<
typename VT,
bool TF,
typename P,
typename... REAs >
123decltype(
auto)
elements(
const Vector<VT,TF>&, P,
size_t, REAs... );
125template<
typename VT,
bool TF,
typename P,
typename... REAs >
126decltype(
auto)
elements( Vector<VT,TF>&&, P,
size_t, REAs... );
129template<
size_t I,
size_t J,
size_t M,
size_t N,
typename MT,
bool SO,
typename... RSAs >
130decltype(
auto)
submatrix( Matrix<MT,SO>&, RSAs... );
132template<
size_t I,
size_t J,
size_t M,
size_t N,
typename MT,
bool SO,
typename... RSAs >
133decltype(
auto)
submatrix(
const Matrix<MT,SO>&, RSAs... );
135template<
size_t I,
size_t J,
size_t M,
size_t N,
typename MT,
bool SO,
typename... RSAs >
136decltype(
auto)
submatrix( Matrix<MT,SO>&&, RSAs... );
138template<
AlignmentFlag AF,
size_t I,
size_t J,
size_t M,
size_t N,
typename MT,
bool SO,
typename... RSAs >
139decltype(
auto)
submatrix( Matrix<MT,SO>&, RSAs... );
141template<
AlignmentFlag AF,
size_t I,
size_t J,
size_t M,
size_t N,
typename MT,
bool SO,
typename... RSAs >
142decltype(
auto)
submatrix(
const Matrix<MT,SO>&, RSAs... );
144template<
AlignmentFlag AF,
size_t I,
size_t J,
size_t M,
size_t N,
typename MT,
bool SO,
typename... RSAs >
145decltype(
auto)
submatrix( Matrix<MT,SO>&&, RSAs... );
147template<
typename MT,
bool SO,
typename... RSAs >
148decltype(
auto)
submatrix( Matrix<MT,SO>&,
size_t,
size_t,
size_t,
size_t, RSAs... );
150template<
typename MT,
bool SO,
typename... RSAs >
151decltype(
auto)
submatrix(
const Matrix<MT,SO>&,
size_t,
size_t,
size_t,
size_t, RSAs... );
153template<
typename MT,
bool SO,
typename... RSAs >
154decltype(
auto)
submatrix( Matrix<MT,SO>&&,
size_t,
size_t,
size_t,
size_t, RSAs... );
156template<
AlignmentFlag AF,
typename MT,
bool SO,
typename... RSAs >
157decltype(
auto)
submatrix( Matrix<MT,SO>&,
size_t,
size_t,
size_t,
size_t, RSAs... );
159template<
AlignmentFlag AF,
typename MT,
bool SO,
typename... RSAs >
160decltype(
auto)
submatrix(
const Matrix<MT,SO>&,
size_t,
size_t,
size_t,
size_t, RSAs... );
162template<
AlignmentFlag AF,
typename MT,
bool SO,
typename... RSAs >
163decltype(
auto)
submatrix( Matrix<MT,SO>&&,
size_t,
size_t,
size_t,
size_t, RSAs... );
166template<
size_t I,
typename MT,
bool SO,
typename... RRAs >
167decltype(
auto)
row( Matrix<MT,SO>&, RRAs... );
169template<
size_t I,
typename MT,
bool SO,
typename... RRAs >
170decltype(
auto)
row(
const Matrix<MT,SO>&, RRAs... );
172template<
size_t I,
typename MT,
bool SO,
typename... RRAs >
173decltype(
auto)
row( Matrix<MT,SO>&&, RRAs... );
175template<
typename MT,
bool SO,
typename... RRAs >
176decltype(
auto)
row( Matrix<MT,SO>&,
size_t, RRAs... );
178template<
typename MT,
bool SO,
typename... RRAs >
179decltype(
auto)
row(
const Matrix<MT,SO>&,
size_t, RRAs... );
181template<
typename MT,
bool SO,
typename... RRAs >
182decltype(
auto)
row( Matrix<MT,SO>&&,
size_t, RRAs... );
185template<
size_t I,
size_t... Is,
typename MT,
bool SO,
typename... RRAs >
186decltype(
auto)
rows( Matrix<MT,SO>&, RRAs... );
188template<
size_t I,
size_t... Is,
typename MT,
bool SO,
typename... RRAs >
189decltype(
auto)
rows(
const Matrix<MT,SO>&, RRAs... );
191template<
size_t I,
size_t... Is,
typename MT,
bool SO,
typename... RRAs >
192decltype(
auto)
rows( Matrix<MT,SO>&&, RRAs... );
194template<
typename MT,
bool SO,
typename T,
typename... RRAs >
195decltype(
auto)
rows( Matrix<MT,SO>&, T*,
size_t, RRAs... );
197template<
typename MT,
bool SO,
typename T,
typename... RRAs >
198decltype(
auto)
rows(
const Matrix<MT,SO>&, T*,
size_t, RRAs... );
200template<
typename MT,
bool SO,
typename T,
typename... RRAs >
201decltype(
auto)
rows( Matrix<MT,SO>&&, T*,
size_t, RRAs... );
203template<
typename MT,
bool SO,
typename P,
typename... RRAs >
204decltype(
auto)
rows( Matrix<MT,SO>&, P,
size_t, RRAs... );
206template<
typename MT,
bool SO,
typename P,
typename... RRAs >
207decltype(
auto)
rows(
const Matrix<MT,SO>&, P,
size_t, RRAs... );
209template<
typename MT,
bool SO,
typename P,
typename... RRAs >
210decltype(
auto)
rows( Matrix<MT,SO>&&, P,
size_t, RRAs... );
213template<
size_t I,
typename MT,
bool SO,
typename... RCAs >
214decltype(
auto)
column( Matrix<MT,SO>&, RCAs... );
216template<
size_t I,
typename MT,
bool SO,
typename... RCAs >
217decltype(
auto)
column(
const Matrix<MT,SO>&, RCAs... );
219template<
size_t I,
typename MT,
bool SO,
typename... RCAs >
220decltype(
auto)
column( Matrix<MT,SO>&&, RCAs... );
222template<
typename MT,
bool SO,
typename... RCAs >
223decltype(
auto)
column( Matrix<MT,SO>&,
size_t, RCAs... );
225template<
typename MT,
bool SO,
typename... RCAs >
226decltype(
auto)
column(
const Matrix<MT,SO>&,
size_t, RCAs... );
228template<
typename MT,
bool SO,
typename... RCAs >
229decltype(
auto)
column( Matrix<MT,SO>&&,
size_t, RCAs... );
232template<
size_t I,
size_t... Is,
typename MT,
bool SO,
typename... RCAs >
233decltype(
auto)
columns( Matrix<MT,SO>&, RCAs... );
235template<
size_t I,
size_t... Is,
typename MT,
bool SO,
typename... RCAs >
236decltype(
auto)
columns(
const Matrix<MT,SO>&, RCAs... );
238template<
size_t I,
size_t... Is,
typename MT,
bool SO,
typename... RCAs >
239decltype(
auto)
columns( Matrix<MT,SO>&&, RCAs... );
241template<
typename MT,
bool SO,
typename T,
typename... RCAs >
242decltype(
auto)
columns( Matrix<MT,SO>&, T*,
size_t, RCAs... );
244template<
typename MT,
bool SO,
typename T,
typename... RCAs >
245decltype(
auto)
columns(
const Matrix<MT,SO>&, T*,
size_t, RCAs... );
247template<
typename MT,
bool SO,
typename T,
typename... RCAs >
248decltype(
auto)
columns( Matrix<MT,SO>&&, T*,
size_t, RCAs... );
250template<
typename MT,
bool SO,
typename P,
typename... RCAs >
251decltype(
auto)
columns( Matrix<MT,SO>&, P,
size_t, RCAs... );
253template<
typename MT,
bool SO,
typename P,
typename... RCAs >
254decltype(
auto)
columns(
const Matrix<MT,SO>&, P,
size_t, RCAs... );
256template<
typename MT,
bool SO,
typename P,
typename... RCAs >
257decltype(
auto)
columns( Matrix<MT,SO>&&, P,
size_t, RCAs... );
260template<
ptrdiff_t I,
typename MT,
bool SO,
typename... RBAs >
261decltype(
auto)
band( Matrix<MT,SO>&, RBAs... );
263template<
ptrdiff_t I,
typename MT,
bool SO,
typename... RBAs >
264decltype(
auto)
band(
const Matrix<MT,SO>&, RBAs... );
266template<
ptrdiff_t I,
typename MT,
bool SO,
typename... RBAs >
267decltype(
auto)
band( Matrix<MT,SO>&&, RBAs... );
269template<
typename MT,
bool SO,
typename... RBAs >
272template<
typename MT,
bool SO,
typename... RBAs >
273decltype(
auto)
band(
const Matrix<MT,SO>&,
ptrdiff_t, RBAs... );
275template<
typename MT,
bool SO,
typename... RBAs >
278template<
typename MT,
bool SO,
typename... RDAs >
279decltype(
auto)
diagonal( Matrix<MT,SO>&, RDAs... );
281template<
typename MT,
bool SO,
typename... RDAs >
282decltype(
auto)
diagonal(
const Matrix<MT,SO>&, RDAs... );
284template<
typename MT,
bool SO,
typename... RDAs >
285decltype(
auto)
diagonal( Matrix<MT,SO>&&, RDAs... );
Header file for the alignment flag enumeration.
Pointer difference type of the Blaze library.
decltype(auto) diagonal(Matrix< MT, SO > &matrix, RDAs... args)
Creating a view on the diagonal of the given matrix.
Definition: Band.h:380
decltype(auto) band(Matrix< MT, SO > &matrix, RBAs... args)
Creating a view on a specific band of the given matrix.
Definition: Band.h:140
decltype(auto) column(Matrix< MT, SO > &matrix, RCAs... args)
Creating a view on a specific column of the given matrix.
Definition: Column.h:137
decltype(auto) elements(Vector< VT, TF > &vector, REAs... args)
Creating a view on a selection of elements of the given vector.
Definition: Elements.h:143
AlignmentFlag
Alignment flag for (un-)aligned vectors and matrices.
Definition: AlignmentFlag.h:63
constexpr size_t columns(const Matrix< MT, SO > &matrix) noexcept
Returns the current number of columns of the matrix.
Definition: Matrix.h:660
decltype(auto) row(Matrix< MT, SO > &&, size_t, RRAs...)
Creating a view on a specific row of the given temporary matrix.
Definition: Row.h:340
decltype(auto) rows(Matrix< MT, SO > &&, P, size_t, RRAs...)
Creating a view on a selection of rows of the given temporary matrix.
Definition: Rows.h:501
decltype(auto) submatrix(Matrix< MT, SO > &&, size_t, size_t, size_t, size_t, RSAs...)
Creating a view on a specific submatrix of the given temporary matrix.
Definition: Submatrix.h:856
decltype(auto) subvector(Vector< VT, TF > &&, size_t, size_t, RSAs...)
Creating a view on a specific subvector of the given temporary vector.
Definition: Subvector.h:805
Header file for all forward declarations for expression class templates.
Header file for basic type definitions.
Header file for the implementation of the Band base template.
Header file for the implementation of the Column base template.
Header file for the implementation of the Columns base template.
Header file for the implementation of the Elements base template.
Header file for the implementation of the Row base template.
Header file for the implementation of the Rows base template.
Header file for the implementation of the Submatrix base template.
Header file for the implementation of the Subvector base template.