| ## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# csDataBuffer Class Reference

This is an implementation of iDataBuffer interface. More...

`#include <csutil/databuf.h>`

Inheritance diagram for csDataBuffer:

[legend]
List of all members.

## Public Member Functions
| csDataBuffer (iDataBuffer *source)
| Duplicate an existing data buffer. Also appends a 0 char.
| csDataBuffer (char *iData, size_t iSize, bool should_delete=true)
| Construct an data buffer object given a existing (new char []) pointer.
| csDataBuffer (size_t iSize)
| Construct an preallocated data buffer (filled with garbage initially).
virtual char * | GetData () const
| Get the buffer as an abstract pointer.
virtual size_t | GetSize () const
| Query the buffer size.
virtual | ~csDataBuffer ()
| Destroy (free) the buffer.

## Detailed Description

This is an implementation of iDataBuffer interface.

The object is extremely lightweight and is recommended for use in plugins as a mean to transparently exchange abstract data between plugins.

Definition at line 37 of file databuf.h.

## Constructor & Destructor Documentation

csDataBuffer::csDataBuffer | ( | size_t | iSize | ) | `[inline]`

Construct an preallocated data buffer (filled with garbage initially).

Definition at line 48 of file databuf.h.

csDataBuffer::csDataBuffer | ( | char * | iData,
|  | size_t | iSize,
|  | bool | should_delete = `true` |
| ) |  |  | `[inline]`

Construct an data buffer object given a existing (new char []) pointer.

Definition at line 57 of file databuf.h.

csDataBuffer::csDataBuffer | ( | iDataBuffer * | source | ) | `[inline]`

Duplicate an existing data buffer. Also appends a 0 char.

Definition at line 66 of file databuf.h.

References iDataBuffer::GetData(), and iDataBuffer::GetSize().

virtual csDataBuffer::~csDataBuffer | ( |  | ) | `[inline, virtual]`

Destroy (free) the buffer.

Definition at line 77 of file databuf.h.

## Member Function Documentation

virtual char* csDataBuffer::GetData | ( |  | ) | const`[inline, virtual]`

Get the buffer as an abstract pointer.

Implements iDataBuffer.

Definition at line 88 of file databuf.h.

virtual size_t csDataBuffer::GetSize | ( |  | ) | const`[inline, virtual]`

Query the buffer size.

Implements iDataBuffer.

Definition at line 84 of file databuf.h.

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

- csutil/databuf.h