---
name: "sc_SCMatrixBlockIter"
section: "3"
platform: "linux"
package: "libsc-doc"
version: "2.3.1-22"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/sc_SCMatrixBlockIter"
---

# sc\_SCMatrixBlockIter(3)

The SCMatrixBlockIter class is used to described iterates that loop through the elements in a block.

## NAME

sc::SCMatrixBlockIter - The **SCMatrixBlockIter** class is used to described iterates that loop through the elements in a block.

## SYNOPSIS

`#include <blkiter.h>`

Inherited by **sc::SCMatrixDiagBlockIter**, **sc::SCMatrixDiagSubBlockIter**, **sc::SCMatrixLTriBlockIter**, **sc::SCMatrixLTriSubBlockIter**, **sc::SCMatrixRectBlockIter**, **sc::SCMatrixRectSubBlockIter**, **sc::SCVectorSimpleBlockIter**, and **sc::SCVectorSimpleSubBlockIter**.

### Public Member Functions

virtual int **i** ()=0\
 Returns the row index.  virtual int **j** ()=0\
 Returns the column index.  virtual void **set** (double val)=0\
 Set the current element to val.  virtual void **accum** (double val)\
 Add val to the current element.  virtual double **get** ()=0\
 Return the value of the current element.  virtual **operator int** ()=0\
 Return nonzero if there are more elements.  virtual void **operator++** ()=0\
 Move to the next element.  void **operator++** (int)\
 virtual void **reset** ()=0\
 Start the iteration over.

## Detailed Description

The **SCMatrixBlockIter** class is used to described iterates that loop through the elements in a block.

## Member Function Documentation

### virtual double sc::SCMatrixBlockIter::get ()` [pure virtual]`

Return the value of the current element.

Implemented in **sc::SCMatrixRectBlockIter**, **sc::SCMatrixRectSubBlockIter**, **sc::SCMatrixLTriBlockIter**, **sc::SCMatrixLTriSubBlockIter**, **sc::SCMatrixDiagBlockIter**, **sc::SCMatrixDiagSubBlockIter**, **sc::SCVectorSimpleBlockIter**, and **sc::SCVectorSimpleSubBlockIter**.

### virtual int sc::SCMatrixBlockIter::i ()` [pure virtual]`

Returns the row index.

Implemented in **sc::SCMatrixRectBlockIter**, **sc::SCMatrixRectSubBlockIter**, **sc::SCMatrixLTriBlockIter**, **sc::SCMatrixLTriSubBlockIter**, **sc::SCMatrixDiagBlockIter**, **sc::SCMatrixDiagSubBlockIter**, **sc::SCVectorSimpleBlockIter**, and **sc::SCVectorSimpleSubBlockIter**.

### virtual int sc::SCMatrixBlockIter::j ()` [pure virtual]`

Returns the column index.

Implemented in **sc::SCMatrixRectBlockIter**, **sc::SCMatrixRectSubBlockIter**, **sc::SCMatrixLTriBlockIter**, **sc::SCMatrixLTriSubBlockIter**, **sc::SCMatrixDiagBlockIter**, **sc::SCMatrixDiagSubBlockIter**, **sc::SCVectorSimpleBlockIter**, and **sc::SCVectorSimpleSubBlockIter**.

### virtual sc::SCMatrixBlockIter::operator int ()` [pure virtual]`

Return nonzero if there are more elements.

Implemented in **sc::SCMatrixRectBlockIter**, **sc::SCMatrixRectSubBlockIter**, **sc::SCMatrixLTriBlockIter**, **sc::SCMatrixLTriSubBlockIter**, **sc::SCMatrixDiagBlockIter**, **sc::SCMatrixDiagSubBlockIter**, **sc::SCVectorSimpleBlockIter**, and **sc::SCVectorSimpleSubBlockIter**.

### virtual void sc::SCMatrixBlockIter::operator++ ()` [pure virtual]`

Move to the next element.

Implemented in **sc::SCMatrixRectBlockIter**, **sc::SCMatrixRectSubBlockIter**, **sc::SCMatrixLTriBlockIter**, **sc::SCMatrixLTriSubBlockIter**, **sc::SCMatrixDiagBlockIter**, **sc::SCMatrixDiagSubBlockIter**, **sc::SCVectorSimpleBlockIter**, and **sc::SCVectorSimpleSubBlockIter**.

References **operator++()**.

Referenced by **operator++()**.

### virtual void sc::SCMatrixBlockIter::reset ()` [pure virtual]`

Start the iteration over.

Implemented in **sc::SCMatrixRectBlockIter**, **sc::SCMatrixRectSubBlockIter**, **sc::SCMatrixLTriBlockIter**, **sc::SCMatrixLTriSubBlockIter**, **sc::SCMatrixDiagBlockIter**, **sc::SCMatrixDiagSubBlockIter**, **sc::SCVectorSimpleBlockIter**, and **sc::SCVectorSimpleSubBlockIter**.

### virtual void sc::SCMatrixBlockIter::set (double val)` [pure virtual]`

Set the current element to val.

Implemented in **sc::SCMatrixRectBlockIter**, **sc::SCMatrixRectSubBlockIter**, **sc::SCMatrixLTriBlockIter**, **sc::SCMatrixLTriSubBlockIter**, **sc::SCMatrixDiagBlockIter**, **sc::SCMatrixDiagSubBlockIter**, **sc::SCVectorSimpleBlockIter**, and **sc::SCVectorSimpleSubBlockIter**.

## Author

Generated automatically by Doxygen for MPQC from the source code.
