SST
14.1.0
StructuralSimulationToolkit
|
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, MAP } |
Public Member Functions | |
pvt::ser_mapper & | mapper () |
pvt::ser_packer & | packer () |
pvt::ser_unpacker & | unpacker () |
pvt::ser_sizer & | sizer () |
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) |
void | start_mapping (ObjectMap *obj) |
size_t | size () const |
bool | check_pointer_pack (uintptr_t ptr) |
uintptr_t | check_pointer_unpack (uintptr_t ptr) |
ObjectMap * | check_pointer_map (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 () |
void | report_object_map (ObjectMap *ptr) |
Protected Attributes | |
pvt::ser_packer | packer_ |
pvt::ser_unpacker | unpacker_ |
pvt::ser_sizer | sizer_ |
pvt::ser_mapper | mapper_ |
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 |
This class is basically a wrapper for objects to declare the order in which their members should be ser/des.