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

Public Types

typedef M::elem_t elem_t
 
typedef MatrixHandle< elem_t >::reference reference
 
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 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

 MatrixWrapper (M *m)
 
virtual elem_t operator() (index_t r, index_t c) const
 
virtual reference set (index_t r, index_t c, elem_t val)
 
virtual void set_identity ()
 
virtual void set_zero ()
 
virtual index_t rows () const
 
virtual index_t cols () const
 
virtual void get_storage_tokens (storage_token_t *buf) const
 
virtual index_t storage_token_count () const
 
derived_reference operator() (index_t row, index_t col)
 
virtual reference set (index_t r, index_t c, M::elem_t val)=0
 
derived_row_iterator operator[] (index_t i)
 
derived_const_row_iterator operator[] (index_t i) const
 
row_iterator row (index_t i)
 
const_row_iterator row (index_t i) const
 
col_iterator col (index_t i)
 
const_col_iterator col (index_t i) const
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
region_iterator region_begin (const MatrixRegion &r)
 
const_region_iterator region_begin (const MatrixRegion &r) const
 
region_iterator region_end (const MatrixRegion &r)
 
const_region_iterator region_end (const MatrixRegion &r) const
 
storagebuffer_t get_storage_token_buffer () const
 

Public Attributes

M * m
 

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 ( )
inlineinherited
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
inlineinherited
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)
inlineinherited
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
inlineinherited
Parameters
iIndex of column (zero-indexed)
Returns
A const iterator over the elements of column i

◆ cols()

virtual index_t cols ( ) const
inlinevirtual

◆ end() [1/2]

iterator end ( )
inlineinherited
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
inlineinherited
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.

◆ get_storage_tokens()

virtual void get_storage_tokens ( storage_token_t buf) const
inlinevirtual

◆ operator()() [1/2]

virtual elem_t operator() ( index_t  r,
index_t  c 
) const
inlinevirtual

◆ operator()() [2/2]

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

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[]() [1/2]

derived_row_iterator operator[] ( index_t  i)
inlineinherited
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)
inlineinherited
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
inlineinherited
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)
inlineinherited
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
inlineinherited
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)
inlineinherited
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
inlineinherited
Parameters
iIndex of row (zero-indexed)
Returns
A const iterator over the elements of row i

◆ rows()

virtual index_t rows ( ) const
inlinevirtual

◆ set_identity()

virtual void set_identity ( )
inlinevirtual

◆ set_zero()

virtual void set_zero ( )
inlinevirtual

◆ storage_token_count()

virtual index_t storage_token_count ( ) const
inlinevirtual

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