MySQL 8.4.2
Source Code Documentation
|
Archive implementation based on stringstream. More...
#include <archive_text.h>
Public Member Functions | |
template<typename Field_type > | |
Archive_text & | operator<< (Field_type &&arg) |
Ingests argument into this archive. More... | |
template<typename Field_type > | |
Archive_text & | operator>> (Field_type &&arg) |
Reads argument from this archive. More... | |
std::string | 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... | |
void | put_field_separator () override |
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... | |
void | put_entry_separator () override |
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... | |
void | put_level_separator () override |
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... | |
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_text > | |
Archive_text & | operator<< (Type &&arg) |
Ingests argument into this archive. More... | |
Archive_text & | 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 | 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 T , Field_size S> | |
static std::size_t | get_size (Field_wrapper< T, S > &&arg) |
Function returns size of serialized argument. More... | |
template<typename T , Field_size S> | |
static constexpr std::size_t | get_max_size () |
Function returns size of serialized argument. More... | |
Static Public Member Functions inherited from mysql::serialization::Archive< Archive_text > | |
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::stringstream | m_stream |
Internal data stream. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from mysql::serialization::Archive< Archive_text > | |
const Archive_text * | get_derived_const () |
Casts this to derived type. More... | |
Archive_text * | 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_text > | |
Serialization_error | m_error |
Holds information about error. More... | |
Archive implementation based on stringstream.
|
inlinestaticconstexpr |
Function returns size of serialized argument.
Type | type of the argument |
[in] | arg | serialized argument |
std::string mysql::serialization::Archive_text::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 |
|
inline |
Returns archive size - size of data written to the archive.
Archive_text & mysql::serialization::Archive_text::operator<< | ( | Field_type && | arg | ) |
Ingests argument into this archive.
Type | type of the argument |
[in] | arg | Argument to read data from |
Archive_text & mysql::serialization::Archive_text::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_text::peek | ( | Field_type && | field | ) |
Peeks selected field wrapper (reads data without updating read stream position)
|
overridevirtual |
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.
Each field may have a several entries (e.g. vector)
Reimplemented from mysql::serialization::Archive< Archive_text >.
|
overridevirtual |
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.
Field is defined a a single field in object of serializable class
Reimplemented from mysql::serialization::Archive< Archive_text >.
|
overridevirtual |
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.
Each field that is an object of serializable class creates a new level
Reimplemented from mysql::serialization::Archive< Archive_text >.
|
inline |
Moves the current read position to current position + size.
[in] | num_pos | Number of positions to be skipped |
|
private |
Internal data stream.