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

# sc\_MsgStateBufRecv(3)

The MsgStateBufRecv is an abstract base class that buffers objects sent through a MessageGrp.

## NAME

sc::MsgStateBufRecv - The **MsgStateBufRecv** is an abstract base class that buffers objects sent through a **MessageGrp**.

## SYNOPSIS

`#include <mstate.h>`

Inherits **sc::StateIn**.

Inherited by **sc::BcastStateInBin**, and **sc::MsgStateRecv**.

### Public Member Functions

**MsgStateBufRecv** (const **Ref**\< **MessageGrp** \> &)\
 **MsgStateBufRecv** can be initialized with a **MessageGrp**.  **MsgStateBufRecv** ()\
 Use the default **MessageGrp**.  void **set\_buffer\_size** (int)\
 The buffer size of statein and stateout objects that communicate with each other must match.

### Protected Member Functions

int **get\_array\_void** (void \*, int)\
 virtual void **next\_buffer** ()=0\
 Specializations must implement **next\_buffer()**.

### Protected Attributes

**Ref**\< **MessageGrp** \> **grp**\
 int **nbuf**\
 int **ibuf**\
 int **bufsize**\
 char \* **buffer**\
 char \* **send\_buffer**\
 int **nheader**\
 int \* **nbuf\_buffer**\

## Detailed Description

The **MsgStateBufRecv** is an abstract base class that buffers objects sent through a **MessageGrp**.

## Member Function Documentation

### int sc::MsgStateBufRecv::get\_array\_void (void \*, int)` [protected]`, ` [virtual]`

Reimplemented from **sc::StateIn**.

### virtual void sc::MsgStateBufRecv::next\_buffer ()` [protected]`, ` [pure virtual]`

Specializations must implement **next\_buffer()**.

Implemented in **sc::StateRecv**, **sc::BcastStateRecv**, and **sc::BcastStateInBin**.

## Author

Generated automatically by Doxygen for MPQC from the source code.
