| 
|   | mat_iterator (Matrix &matrix, size_t row=0, size_t col=0) | 
|   | Constructs an iterator for a matrix, optionally starting at a specified row and column.  
  | 
|   | 
| ReturnType  | operator* () | 
|   | Dereferences the iterator to access the current matrix element.  
  | 
|   | 
| mat_iterator &  | operator++ () | 
|   | Advances the iterator to the next element in row-major order.  
  | 
|   | 
| size_t  | row_index () | 
|   | Retrieves the current row index of the iterator.  
  | 
|   | 
| size_t  | col_index () | 
|   | Retrieves the current column index of the iterator.  
  | 
|   | 
| bool  | operator== (const mat_iterator &other) const | 
|   | Equality operator to compare two iterators.  
  | 
|   | 
| bool  | operator!= (const mat_iterator &other) const | 
|   | Inequality operator to compare two iterators.  
  | 
|   | 
template<typename Matrix, typename ReturnType = matrix_element_t<Matrix>&>
class theoretica::mat_iterator< Matrix, ReturnType >
A sequential iterator for matrices. 
A const iterator may be constructed by specifying both typenames Matrix and ReturnType as const. 
 
template<typename Matrix , typename ReturnType  = matrix_element_t<Matrix>&> 
 
Constructs an iterator for a matrix, optionally starting at a specified row and column. 
- Parameters
 - 
  
    | matrix | Reference to the matrix to iterate over.  | 
    | row | Initial row index for the iterator (default is 0).  | 
    | col | Initial column index for the iterator (default is 0). | 
  
   
Constructs an iterator that points to the specified initial position within the matrix. If no row and column are specified, the iterator starts at the matrix's top-left corner (0, 0).