SST 15.0
Structural Simulation Toolkit
|
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) |
void | raw (void *data, size_t size) |
template<typename ELEM_T, typename SIZE_T> | |
void | binary (ELEM_T *&buffer, SIZE_T &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) |
const char * | getMapName () const |
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 |
const ObjectMapContext * | mapContext = nullptr |
Friends | |
class | ObjectMapContext |
This class is basically a wrapper for objects to declare the order in which their members should be ser/des.