# Class StreamBuffer
Reinterprets the std::basic_streambuf to grant access to protected member functions.

Defined in | <seqan/stream.h>
Signature | `template <typename TValue[, typenam TTraits]> class StreamBuffer : public std::basic_streambuf<TValue, TTraits>;`

## Template Parameters

`TValue` | The value type of the stream buffer.
`TTraits` | The traits to use, defaults to `std::char_traits<TValue>`.

## Interface Metafunction Overview

- `Chunk<TStreamBuffer>::Type;`
  Return chunk type for StreamBuffer
- `Difference<TStreamBuffer>::Type;`
  Return difference for StreamBuffer.
- `GetValue<TStreamBuffer>::Type;`
  Return get value for StreamBuffer.
- `Position<TStreamBuffer>::Type;`
  Return position for StreamBuffer.
- `Reference<TStreamBuffer>::Type;`
  Return reference for StreamBuffer.
- `Size<TStreamBuffer>::Type;`
  Return size for StreamBuffer.

## Interface Metafunctions Detail

### `Chunk<TStreamBuffer>::Type;`

Return chunk type for StreamBuffer

#### Template Parameters

`TStreamBuffer` | The StreamBuffer to query for its chunk type.

#### Returns

`Type` | The chunk type of the stream buffer.

### `Difference<TStreamBuffer>::Type;`

Return difference for StreamBuffer.

#### Template Parameters

`TStreamBuffer` | The StreamBuffer to query for its difference type.

#### Returns

`Type` | The difference type of the stream buffer.

### `GetValue<TStreamBuffer>::Type;`

Return get value for StreamBuffer.

#### Template Parameters

`TStreamBuffer` | The StreamBuffer to query for its get value type.

#### Returns

`Type` | The get value type of the stream buffer.

### `Position<TStreamBuffer>::Type;`

Return position for StreamBuffer.

#### Template Parameters

`TStreamBuffer` | The StreamBuffer to query for its position type.

#### Returns

`Type` | The position type of the stream buffer.

### `Reference<TStreamBuffer>::Type;`

Return reference for StreamBuffer.

#### Template Parameters

`TStreamBuffer` | The StreamBuffer to query for its reference type.

#### Returns

`Type` | The reference type of the stream buffer.

### `Size<TStreamBuffer>::Type;`

Return size for StreamBuffer.

#### Template Parameters

`TStreamBuffer` | The StreamBuffer to query for its size type.

#### Returns

`Type` | The size type of the stream buffer.

#### Dox Sources

    /*!
     * @class StreamBuffer
     *
     * @headerfile <seqan/stream.h>
     *
     * @brief Reinterprets the std::basic_streambuf to grant access to protected
     *        member functions.
     *
     * @signature template <typename TValue[, typenam TTraits]> class StreamBuffer :
     *            public std::basic_streambuf<TValue, TTraits>;
     *
     * @tparam TValue The value type of the stream buffer.
     * @tparam TTraits The traits to use, defaults to
     *                 <tt>std::char_traits&lt;TValue&gt;</tt>.
     *
     * @mfn StreamBuffer#Chunk
     *
     * @brief Return chunk type for StreamBuffer
     *
     * @signature Chunk<TStreamBuffer>::Type;
     *
     * @tparam TStreamBuffer The StreamBuffer to query for its chunk type.
     *
     * @return Type The chunk type of the stream buffer.
     *
     * @mfn StreamBuffer#Reference
     *
     * @brief Return reference for StreamBuffer.
     *
     * @signature Reference<TStreamBuffer>::Type;
     *
     * @tparam TStreamBuffer The StreamBuffer to query for its reference type.
     *
     * @return Type The reference type of the stream buffer.
     *
     * @mfn StreamBuffer#GetValue
     *
     * @brief Return get value for StreamBuffer.
     *
     * @signature GetValue<TStreamBuffer>::Type;
     *
     * @tparam TStreamBuffer The StreamBuffer to query for its get value type.
     *
     * @return Type The get value type of the stream buffer.
     *
     * @mfn StreamBuffer#Position
     *
     * @brief Return position for StreamBuffer.
     *
     * @signature Position<TStreamBuffer>::Type;
     *
     * @tparam TStreamBuffer The StreamBuffer to query for its position type.
     *
     * @return Type The position type of the stream buffer.
     *
     * @mfn StreamBuffer#Difference
     *
     * @brief Return difference for StreamBuffer.
     *
     * @signature Difference<TStreamBuffer>::Type;
     *
     * @tparam TStreamBuffer The StreamBuffer to query for its difference type.
     *
     * @return Type The difference type of the stream buffer.
     *
     * @mfn StreamBuffer#Size
     *
     * @brief Return size for StreamBuffer.
     *
     * @signature Size<TStreamBuffer>::Type;
     *
     * @tparam TStreamBuffer The StreamBuffer to query for its size type.
     *
     * @return Type The size type of the stream buffer.
     */