MySQL 9.1.0
Source Code Documentation
|
#include <managed_buffer.h>
Public Member Functions | |
Preallocated_managed_buffer (const Memory_resource_t &memory_resource=Memory_resource_t()) | |
Public Member Functions inherited from mysql::containers::buffers::Managed_buffer< unsigned char > | |
Managed_buffer (const Memory_resource_t &memory_resource=Memory_resource_t()) | |
Construct a new object without a default buffer. More... | |
Managed_buffer (Size_t default_capacity, const Memory_resource_t &memory_resource=Memory_resource_t()) | |
Construct a new object that owns a default buffer. More... | |
Managed_buffer (Buffer_view_t default_buffer, const Memory_resource_t &memory_resource=Memory_resource_t()) | |
Construct a new object that uses the given default buffer. More... | |
Managed_buffer (Managed_buffer &other)=delete | |
Managed_buffer (Managed_buffer &&other) noexcept=default | |
Managed_buffer & | operator= (Managed_buffer &other)=delete |
Managed_buffer & | operator= (Managed_buffer &&other) noexcept=default |
~Managed_buffer () override | |
Grow_status | reserve_total_size (Size_t requested_size) |
Reserve space so that the total buffer size is at least the given number. More... | |
Grow_status | reserve_write_size (Size_t requested_write_size) |
Reserve space so that the write size is at least the given number. More... | |
void | reset () |
Reset the buffer. More... | |
void | set_grow_calculator (const Grow_calculator_t &grow_calculator) |
Set the grow calculator. More... | |
const Grow_calculator_t & | get_grow_calculator () const |
Return a const reference to the grow calculator. More... | |
Size_t | get_default_capacity () |
Return the size of the default buffer. More... | |
Public Member Functions inherited from mysql::containers::buffers::Rw_buffer< unsigned char > | |
Rw_buffer ()=default | |
Rw_buffer (Buffer_view_t buffer) | |
Create a new Rw_buffer from the specified size and buffer. More... | |
Rw_buffer (Rw_buffer &)=delete | |
Deleted copy constructor. More... | |
Rw_buffer (Rw_buffer &&) noexcept=default | |
Default move constructor. More... | |
Rw_buffer & | operator= (Rw_buffer &)=delete |
Deleted copy assignment operator. More... | |
Rw_buffer & | operator= (Rw_buffer &&) noexcept=default |
Default move assignment operator. More... | |
virtual | ~Rw_buffer ()=default |
Default delete operator. More... | |
const Buffer_view_t & | read_part () const |
Return the read part. More... | |
Buffer_view_t & | read_part () |
Return the read part. More... | |
const Buffer_view_t & | write_part () const |
Return the write part. More... | |
Buffer_view_t & | write_part () |
Return the write part. More... | |
Size_t | capacity () const |
Return the total size of the read part and the write part. More... | |
void | set_position (Size_t new_position) |
Set the position to a fixed number. More... | |
void | increase_position (Size_t increment) |
Increase the position right, relative to the currrent position. More... | |
void | move_position (Difference_t delta) |
Move the position left or right, relative to the current position. More... | |
Private Attributes | |
Char_t | m_preallocated_buffer [preallocated_size==0 ? 1 :preallocated_size] |
Preallocated buffer. More... | |
Additional Inherited Members | |
Public Types inherited from mysql::containers::buffers::Managed_buffer< unsigned char > | |
using | Char_t = unsigned char |
using | Buffer_view_t = Buffer_view< Char_t > |
using | Rw_buffer_t = Rw_buffer< Char_t > |
using | Memory_resource_t = mysql::allocators::Memory_resource |
using | Char_allocator_t = mysql::allocators::Allocator< Char_t > |
using | Grow_calculator_t = Grow_calculator |
using | Const_iterator_t = const Char_t * |
using | Iterator_t = Char_t * |
using | Size_t = std::size_t |
Public Types inherited from mysql::containers::buffers::Rw_buffer< unsigned char > | |
using | Char_t = unsigned char |
using | Size_t = std::size_t |
using | Difference_t = std::ptrdiff_t |
using | Iterator_t = Char_t * |
using | Const_iterator_t = const Char_t * |
using | Buffer_view_t = mysql::containers::buffers::Buffer_view< Char_t > |
Protected Attributes inherited from mysql::containers::buffers::Rw_buffer< unsigned char > | |
Buffer_view_t | m_read_part |
Buffer_view_t | m_write_part |
This class pre-allocates a fixed-size initial buffer, which is beneficial in use patterns where managed buffers are allocated on the stack and are usually only given small amount of data.
|
inlineexplicit |
|
private |
Preallocated buffer.