| Home | Libraries | People | FAQ | More

#### buffers_range_ref

Returns an iterable range representing a buffer sequence.

##### Synopsis

Defined in header `<boost/beast/core/buffers_range.hpp>`

    template<
        class BufferSequence>
    implementation-defined
    buffers_range_ref(
        BufferSequence const& buffers);

##### Description

This function returns an iterable range representing the passed buffer sequence. The values obtained when iterating the range will be `net::const_buffer`, unless the underlying buffer sequence is a MutableBufferSequence, in which case the value obtained when iterating will be a `net::mutable_buffer`.

##### Example

The following function returns the total number of bytes in the specified buffer sequence. A reference to the original buffers is maintained for the lifetime of the range object:

    template < class BufferSequence>
    std::size_t buffer_sequence_size_ref (BufferSequence const & buffers)
    {
        std::size_t size = 0;
        for ( auto const buffer : buffers_range_ref (buffers))
            size += buffer.size();
        return size;
    }

##### Parameters

Name | Description
--- | ---
`buffers` | The buffer sequence to adapt into a range. The range returned from this function will maintain a reference to these buffers. The application is responsible for ensuring that the lifetime of the referenced buffers extends until the range object is destroyed.

##### Return Value

An object of unspecified type which meets the requirements of ConstBufferSequence. If `buffers` is a mutable buffer sequence, the returned object will also meet the requirements of MutableBufferSequence.

##### See Also

`buffers_range`