SST  14.0.0
StructuralSimulationToolkit
SST::Core::Serialization::serializer Class Reference

This class is basically a wrapper for objects to declare the order in which their members should be ser/des. More...

#include <serializer.h>

Public Types

enum  SERIALIZE_MODE { SIZER, PACK, UNPACK }
 

Public Member Functions

pvt::ser_packerpacker ()
 
pvt::ser_unpackerunpacker ()
 
pvt::ser_sizersizer ()
 
template<class T >
void size (T &t)
 
template<class T >
void pack (T &t)
 
template<class T >
void unpack (T &t)
 
SERIALIZE_MODE mode () const
 
void set_mode (SERIALIZE_MODE mode)
 
void reset ()
 
template<typename T >
void primitive (T &t)
 
template<class T , int N>
void array (T arr[N])
 
template<typename T , typename Int >
void binary (T *&buffer, Int &size)
 
template<typename Int >
void binary (void *&buffer, Int &size)
 
void string (std::string &str)
 
void start_packing (char *buffer, size_t size)
 
void start_sizing ()
 
void start_unpacking (char *buffer, size_t size)
 
size_t size () const
 
bool check_pointer_pack (uintptr_t ptr)
 
uintptr_t check_pointer_unpack (uintptr_t ptr)
 
void report_new_pointer (uintptr_t real_ptr)
 
void report_real_pointer (uintptr_t ptr, uintptr_t real_ptr)
 
void enable_pointer_tracking (bool value=true)
 
bool is_pointer_tracking_enabled ()
 

Protected Attributes

pvt::ser_packer packer_
 
pvt::ser_unpacker unpacker_
 
pvt::ser_sizer sizer_
 
SERIALIZE_MODE mode_
 
bool enable_ptr_tracking_ = false
 
std::set< uintptr_t > ser_pointer_set
 
std::map< uintptr_t, uintptr_t > ser_pointer_map
 
uintptr_t split_key
 

Detailed Description

This class is basically a wrapper for objects to declare the order in which their members should be ser/des.


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