CUBRID Engine  latest
cubpacking::unpacker Class Reference

#include <packer.hpp>

Collaboration diagram for cubpacking::unpacker:
Collaboration graph

Public Member Functions

 unpacker ()=default
 
 unpacker (const char *storage, const size_t amount)
 
void set_buffer (const char *storage, const size_t amount)
 
void unpack_int (int &value)
 
void unpack_overloaded (int &value)
 
void peek_unpack_int (int &value)
 
void unpack_int_array (int *array, int &count)
 
void unpack_int_vector (std::vector< int > &array)
 
void unpack_bool (bool &value)
 
void unpack_overloaded (bool &value)
 
void unpack_short (short &value)
 
void unpack_overloaded (short &value)
 
void unpack_bigint (std::int64_t &value)
 
void unpack_bigint (std::uint64_t &value)
 
void unpack_overloaded (std::int64_t &value)
 
void unpack_overloaded (std::uint64_t &value)
 
void unpack_small_string (char *string, const size_t max_size)
 
void unpack_large_string (std::string &str)
 
void unpack_string (std::string &str)
 
void unpack_overloaded (std::string &str)
 
void unpack_c_string (char *str, const size_t max_str_size)
 
void unpack_string_to_memblock (cubmem::extensible_block &blk)
 
void unpack_db_value (db_value &value)
 
void unpack_overloaded (db_value &value)
 
void unpack_overloaded (packable_object &po)
 
void peek_unpack_buffer_length (int &value)
 
void unpack_buffer_with_length (char *stream, const std::size_t max_length)
 
void unpack_oid (OID &oid)
 
void unpack_overloaded (OID &oid)
 
const char * get_curr_ptr (void)
 
void align (const size_t req_alignment)
 
size_t get_current_size (void)
 
const char * get_buffer_start (void)
 
const char * get_buffer_end (void)
 
bool is_ended (void)
 
void delegate_to_or_buf (const size_t size, or_buf &buf)
 
template<typename T >
void unpack_from_int (T &t)
 
template<typename... Args>
void unpack_all (Args &&...args)
 

Private Member Functions

void unpack_string_size (size_t &len)
 
template<typename T , typename... Args>
void unpack_all_recursive (T &&t, Args &&...args)
 
template<typename T >
void unpack_all_recursive (T &&t)
 

Private Attributes

const char * m_start_ptr
 
const char * m_end_ptr
 
const char * m_ptr
 

Detailed Description

Definition at line 181 of file packer.hpp.

Constructor & Destructor Documentation

cubpacking::unpacker::unpacker ( )
default
cubpacking::unpacker::unpacker ( const char *  storage,
const size_t  amount 
)

Definition at line 81 of file packer.cpp.

References cubpacking::packer::set_buffer().

Member Function Documentation

void cubpacking::unpacker::align ( const size_t  req_alignment)

Definition at line 821 of file packer.cpp.

References cubpacking::packer::m_ptr, and PTR_ALIGN.

void cubpacking::unpacker::delegate_to_or_buf ( const size_t  size,
or_buf buf 
)
const char * cubpacking::unpacker::get_buffer_end ( void  )

Definition at line 839 of file packer.cpp.

References cubpacking::packer::m_end_ptr.

const char * cubpacking::unpacker::get_buffer_start ( void  )

Definition at line 833 of file packer.cpp.

References cubpacking::packer::m_start_ptr.

const char * cubpacking::unpacker::get_curr_ptr ( void  )

Definition at line 815 of file packer.cpp.

References cubpacking::packer::m_ptr.

size_t cubpacking::unpacker::get_current_size ( void  )
bool cubpacking::unpacker::is_ended ( void  )
void cubpacking::unpacker::peek_unpack_buffer_length ( int &  value)

Definition at line 884 of file packer.cpp.

Referenced by record_descriptor::unpack().

Here is the caller graph for this function:

void cubpacking::unpacker::peek_unpack_int ( int &  value)
void cubpacking::unpacker::set_buffer ( const char *  storage,
const size_t  amount 
)

Definition at line 87 of file packer.cpp.

References cubpacking::packer::m_end_ptr, cubpacking::packer::m_ptr, and cubpacking::packer::m_start_ptr.

Referenced by sboot_register_client().

Here is the caller graph for this function:

template<typename... Args>
void cubpacking::unpacker::unpack_all ( Args &&...  args)

Definition at line 397 of file packer.hpp.

Referenced by sboot_register_client(), clientids::unpack(), and boot_client_credential::unpack().

Here is the caller graph for this function:

template<typename T , typename... Args>
void cubpacking::unpacker::unpack_all_recursive ( T &&  t,
Args &&...  args 
)
private

Definition at line 404 of file packer.hpp.

template<typename T >
void cubpacking::unpacker::unpack_all_recursive ( T &&  t)
private

Definition at line 412 of file packer.hpp.

void cubpacking::unpacker::unpack_bigint ( std::int64_t &  value)
void cubpacking::unpacker::unpack_bigint ( std::uint64_t &  value)
void cubpacking::unpacker::unpack_bool ( bool value)

Definition at line 172 of file packer.cpp.

References assert.

Referenced by sloaddb_load_batch(), cubload::load_args::unpack(), and cubload::load_status::unpack().

Here is the caller graph for this function:

void cubpacking::unpacker::unpack_buffer_with_length ( char *  stream,
const std::size_t  max_length 
)
void cubpacking::unpacker::unpack_c_string ( char *  str,
const size_t  max_str_size 
)
template<typename T >
void cubpacking::unpacker::unpack_from_int ( T &  t)

Definition at line 388 of file packer.hpp.

void cubpacking::unpacker::unpack_int ( int &  value)
void cubpacking::unpacker::unpack_int_array ( int *  array,
int &  count 
)
void cubpacking::unpacker::unpack_int_vector ( std::vector< int > &  array)
void cubpacking::unpacker::unpack_large_string ( std::string &  str)
void cubpacking::unpacker::unpack_oid ( OID oid)
void cubpacking::unpacker::unpack_overloaded ( int &  value)

Definition at line 133 of file packer.cpp.

void cubpacking::unpacker::unpack_overloaded ( bool value)

Definition at line 181 of file packer.cpp.

void cubpacking::unpacker::unpack_overloaded ( short &  value)

Definition at line 225 of file packer.cpp.

void cubpacking::unpacker::unpack_overloaded ( std::int64_t &  value)

Definition at line 301 of file packer.cpp.

void cubpacking::unpacker::unpack_overloaded ( std::uint64_t &  value)

Definition at line 307 of file packer.cpp.

void cubpacking::unpacker::unpack_overloaded ( std::string &  str)

Definition at line 644 of file packer.cpp.

void cubpacking::unpacker::unpack_overloaded ( db_value value)

Definition at line 447 of file packer.cpp.

void cubpacking::unpacker::unpack_overloaded ( packable_object po)

Definition at line 765 of file packer.cpp.

References cubpacking::packable_object::unpack().

void cubpacking::unpacker::unpack_overloaded ( OID oid)

Definition at line 809 of file packer.cpp.

void cubpacking::unpacker::unpack_short ( short &  value)
void cubpacking::unpacker::unpack_small_string ( char *  string,
const size_t  max_size 
)
void cubpacking::unpacker::unpack_string ( std::string &  str)
void cubpacking::unpacker::unpack_string_size ( size_t &  len)
private
void cubpacking::unpacker::unpack_string_to_memblock ( cubmem::extensible_block blk)

Member Data Documentation

const char* cubpacking::unpacker::m_end_ptr
private

Definition at line 260 of file packer.hpp.

const char* cubpacking::unpacker::m_ptr
private

Definition at line 261 of file packer.hpp.

const char* cubpacking::unpacker::m_start_ptr
private

Definition at line 259 of file packer.hpp.


The documentation for this class was generated from the following files: