...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
A dynamic buffer providing buffer sequences of length one.
Defined in header <boost/beast/core/flat_buffer.hpp>
template< class Allocator> class basic_flat_buffer
Name |
Description |
---|---|
The type of allocator used. |
|
The ConstBufferSequence used to represent the readable bytes. |
|
The MutableBufferSequence used to represent the writable bytes. |
Name |
Description |
---|---|
basic_flat_buffer [constructor] |
Constructor. |
Return the maximum number of bytes, both readable and writable, that can be held without requiring an allocation. |
|
Returns a constant buffer sequence representing the readable bytes. |
|
Set the size of the readable and writable bytes to zero. |
|
Append writable bytes to the readable bytes. |
|
Remove bytes from beginning of the readable bytes. |
|
Returns a constant buffer sequence representing the readable bytes.
|
|
Returns a copy of the allocator used. |
|
Set the maximum allowed capacity. |
|
Move Assignment. |
|
Returns a mutable buffer sequence representing writable bytes. |
|
Guarantee a minimum capacity. |
|
Request the removal of unused capacity. |
|
Returns the number of readable bytes. |
|
~basic_flat_buffer [destructor] |
Destructor. |
Name |
Description |
---|---|
Exchange two dynamic buffers. |
A dynamic buffer encapsulates memory storage that may be automatically resized as required, where the memory is divided into two regions: readable bytes followed by writable bytes. These memory regions are internal to the dynamic buffer, but direct access to the elements is provided to permit them to be efficiently used with I/O operations.
Objects of this type meet the requirements of DynamicBuffer and have the following additional properties:
data
when this
is non-const.
std::length_error
.
data
and prepare
, will have a type of
net::const_buffer or net::mutable_buffer.
Upon construction, a maximum size for the buffer may be specified. If this
limit is exceeded, the std::length_error
exception will be thrown.
This class is designed for use with algorithms that take dynamic buffers as parameters, and are optimized for the case where the input sequence or output sequence is stored in a single contiguous buffer.