geomc 1.0
A c++ linear algebra template library
Public Types | Public Member Functions | Static Public Attributes | List of all members
WriteableMatrixBase< T, M, N, Derived > Class Template Reference
Inheritance diagram for WriteableMatrixBase< T, M, N, Derived >:
MatrixBase< T, M, N, Derived > MatrixHandle< M::elem_t > MatrixWrapper< M >

Public Types

typedef MtxAssignmentProxy< Derived, T > reference
 Reference to element type.
 
typedef MtxSubsetIterator< Derived, derived_referenceiterator
 Writeable row-major iterator.
 
typedef iterator region_iterator
 Writeable row-major region iterator.
 
typedef MtxRowIterator< Derived, derived_referencerow_iterator
 Writeable iterator over row elements.
 
typedef MtxColIterator< Derived, derived_referencecol_iterator
 Writeable iterator over column elements.
 
typedef T elem_t
 Element type.
 
typedef MtxSubsetIterator< const Derived, const elem_tconst_iterator
 Read-only row-major iterator over matrix elements.
 
typedef const_iterator const_region_iterator
 Read-only row-major iterator over the matrix elements in a rectangular region.
 
typedef MtxRowIterator< const Derived, const elem_tconst_row_iterator
 Read-only iterator over the elments of a row.
 
typedef MtxColIterator< const Derived, const elem_tconst_col_iterator
 Read-only iterator over the elements of a column.
 
typedef Storage< storage_token_t, _ImplStorageObjCount< Derived >::count > storagebuffer_t
 
typedef Derived recurring_t
 

Public Member Functions

derived_row_iterator operator[] (index_t i)
 
row_iterator row (index_t i)
 
col_iterator col (index_t i)
 
derived_reference operator() (index_t row, index_t col)
 
derived_reference set (index_t row, index_t col, T val)
 
iterator begin ()
 
iterator end ()
 
region_iterator region_begin (const MatrixRegion &r)
 
region_iterator region_end (const MatrixRegion &r)
 
const_row_iterator row (index_t i) const
 
const_col_iterator col (index_t i) const
 
const_iterator begin () const
 
const_iterator end () const
 
const_region_iterator region_begin (const MatrixRegion &r) const
 
const_region_iterator region_end (const MatrixRegion &r) const
 
index_t rows () const
 
index_t cols () const
 
derived_const_row_iterator operator[] (index_t i) const
 
elem_t operator() (index_t row, index_t col) const
 
storagebuffer_t get_storage_token_buffer () const
 

Static Public Attributes

static constexpr index_t ROWDIM = M
 Row dimension template parameter.
 
static constexpr index_t COLDIM = N
 Column dimension template parameter.
 

Member Function Documentation

◆ begin() [1/2]

iterator begin ( )
inline
Returns
A writeable, random-access, row-major iterator over the elements of this matrix, pointing to the element at (0,0).

◆ begin() [2/2]

const_iterator begin ( ) const
inline
Returns
A read-only random-access row major-ordered iterator over the elements of this matrix, pointing to the element at (0,0).

◆ col() [1/2]

col_iterator col ( index_t  i)
inline
Parameters
iIndex of column (zero-indexed)
Returns
A writeable iterator over the elements of column i.

◆ col() [2/2]

const_col_iterator col ( index_t  i) const
inline
Parameters
iIndex of column (zero-indexed)
Returns
A const iterator over the elements of column i

◆ cols()

index_t cols ( ) const
inlineinherited
Returns
Number of columns in the matrix.

◆ end() [1/2]

iterator end ( )
inline
Returns
A writeable, random-access, row-major iterator over the elements of this matrix, pointing to the element just beyond the last element in the lower right corner.

◆ end() [2/2]

const_iterator end ( ) const
inline
Returns
A read-only random-access row major-ordered iterator over the elements of this matrix, pointing to the element just beyond the last element in the lower right corner.

◆ operator()() [1/2]

derived_reference operator() ( index_t  row,
index_t  col 
)
inline

Get the element at (row, col).

Parameters
rowZero-indexed row coordinate
colZero-indexed column coordinate
Returns
A reference to the element at (row, col)

◆ operator()() [2/2]

elem_t operator() ( index_t  row,
index_t  col 
) const
inlineinherited

Get the element at (row, col).

Parameters
rowZero-indexed row coordinate
colZero-indexed column coordinate
Returns
The element at (row, col)

◆ operator[]() [1/2]

derived_row_iterator operator[] ( index_t  i)
inline
Parameters
iIndex of row (zero-indexed)
Returns
A writeable iterator over the elements of row i.

◆ operator[]() [2/2]

derived_const_row_iterator operator[] ( index_t  i) const
inlineinherited
Parameters
iIndex of row (zero-indexed)
Returns
A const iterator over the elements of row i

◆ region_begin() [1/2]

region_iterator region_begin ( const MatrixRegion r)
inline
Parameters
rThe zero-indexed region to iterate over. The upper extreme coordinates represent the index just beyond the last element to be iterated over.
Returns
A writeable, random-access, row-major iterator over the elements in region r, pointing at the first element in the region (upper left corner).

◆ region_begin() [2/2]

const_region_iterator region_begin ( const MatrixRegion r) const
inline
Parameters
rThe zero-indexed region to iterate over. The upper extreme coordinates represent the index just beyond the last element to be iterated over.
Returns
A read-only, random-access, row-major iterator over the elements in region r, pointing at the first element in the region (upper left corner).

◆ region_end() [1/2]

region_iterator region_end ( const MatrixRegion r)
inline
Parameters
rThe zero-indexed region to iterate over. The upper extreme coordinates represent the index just beyond the last element to be iterated over.
Returns
A writeable, random-access, row-major iterator over the elements in region r, pointing at the element just beyond the last element in the region.

◆ region_end() [2/2]

const_region_iterator region_end ( const MatrixRegion r) const
inline
Parameters
rThe zero-indexed region to iterate over. The upper extreme coordinates represent the index just beyond the last element to be iterated over.
Returns
A read-only, random-access, row-major iterator over the elements in region r, pointing at the element just beyond the last element in the region.

◆ row() [1/2]

row_iterator row ( index_t  i)
inline
Parameters
iIndex of row (zero-indexed)
Returns
A writeable iterator over the elements of row i.

◆ row() [2/2]

const_row_iterator row ( index_t  i) const
inline
Parameters
iIndex of row (zero-indexed)
Returns
A const iterator over the elements of row i

◆ rows()

index_t rows ( ) const
inlineinherited
Returns
Number of rows in the matrix.

◆ set()

derived_reference set ( index_t  row,
index_t  col,
val 
)
inline

Set the element at (row, col) to val.

Parameters
rowZero-indexed row coordinate
colZero-indexed column coordinate
valNew value of element at (row, col)
Returns
A reference to the element at (row, col), for convenience.

The documentation for this class was generated from the following file: