---
name: "ost_FixedBuffer"
section: "3"
platform: "linux"
package: "libcommoncpp2-doc"
version: "1.8.1-10"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/ost_FixedBuffer"
---

# ost\_FixedBuffer(3)

A buffer class that holds a known capacity of fixed sized objects defined during creation.

## NAME

ost::FixedBuffer - A buffer class that holds a known capacity of fixed sized objects defined during creation.

## SYNOPSIS

`#include <buffer.h>`

Inherits **ost::Buffer**.

### Public Member Functions

**FixedBuffer** (size\_t capacity, size\_t objsize)\
 Create a buffer of known capacity for objects of a specified size.  **FixedBuffer** (const **FixedBuffer** &fb)\
 Create a copy of an existing fixed size buffer and duplicate it's contents.  virtual **~FixedBuffer** ()\
 Destroy the fixed buffer and free the memory used to store objects.  **FixedBuffer** & **operator=** (const **FixedBuffer** &fb)\
 bool **isValid** (void)\

### Protected Member Functions

size\_t **onPeek** (void \*buf)\
 Return the first object in the buffer.  size\_t **onWait** (void \*buf)\
 Wait for and return a fixed object in the buffer.  size\_t **onPost** (void \*buf)\
 Post an object of the appropriate size into the buffer.

### Additional Inherited Members

## Detailed Description

A buffer class that holds a known capacity of fixed sized objects defined during creation.

**Author**

David Sugar dyfet@ostel.com

producer/consumer buffer for fixed size objects.

## Constructor & Destructor Documentation

### ost::FixedBuffer::FixedBuffer (size\_t capacity, size\_t objsize)

Create a buffer of known capacity for objects of a specified size.

**Parameters**

*capacity* of the buffer. \
 *objsize* for each object held in the buffer.

### ost::FixedBuffer::FixedBuffer (const FixedBuffer & fb)

Create a copy of an existing fixed size buffer and duplicate it's contents.

**Parameters**

*fb* existing **FixedBuffer** object.

### virtual ost::FixedBuffer::~FixedBuffer ()` [virtual]`

Destroy the fixed buffer and free the memory used to store objects.

## Member Function Documentation

### bool ost::FixedBuffer::isValid (void)` [virtual]`

Reimplemented from **ost::Buffer**.

### size\_t ost::FixedBuffer::onPeek (void \* buf)` [protected]`, ` [virtual]`

Return the first object in the buffer.

**Returns**

predefined size of this buffers objects.

**Parameters**

*buf* pointer to copy contents of head of buffer to.

Implements **ost::Buffer**.

### size\_t ost::FixedBuffer::onPost (void \* buf)` [protected]`, ` [virtual]`

Post an object of the appropriate size into the buffer.

**Returns**

predefined size of this buffers objects.

**Parameters**

*buf* pointer to data to copy into the buffer.

Implements **ost::Buffer**.

### size\_t ost::FixedBuffer::onWait (void \* buf)` [protected]`, ` [virtual]`

Wait for and return a fixed object in the buffer.

**Returns**

predefined size of this buffers objects.

**Parameters**

*buf* pointer to hold object returned from the buffer.

Implements **ost::Buffer**.

### FixedBuffer& ost::FixedBuffer::operator= (const FixedBuffer & fb)

## Author

Generated automatically by Doxygen for GNU CommonC++ from the source code.
