...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
A circular DynamicBuffer with a fixed size internal buffer.
Defined in header <boost/beast/core/static_buffer.hpp>
class static_buffer_base
Name |
Description |
---|---|
The type used to represent the input sequence as a list of buffers. |
|
The type used to represent the output sequence as a list of buffers. |
Name |
Description |
---|---|
Return the maximum sum of input and output sizes that can be held without an allocation. |
|
Move bytes from the output sequence to the input sequence. |
|
Remove bytes from the input sequence. |
|
Get a list of buffers that represent the input sequence. |
|
Return the maximum sum of the input and output sequence sizes. |
|
Get a mutable list of buffers that represent the input sequence. |
|
Get a list of buffers that represent the output sequence, with the given size. |
|
Return the size of the input sequence. |
|
Constructor. |
Name |
Description |
---|---|
Reset the pointed-to buffer. |
|
Constructor. |
This implements a circular dynamic buffer. Calls to static_buffer::prepare
never require moving memory.
The buffer sequences returned may be up to length two. Ownership of the underlying
storage belongs to the derived class.
Variables are usually declared using the template class static_buffer
; however, to reduce
the number of instantiations of template functions receiving static stream
buffer arguments in a deduced context, the signature of the receiving function
should use static_buffer_base
.
When used with static_buffer
this implements a
dynamic buffer using no memory allocations.
Convenience header <boost/beast/core.hpp>