### const_buffer

Holds a buffer that cannot be modified.

    class const_buffer

##### Member Functions

Name | Description
--- | ---
const_buffer [constructor] | Construct an empty buffer. — Construct a buffer to represent a given memory range. — Construct a non-modifiable buffer from a modifiable one. — Construct a buffer from a span of bytes.
data | Get a pointer to the beginning of the 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 non-modifiable buffer that is offset from the start of another.

The `const_buffer` class provides a safe representation of a buffer that cannot 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::const_buffer b1 = ...;
    std::size_t s1 = b1.size();
    const unsigned char* p1 = static_cast<const 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`