# Poco

# template < class T >

# class Buffer

Library: Foundation
Package: Core
Header: Poco/Buffer.h

## Description

A very simple buffer class that allocates a buffer of a given type and size in the constructor and deallocates the buffer in the destructor.

This class is useful everywhere where a temporary buffer is needed.

## Member Summary

Member Functions: begin, end, operator [], resize, size

## Constructors

### Buffer

Buffer(
std::size_t size
);

Creates and allocates the Buffer.

## Destructor

### ~Buffer

~Buffer();

Destroys the Buffer.

## Member Functions

### begin

T * begin();

Returns a pointer to the beginning of the buffer.

### begin

const T * begin() const;

Returns a pointer to the beginning of the buffer.

### end

T * end();

Returns a pointer to end of the buffer.

### end

const T * end() const;

Returns a pointer to the end of the buffer.

### operator []

T & operator[] (
std::size_t index
);

### operator []

const T & operator[] (
std::size_t index
) const;

### resize

void resize(
std::size_t newSize,
bool preserveContent = true
);

Resizes the buffer. If preserveContent is true, the content of the old buffer is copied over to the new buffer. NewSize can be larger or smaller than the current size, but it must not be 0.

### size

std::size_t size() const;

Returns the size of the buffer.