12#ifndef SST_CORE_SERIALIZATION_OBJECTMAPDEFERRED_H
13#define SST_CORE_SERIALIZATION_OBJECTMAPDEFERRED_H
15#include "sst/core/serialization/serializer.h"
20namespace SST::Core::Serialization {
36 std::string
getType()
override {
return type_; }
44 void*
getAddr()
override {
return static_cast<void*
>(addr_); }
54 const std::multimap<std::string, ObjectMap*>&
getVariables()
override {
return obj_->getVariables(); }
69 if ( name ==
"!proxy!" ) {
73 printf(
"WARNING:: ObjectMapDeferred not built properly. No mapping will be available\n");
89 if ( obj_ !=
nullptr )
return;
92 ser.enable_pointer_tracking();
93 ser.start_mapping(
this);
95 sst_ser_object(ser, addr_, SerOption::none,
"!proxy!");
121 std::string type_ =
"";
ObjectMap version that will delay building the internal data structures until the object is "selected...
Definition objectMapDeferred.h:29
void * getAddr() override
Returns nullptr since there is no underlying object being represented.
Definition objectMapDeferred.h:44
std::string getType() override
Returns type of the deferred object.
Definition objectMapDeferred.h:36
void deactivate_callback() override
Function that will get called when this object is deactivated (i.e selectParent() is called)
Definition objectMapDeferred.h:98
const std::multimap< std::string, ObjectMap * > & getVariables() override
Get the list of child variables contained in this ObjectMap.
Definition objectMapDeferred.h:54
void activate_callback() override
Function that will get called when this object is selected.
Definition objectMapDeferred.h:86
void addVariable(const std::string &name, ObjectMap *obj) override
For the Deferred Build, the only variable that gets added will be the "real" ObjectMap.
Definition objectMapDeferred.h:63
Base class for objects created by the serializer mapping mode used to map the variables for objects.
Definition objectMap.h:112
ObjectMap()=default
Default constructor primarily used for the "top" object in the hierarchy.
static std::string demangle_name(const char *name)
Static function to demangle type names returned from typeid(T).name()
Definition objectMap.cc:137
This class is basically a wrapper for objects to declare the order in which their members should be s...
Definition serializer.h:45