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

# sc\_OneBodyIntOp(3)

## NAME

sc::OneBodyIntOp

## SYNOPSIS

Inherits **sc::SCElementOp**.

### Public Member Functions

**OneBodyIntOp** (const **Ref**\< **OneBodyInt** \> &)\
 **OneBodyIntOp** (const **Ref**\< **OneBodyIntIter** \> &)\
 void **process** (**SCMatrixBlockIter** &)\
 This is the fallback routine to process blocks and is called by process\_spec members that are not overridden.  void **process\_spec\_rect** (**SCMatrixRectBlock** \*)\
 Matrices should call these members when the type of block is known.  void **process\_spec\_ltri** (**SCMatrixLTriBlock** \*)\
 void **process\_spec\_rectsub** (**SCMatrixRectSubBlock** \*)\
 void **process\_spec\_ltrisub** (**SCMatrixLTriSubBlock** \*)\
 bool **cloneable** ()\
 Returns true if this **SCElementOp** supports the cloneable member.  **Ref**\< **SCElementOp** \> **clone** ()\
 Returns a clone of this object.  int **has\_side\_effects** ()\
 By default this returns nonzero.

### Protected Attributes

**Ref**\< **OneBodyIntIter** \> **iter**\

### Additional Inherited Members

## Member Function Documentation

### Ref\< SCElementOp \> sc::OneBodyIntOp::clone ()` [virtual]`

Returns a clone of this object. This is needed for multithreaded use of **SCElementOp** objects that are not thread safe. The default implemenation throws an exception.

Reimplemented from **sc::SCElementOp**.

### bool sc::OneBodyIntOp::cloneable ()` [virtual]`

Returns true if this **SCElementOp** supports the cloneable member. The default implmentation returns false.

Reimplemented from **sc::SCElementOp**.

### int sc::OneBodyIntOp::has\_side\_effects ()` [virtual]`

By default this returns nonzero. If the ElementOp specialization will change any elements of the matrix, then this must be overridden to return nonzero.

Reimplemented from **sc::SCElementOp**.

### void sc::OneBodyIntOp::process (SCMatrixBlockIter &)` [virtual]`

This is the fallback routine to process blocks and is called by process\_spec members that are not overridden.

Implements **sc::SCElementOp**.

### void sc::OneBodyIntOp::process\_spec\_ltri (SCMatrixLTriBlock \*)` [virtual]`

Reimplemented from **sc::SCElementOp**.

### void sc::OneBodyIntOp::process\_spec\_ltrisub (SCMatrixLTriSubBlock \*)` [virtual]`

Reimplemented from **sc::SCElementOp**.

### void sc::OneBodyIntOp::process\_spec\_rect (SCMatrixRectBlock \*)` [virtual]`

Matrices should call these members when the type of block is known. ElementOp specializations should override these when efficiency is important, since these give the most efficient access to the elements of the block.

Reimplemented from **sc::SCElementOp**.

### void sc::OneBodyIntOp::process\_spec\_rectsub (SCMatrixRectSubBlock \*)` [virtual]`

Reimplemented from **sc::SCElementOp**.

## Author

Generated automatically by Doxygen for MPQC from the source code.
