# Dirac - A Video Codec

Created by the British Broadcasting Corporation.

# dirac::MemoryStreamOutput::OutputMemoryBuffer Class Reference

local memory buffer

`#include <pic_io.h>`

List of all members.

## Public Member Functions

- OutputMemoryBuffer ()
    Memory buffer constructor.
- void SetMembufReference (unsigned char *buffer, int buffer_size)
    Set the buffer variables.

## Protected Member Functions

- virtual int overflow (int c)
    Write Overflow method to write one char at a time.
- virtual std::streamsize xsputn (const char *s, std::streamsize num)
    xsputn method to write one multiple chars at a time to buffer

## Protected Attributes

- unsigned char * m_op_buf
    Memory buffer to write data to.
- int m_op_buf_size
    Memory buffer size.
- int m_op_idx
    Index of first available byte in buffer.

## Private Member Functions

- OutputMemoryBuffer (const OutputMemoryBuffer &)
    Body-less copy constructor.
- OutputMemoryBuffer & operator= (const OutputMemoryBuffer &)
    Body-less assignment operator.

## Constructor & Destructor Documentation

dirac::MemoryStreamOutput::OutputMemoryBuffer::OutputMemoryBuffer | ( |  | ) | `[inline]`

dirac::MemoryStreamOutput::OutputMemoryBuffer::OutputMemoryBuffer | ( | const OutputMemoryBuffer & |  | ) | `[private]`

## Member Function Documentation

OutputMemoryBuffer& dirac::MemoryStreamOutput::OutputMemoryBuffer::operator= | ( | const OutputMemoryBuffer & |  | ) | `[private]`

virtual int dirac::MemoryStreamOutput::OutputMemoryBuffer::overflow | ( | int | c | ) | `[inline, protected, virtual]`

References m_op_buf, m_op_buf_size, and m_op_idx.

void dirac::MemoryStreamOutput::OutputMemoryBuffer::SetMembufReference | ( | unsigned char * | buffer,
|  | int | buffer_size |
| ) |  |  | `[inline]`

Set the memory buffer variables

Parameters:

  | buffer | buffer to write data to
  | buffer_size | size of output buffer

References m_op_buf, m_op_buf_size, and m_op_idx.

virtual std::streamsize dirac::MemoryStreamOutput::OutputMemoryBuffer::xsputn | ( | const char * | s,
|  | std::streamsize | num |
| ) |  |  | `[inline, protected, virtual]`

References m_op_buf, m_op_buf_size, and m_op_idx.

## Member Data Documentation

unsigned char* dirac::MemoryStreamOutput::OutputMemoryBuffer::m_op_buf`[protected]`

Referenced by overflow(), SetMembufReference(), and xsputn().

int dirac::MemoryStreamOutput::OutputMemoryBuffer::m_op_buf_size`[protected]`

Referenced by overflow(), SetMembufReference(), and xsputn().

int dirac::MemoryStreamOutput::OutputMemoryBuffer::m_op_idx`[protected]`

Referenced by overflow(), SetMembufReference(), and xsputn().

The documentation for this class was generated from the following file:

- pic_io.h

© 2004 British Broadcasting Corporation. Dirac code licensed under the Mozilla Public License (MPL) Version 1.1.
HTML documentation generated by Dimitri van Heesch's excellent Doxygen tool.