---
name: "FixedBuffer"
section: "3cc"
platform: "linux"
package: "libcommoncpp2-dev"
version: "1.0.13-5"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/FixedBuffer"
---

# FixedBuffer(3cc)

A buffer class that holds a known capacity of fixed sized objects defined during creation. producer/consumer buffer for fixed size objects.

## NAME

FixedBuffer - A buffer class that holds a known capacity of fixed sized objects defined during creation. producer/consumer buffer for fixed size objects.

## SYNOPSIS

`#include <thread.h>`

Inherits **Buffer**.

### Public Methods

**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 Methods

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

## DETAILED DESCRIPTION

A buffer class that holds a known capacity of fixed sized objects defined during creation. producer/consumer buffer for fixed size objects.

**Author:**  David Sugar \<dyfet@ostel.com\>

## CONSTRUCTOR & DESTRUCTOR DOCUMENTATION

### 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.*

### 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 FixedBuffer::~FixedBuffer ()` [virtual]`

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

## MEMBER FUNCTION DOCUMENTATION

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

*Reimplemented from* **Buffer***.*

### int 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* **Buffer***.*

### int 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* **Buffer***.*

### int 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* **Buffer***.*

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

## AUTHOR

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