35 #ifndef _BLAZE_MATH_PROXY_DENSEMATRIXPROXY_H_
36 #define _BLAZE_MATH_PROXY_DENSEMATRIXPROXY_H_
99 inline size_t rows()
const;
103 inline size_t capacity(
size_t i )
const;
105 inline size_t nonZeros(
size_t i )
const;
106 inline void reset()
const;
107 inline void reset(
size_t i )
const;
108 inline void clear()
const;
109 inline void resize(
size_t m,
size_t n,
bool preserve=
true )
const;
110 inline void extend(
size_t m,
size_t n,
bool preserve=
true )
const;
111 inline void reserve(
size_t n )
const;
114 template<
typename Other >
inline void scale(
const Other& scalar )
const;
143 template<
typename PT
148 return (~*
this).
get()(i,j);
164 template<
typename PT
168 return (~*
this).get().data();
180 template<
typename PT
184 return (~*
this).get().data(i);
200 template<
typename PT
205 return (~*
this).get().begin(i);
221 template<
typename PT
226 return (~*
this).get().cbegin(i);
242 template<
typename PT
247 return (~*
this).get().end(i);
263 template<
typename PT
268 return (~*
this).get().cend(i);
286 template<
typename PT
290 return (~*
this).get().rows();
300 template<
typename PT
304 return (~*
this).get().columns();
319 template<
typename PT
323 return (~*
this).get().spacing();
333 template<
typename PT
337 return (~*
this).get().capacity();
353 template<
typename PT
357 return (~*
this).get().capacity(i);
367 template<
typename PT
371 return (~*
this).get().nonZeros();
387 template<
typename PT
391 return (~*
this).get().nonZeros(i);
403 template<
typename PT
409 reset( (~*
this).
get() );
425 template<
typename PT
431 reset( (~*
this).
get(), i );
443 template<
typename PT
449 clear( (~*
this).
get() );
470 template<
typename PT
474 (~*
this).
get().resize( m, n, preserve );
494 template<
typename PT
498 (~*
this).
get().extend( m, n, preserve );
512 template<
typename PT
516 (~*
this).
get().reserve( n );
526 template<
typename PT
530 (~*
this).
get().transpose();
541 template<
typename PT
543 template<
typename Other >
546 (~*
this).
get().scale( scalar );
562 template<
typename PT,
typename MT >
566 template<
typename PT,
typename MT >
570 template<
typename PT,
typename MT >
574 template<
typename PT,
typename MT >
578 template<
typename PT,
typename MT >
581 template<
typename PT,
typename MT >
584 template<
typename PT,
typename MT >
587 template<
typename PT,
typename MT >
590 template<
typename PT,
typename MT >
593 template<
typename PT,
typename MT >
596 template<
typename PT,
typename MT >
599 template<
typename PT,
typename MT >
602 template<
typename PT,
typename MT >
621 template<
typename PT
626 return proxy.
begin(i);
644 template<
typename PT
668 template<
typename PT
692 template<
typename PT
697 return proxy.
cend(i);
709 template<
typename PT
725 template<
typename PT
741 template<
typename PT
763 template<
typename PT
779 template<
typename PT
801 template<
typename PT
819 template<
typename PT
841 template<
typename PT
859 template<
typename PT
MT::ConstIterator ConstIterator
Iterator over constant elements.
Definition: DenseMatrixProxy.h:79
BLAZE_ALWAYS_INLINE MT::ConstIterator cbegin(const Matrix< MT, SO > &matrix, size_t i)
Returns an iterator to the first element of row/column i.
Definition: Matrix.h:237
size_t rows() const
Returns the current number of rows of the represented matrix.
Definition: DenseMatrixProxy.h:288
BLAZE_ALWAYS_INLINE MT::ConstIterator cend(const Matrix< MT, SO > &matrix, size_t i)
Returns an iterator just past the last element of row/column i.
Definition: Matrix.h:300
BLAZE_ALWAYS_INLINE MT::Iterator end(Matrix< MT, SO > &matrix, size_t i)
Returns an iterator just past the last element of row/column i.
Definition: Matrix.h:258
#define BLAZE_CONSTRAINT_MUST_BE_DENSE_MATRIX_TYPE(T)
Constraint on the data type.In case the given data type T is not a dense, N-dimensional matrix type...
Definition: DenseMatrix.h:79
void extend(size_t m, size_t n, bool preserve=true) const
Extending the size of the represented matrix.
Definition: DenseMatrixProxy.h:496
Header file for the IsColumnMajorMatrix type trait.
BLAZE_ALWAYS_INLINE size_t capacity(const Matrix< MT, SO > &matrix)
Returns the maximum capacity of the matrix.
Definition: Matrix.h:348
BLAZE_ALWAYS_INLINE size_t rows(const Matrix< MT, SO > &matrix)
Returns the current number of rows of the matrix.
Definition: Matrix.h:316
Iterator begin(size_t i) const
Returns an iterator to the first element of row/column i of the represented matrix.
Definition: DenseMatrixProxy.h:203
BLAZE_ALWAYS_INLINE size_t nonZeros(const Matrix< MT, SO > &matrix)
Returns the total number of non-zero elements in the matrix.
Definition: Matrix.h:386
void scale(const Other &scalar) const
Scaling of the matrix by the scalar value scalar ( ).
Definition: DenseMatrixProxy.h:544
Proxy backend for dense matrix types.The DenseMatrixProxy class serves as a backend for the Proxy cla...
Definition: DenseMatrixProxy.h:70
Base class for dense matrices.The DenseMatrix class is a base class for all dense matrix classes...
Definition: DenseMatrix.h:70
Iterator end(size_t i) const
Returns an iterator just past the last element of row/column i of the represented matrix...
Definition: DenseMatrixProxy.h:245
size_t columns() const
Returns the current number of columns of the represented matrix.
Definition: DenseMatrixProxy.h:302
ConstIterator cbegin(size_t i) const
Returns an iterator to the first element of row/column i of the represented matrix.
Definition: DenseMatrixProxy.h:224
Constraint on the data type.
MT::Iterator Iterator
Iterator over non-constant elements.
Definition: DenseMatrixProxy.h:78
Reference operator()(size_t i, size_t j) const
Function call operator for the direct access to matrix elements.
Definition: DenseMatrixProxy.h:146
void transpose() const
Transposing the represented matrix.
Definition: DenseMatrixProxy.h:528
Header file for the clear shim.
#define BLAZE_ALWAYS_INLINE
Platform dependent setup of an enforced inline keyword.
Definition: Inline.h:85
const Element * ConstIterator
Iterator over constant elements.
Definition: CompressedMatrix.h:2482
Header file for the DenseMatrix base class.
size_t spacing() const
Returns the spacing between the beginning of two rows/columns of the represented matrix.
Definition: DenseMatrixProxy.h:321
BLAZE_ALWAYS_INLINE void clear(const NonNumericProxy< MT > &proxy)
Clearing the represented element.
Definition: NonNumericProxy.h:854
RawReference get() const
Returning the value of the accessed sparse matrix element.
Definition: MatrixAccessProxy.h:360
size_t capacity() const
Returns the maximum capacity of the represented matrix.
Definition: DenseMatrixProxy.h:335
BLAZE_ALWAYS_INLINE MT::Iterator begin(Matrix< MT, SO > &matrix, size_t i)
Returns an iterator to the first element of row/column i.
Definition: Matrix.h:195
const Type & ConstReference
Reference to a constant matrix value.
Definition: CompressedMatrix.h:2480
void clear() const
Clearing the represented matrix.
Definition: DenseMatrixProxy.h:445
MT::Reference Reference
Reference to a non-constant matrix value.
Definition: DenseMatrixProxy.h:74
Header file for the reset shim.
Element * Iterator
Iterator over non-constant elements.
Definition: CompressedMatrix.h:2481
BLAZE_ALWAYS_INLINE void reset(const NonNumericProxy< MT > &proxy)
Resetting the represented element to the default initial values.
Definition: NonNumericProxy.h:833
void reserve(size_t n) const
Setting the minimum capacity of the represented matrix.
Definition: DenseMatrixProxy.h:514
Pointer data() const
Low-level data access to matrix elements.
Definition: DenseMatrixProxy.h:166
MT::ConstReference ConstReference
Reference to a constant matrix value.
Definition: DenseMatrixProxy.h:75
MT::Pointer Pointer
Pointer to a non-constant matrix value.
Definition: DenseMatrixProxy.h:76
MT::ConstPointer ConstPointer
Pointer to a constant matrix value.
Definition: DenseMatrixProxy.h:77
void resize(size_t m, size_t n, bool preserve=true) const
Changing the size of the represented matrix.
Definition: DenseMatrixProxy.h:472
size_t nonZeros() const
Returns the number of non-zero elements in the represented matrix.
Definition: DenseMatrixProxy.h:369
void reset() const
Reset to the default initial value.
Definition: DenseMatrixProxy.h:405
BLAZE_ALWAYS_INLINE size_t columns(const Matrix< MT, SO > &matrix)
Returns the current number of columns of the matrix.
Definition: Matrix.h:332
Header file for basic type definitions.
MatrixAccessProxy< This > Reference
Reference to a non-constant matrix value.
Definition: CompressedMatrix.h:2479
ConstIterator cend(size_t i) const
Returns an iterator just past the last element of row/column i of the represented matrix...
Definition: DenseMatrixProxy.h:266
System settings for the inline keywords.