MySQL 9.1.0
Source Code Documentation
|
Binary archive implementation based on vector of bytes. More...
#include <archive_binary.h>
Public Member Functions | |
template<typename Field_type > | |
Archive_binary & | operator<< (Field_type &&arg) |
Ingests argument into this archive. More... | |
template<typename Field_type > | |
Archive_binary & | operator>> (Field_type &&arg) |
Reads argument from this archive. More... | |
std::vector< unsigned char > & | get_raw_data () |
Function for the API user to access data in the archive. More... | |
template<class Field_type > | |
void | peek (Field_type &&field) |
Peeks selected field wrapper (reads data without updating read stream position) More... | |
void | seek_to (std::size_t num_pos) |
Moves the current read position to current position + size. More... | |
std::size_t | get_read_pos () const |
Gets current read pos. More... | |
Public Member Functions inherited from mysql::serialization::Archive< Archive_binary > | |
Archive_binary & | operator<< (Type &&arg) |
Ingests argument into this archive. More... | |
Archive_binary & | operator>> (Type &&arg) |
Reads argument from this archive. More... | |
decltype(auto) | get_raw_data () |
Function for the API user to access data in the archive. More... | |
std::size_t | get_size_written () const |
Returns archive size - size of data written to the archive. More... | |
virtual void | put_field_separator () |
This method needs to define field separator to be inserted after the field, note that some formats won't contain separators Used mainly for text formatters. More... | |
virtual void | put_entry_separator () |
This method needs to define field entry separator to be inserted after the field entry, note that some formats won't contain separators Used mainly for text formatters. More... | |
virtual void | put_level_separator () |
This method needs to define level separator to be inserted after the level, note that some formats won't contain separators Used mainly for text formatters. More... | |
virtual void | process_field_separator () |
This method needs to define how to process field separator during decoding. More... | |
virtual void | process_entry_separator () |
This method needs to define how to process field entry separator during decoding. More... | |
virtual void | process_level_separator () |
This method needs to define how to process level separator during decoding. More... | |
Static Public Member Functions | |
template<typename Field_type , Field_size defined_field_size> | |
static constexpr std::size_t | get_max_size () |
Function returns maximum size of the Type. More... | |
template<typename Field_type > | |
static std::size_t | get_size (Field_type &&arg) |
Function returns size of serialized argument. More... | |
Static Public Member Functions inherited from mysql::serialization::Archive< Archive_binary > | |
static std::size_t | get_size (Type &&arg) |
Function returns size of serialized argument. More... | |
static constexpr std::size_t | get_max_size () |
Function returns maximum size of the Type. More... | |
Private Attributes | |
std::vector< unsigned char > | m_stream |
Internal data stream. More... | |
std::size_t | read_pos {0} |
Read position. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from mysql::serialization::Archive< Archive_binary > | |
const Archive_binary * | get_derived_const () |
Casts this to derived type. More... | |
Archive_binary * | get_derived () |
Casts this to derived type. More... | |
Field_id_type | peek_type_field_id () |
This method decodes field id, without moving stream positions. More... | |
void | peek (Field_type &&field) |
Peeks selected field wrapper (reads data without updating read stream position) More... | |
void | seek_to (std::size_t num_pos) |
Moves the current read position to current position + size. More... | |
std::size_t | get_read_pos () const |
Gets current read pos. More... | |
bool | is_error () const |
bool | is_good () const |
const Serialization_error & | get_error () |
void | clear_error () |
virtual | ~Archive ()=default |
Destructor. More... | |
Protected Attributes inherited from mysql::serialization::Archive< Archive_binary > | |
Serialization_error | m_error |
Holds information about error. More... | |
Binary archive implementation based on vector of bytes.
|
inlinestaticconstexpr |
Function returns maximum size of the Type.
Type | serialized type |
std::vector< unsigned char > & mysql::serialization::Archive_binary::get_raw_data | ( | ) |
Function for the API user to access data in the archive.
|
inline |
Gets current read pos.
|
inlinestatic |
Function returns size of serialized argument.
Type | type of the argument |
[in] | arg | serialized argument |
Archive_binary & mysql::serialization::Archive_binary::operator<< | ( | Field_type && | arg | ) |
Ingests argument into this archive.
Type | type of the argument |
[in] | arg | Argument to read data from |
Archive_binary & mysql::serialization::Archive_binary::operator>> | ( | Field_type && | arg | ) |
Reads argument from this archive.
Type | type of the argument |
[in] | arg | Argument to store data into |
void mysql::serialization::Archive_binary::peek | ( | Field_type && | field | ) |
Peeks selected field wrapper (reads data without updating read stream position)
|
inline |
Moves the current read position to current position + size.
[in] | num_pos | Number of positions to be skipped |
|
private |
Internal data stream.
|
private |
Read position.