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< AlignmentFlag AF, size_t I, size_t N, typename VT, bool TF, typename... RSAs >
65 decltype(auto) subvector( Vector<VT,TF>&, RSAs... );
66 
67 template< AlignmentFlag AF, size_t I, size_t N, typename VT, bool TF, typename... RSAs >
68 decltype(auto) subvector( const Vector<VT,TF>&, RSAs... );
69 
70 template< AlignmentFlag AF, 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, typename VT, bool TF, typename... RSAs >
74 decltype(auto) subvector( Vector<VT,TF>&, size_t, size_t, RSAs... );
75 
76 template< AlignmentFlag AF, typename VT, bool TF, typename... RSAs >
77 decltype(auto) subvector( const Vector<VT,TF>&, size_t, size_t, RSAs... );
78 
79 template< AlignmentFlag AF, typename VT, bool TF, typename... RSAs >
80 decltype(auto) subvector( Vector<VT,TF>&&, size_t, size_t, RSAs... );
81 
82 template< size_t I, size_t... Is, typename VT, bool TF, typename... REAs >
83 decltype(auto) elements( Vector<VT,TF>&, REAs... );
84 
85 template< size_t I, size_t... Is, typename VT, bool TF, typename... REAs >
86 decltype(auto) elements( const Vector<VT,TF>&, REAs... );
87 
88 template< size_t I, size_t... Is, typename VT, bool TF, typename... REAs >
89 decltype(auto) elements( Vector<VT,TF>&&, REAs... );
90 
91 template< typename VT, bool TF, typename T, typename... REAs >
92 decltype(auto) elements( Vector<VT,TF>&, const T*, size_t, REAs... );
93 
94 template< typename VT, bool TF, typename T, typename... REAs >
95 decltype(auto) elements( const Vector<VT,TF>&, const T*, size_t, REAs... );
96 
97 template< typename VT, bool TF, typename T, typename... REAs >
98 decltype(auto) elements( Vector<VT,TF>&&, const T*, size_t, REAs... );
99 
100 template< AlignmentFlag AF, size_t I, size_t J, size_t M, size_t N, typename MT, bool SO, typename... RSAs >
101 decltype(auto) submatrix( Matrix<MT,SO>&, RSAs... );
102 
103 template< AlignmentFlag AF, size_t I, size_t J, size_t M, size_t N, typename MT, bool SO, typename... RSAs >
104 decltype(auto) submatrix( const Matrix<MT,SO>&, RSAs... );
105 
106 template< AlignmentFlag AF, size_t I, size_t J, size_t M, size_t N, typename MT, bool SO, typename... RSAs >
107 decltype(auto) submatrix( Matrix<MT,SO>&&, RSAs... );
108 
109 template< AlignmentFlag AF, typename MT, bool SO, typename... RSAs >
110 decltype(auto) submatrix( Matrix<MT,SO>&, size_t, size_t, size_t, size_t, RSAs... );
111 
112 template< AlignmentFlag AF, typename MT, bool SO, typename... RSAs >
113 decltype(auto) submatrix( const Matrix<MT,SO>&, size_t, size_t, size_t, size_t, RSAs... );
114 
115 template< AlignmentFlag AF, typename MT, bool SO, typename... RSAs >
116 decltype(auto) submatrix( Matrix<MT,SO>&&, size_t, size_t, size_t, size_t, RSAs... );
117 
118 template< size_t I, typename MT, bool SO, typename... RRAs >
119 decltype(auto) row( Matrix<MT,SO>&, RRAs... );
120 
121 template< size_t I, typename MT, bool SO, typename... RRAs >
122 decltype(auto) row( const Matrix<MT,SO>&, RRAs... );
123 
124 template< size_t I, typename MT, bool SO, typename... RRAs >
125 decltype(auto) row( Matrix<MT,SO>&&, RRAs... );
126 
127 template< typename MT, bool SO, typename... RRAs >
128 decltype(auto) row( Matrix<MT,SO>&, size_t, RRAs... );
129 
130 template< typename MT, bool SO, typename... RRAs >
131 decltype(auto) row( const Matrix<MT,SO>&, size_t, RRAs... );
132 
133 template< typename MT, bool SO, typename... RRAs >
134 decltype(auto) row( Matrix<MT,SO>&&, size_t, RRAs... );
135 
136 template< size_t I, size_t... Is, typename MT, bool SO, typename... RRAs >
137 decltype(auto) rows( Matrix<MT,SO>&, RRAs... );
138 
139 template< size_t I, size_t... Is, typename MT, bool SO, typename... RRAs >
140 decltype(auto) rows( const Matrix<MT,SO>&, RRAs... );
141 
142 template< size_t I, size_t... Is, typename MT, bool SO, typename... RRAs >
143 decltype(auto) rows( Matrix<MT,SO>&&, RRAs... );
144 
145 template< typename MT, bool SO, typename T, typename... RRAs >
146 decltype(auto) rows( Matrix<MT,SO>&, const T*, size_t, RRAs... );
147 
148 template< typename MT, bool SO, typename T, typename... RRAs >
149 decltype(auto) rows( const Matrix<MT,SO>&, const T*, size_t, RRAs... );
150 
151 template< typename MT, bool SO, typename T, typename... RRAs >
152 decltype(auto) rows( Matrix<MT,SO>&&, const T*, size_t, RRAs... );
153 
154 template< size_t I, typename MT, bool SO, typename... RCAs >
155 decltype(auto) column( Matrix<MT,SO>&, RCAs... );
156 
157 template< size_t I, typename MT, bool SO, typename... RCAs >
158 decltype(auto) column( const Matrix<MT,SO>&, RCAs... );
159 
160 template< size_t I, typename MT, bool SO, typename... RCAs >
161 decltype(auto) column( Matrix<MT,SO>&&, RCAs... );
162 
163 template< typename MT, bool SO, typename... RCAs >
164 decltype(auto) column( Matrix<MT,SO>&, size_t, RCAs... );
165 
166 template< typename MT, bool SO, typename... RCAs >
167 decltype(auto) column( const Matrix<MT,SO>&, size_t, RCAs... );
168 
169 template< typename MT, bool SO, typename... RCAs >
170 decltype(auto) column( Matrix<MT,SO>&&, size_t, RCAs... );
171 
172 template< size_t I, size_t... Is, typename MT, bool SO, typename... RCAs >
173 decltype(auto) columns( Matrix<MT,SO>&, RCAs... );
174 
175 template< size_t I, size_t... Is, typename MT, bool SO, typename... RCAs >
176 decltype(auto) columns( const Matrix<MT,SO>&, RCAs... );
177 
178 template< size_t I, size_t... Is, typename MT, bool SO, typename... RCAs >
179 decltype(auto) columns( Matrix<MT,SO>&&, RCAs... );
180 
181 template< typename MT, bool SO, typename T, typename... RCAs >
182 decltype(auto) columns( Matrix<MT,SO>&, const T*, size_t, RCAs... );
183 
184 template< typename MT, bool SO, typename T, typename... RCAs >
185 decltype(auto) columns( const Matrix<MT,SO>&, const T*, size_t, RCAs... );
186 
187 template< typename MT, bool SO, typename T, typename... RCAs >
188 decltype(auto) columns( Matrix<MT,SO>&&, const T*, size_t, RCAs... );
189 
190 template< ptrdiff_t I, typename MT, bool SO, typename... RBAs >
191 decltype(auto) band( Matrix<MT,SO>&, RBAs... );
192 
193 template< ptrdiff_t I, typename MT, bool SO, typename... RBAs >
194 decltype(auto) band( const Matrix<MT,SO>&, RBAs... );
195 
196 template< ptrdiff_t I, typename MT, bool SO, typename... RBAs >
197 decltype(auto) band( Matrix<MT,SO>&&, RBAs... );
198 
199 template< typename MT, bool SO, typename... RBAs >
200 decltype(auto) band( Matrix<MT,SO>&, ptrdiff_t, RBAs... );
201 
202 template< typename MT, bool SO, typename... RBAs >
203 decltype(auto) band( const Matrix<MT,SO>&, ptrdiff_t, RBAs... );
204 
205 template< typename MT, bool SO, typename... RBAs >
206 decltype(auto) band( Matrix<MT,SO>&&, ptrdiff_t, RBAs... );
207 
208 template< typename MT, bool SO, typename... RDAs >
209 decltype(auto) diagonal( Matrix<MT,SO>&, RDAs... );
210 
211 template< typename MT, bool SO, typename... RDAs >
212 decltype(auto) diagonal( const Matrix<MT,SO>&, RDAs... );
213 
214 template< typename MT, bool SO, typename... RDAs >
215 decltype(auto) diagonal( Matrix<MT,SO>&&, RDAs... );
216 
217 } // namespace blaze
218 
219 #endif
decltype(auto) subvector(Vector< VT, TF > &, RSAs...)
Creating a view on a specific subvector of the given vector.
Definition: Subvector.h:329
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.
Header file for the implementation of the Column base template.
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:135
decltype(auto) diagonal(Matrix< MT, SO > &matrix, RDAs... args)
Creating a view on the diagonal of the given matrix.
Definition: Band.h:375
Header file for all forward declarations for expression class templates.
decltype(auto) submatrix(Matrix< MT, SO > &, RSAs...)
Creating a view on a specific submatrix of the given matrix.
Definition: Submatrix.h:360
decltype(auto) band(Matrix< MT, SO > &matrix, RBAs... args)
Creating a view on a specific band of the given matrix.
Definition: Band.h:135
decltype(auto) row(Matrix< MT, SO > &, RRAs...)
Creating a view on a specific row of the given matrix.
Definition: Row.h:133
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.