#### null_buffers::value_type

The type for each element in the list of buffers.

    typedef mutable_buffer value_type;

###### Member Functions

Name | Description
--- | ---
data | Get a pointer to the beginning of the memory range.
mutable_buffer [constructor] | Construct an empty buffer. — Construct a buffer to represent a given memory range.
operator+= | Move the start of the buffer by the specified number of bytes.
size | Get the size of the memory range.

###### Related Functions

Name | Description
--- | ---
operator+ | Create a new modifiable buffer that is offset from the start of another.

The `mutable_buffer` class provides a safe representation of a buffer that can be modified. It does not own the underlying data, and so is cheap to copy or assign.

###### Accessing Buffer Contents

The contents of a buffer may be accessed using the `data()` and `size()` member functions:

    asio::mutable_buffer b1 = ...;
    std::size_t s1 = b1.size();
    unsigned char* p1 = static_cast<unsigned char*>(b1.data());

The `data()` member function permits violations of type safety, so uses of it in application code should be carefully considered.

###### Requirements

Header: `asio/buffer.hpp`

Convenience header: `asio.hpp`