28#ifndef _math_scmat_blkiter_h
29#define _math_scmat_blkiter_h
35#include <math/scmat/block.h>
39class SCMatrixRectBlock;
40class SCMatrixLTriBlock;
41class SCMatrixDiagBlock;
42class SCVectorSimpleBlock;
59 virtual void set(
double val) = 0;
63 virtual double get() = 0;
65 virtual operator int() = 0;
The SCMatrixBlockIter class is used to described iterates that loop through the elements in a block.
Definition: blkiter.h:50
virtual void set(double val)=0
Set the current element to val.
virtual int j()=0
Returns the column index.
virtual int i()=0
Returns the row index.
virtual void operator++()=0
Move to the next element.
virtual void reset()=0
Start the iteration over.
virtual void accum(double val)
Add val to the current element.
virtual double get()=0
Return the value of the current element.
Definition: blkiter.h:145
int i()
Returns the row index.
void operator++()
Move to the next element.
void reset()
Start the iteration over.
void set(double)
Set the current element to val.
double get()
Return the value of the current element.
int j()
Returns the column index.
The SCMatrixDiagBlock describes a diagonal piece of a matrix.
Definition: block.h:322
Definition: blkiter.h:162
void reset()
Start the iteration over.
void set(double)
Set the current element to val.
int j()
Returns the column index.
void operator++()
Move to the next element.
int i()
Returns the row index.
double get()
Return the value of the current element.
The SCMatrixDiagSubBlock describes a diagonal subblock of a matrix.
Definition: block.h:355
Definition: blkiter.h:109
void operator++()
Move to the next element.
void reset()
Start the iteration over.
void set(double)
Set the current element to val.
int i()
Returns the row index.
int j()
Returns the column index.
double get()
Return the value of the current element.
The SCMatrixLTriBlock describes a triangular piece of a matrix.
Definition: block.h:257
Definition: blkiter.h:127
void operator++()
Move to the next element.
double get()
Return the value of the current element.
int i()
Returns the row index.
void set(double)
Set the current element to val.
int j()
Returns the column index.
void reset()
Start the iteration over.
The SCMatrixLTriSubBlock describes a triangular subblock of a matrix.
Definition: block.h:292
double get()
Return the value of the current element.
int i()
Returns the row index.
int j()
Returns the column index.
void set(double)
Set the current element to val.
void reset()
Start the iteration over.
void operator++()
Move to the next element.
The SCMatrixRectBlock describes a rectangular piece of a matrix.
Definition: block.h:187
void set(double)
Set the current element to val.
int i()
Returns the row index.
int j()
Returns the column index.
double get()
Return the value of the current element.
void operator++()
Move to the next element.
void reset()
Start the iteration over.
The SCMatrixRectSubBlock describes a rectangular piece of a matrix.
Definition: block.h:223
Definition: blkiter.h:179
int i()
Returns the row index.
void set(double)
Set the current element to val.
double get()
Return the value of the current element.
void reset()
Start the iteration over.
void operator++()
Move to the next element.
int j()
Returns the column index.
The SCVectorSimpleBlock describes a piece of a vector.
Definition: block.h:127
Definition: blkiter.h:196
int j()
Returns the column index.
double get()
Return the value of the current element.
void set(double)
Set the current element to val.
void reset()
Start the iteration over.
void operator++()
Move to the next element.
int i()
Returns the row index.
The SCVectorSimpleSubBlock describes a subblock of a vector.
Definition: block.h:158