SST 15.0
Structural Simulation Toolkit
|
ObjectMap representing fundamental types, and classes treated as fundamental types. More...
#include <objectMap.h>
Public Member Functions | |
virtual void | set_impl (const std::string &value) override |
Set the value of the object represented as a string. | |
virtual std::string | get () override |
Get the value of the object as a string. | |
bool | isFundamental () override |
Returns true as object is a fundamental. | |
void * | getAddr () override |
Get the address of the variable represented by the ObjectMap. | |
ObjectMapFundamental (T *addr) | |
~ObjectMapFundamental () override=default | |
Destructor. | |
ObjectMapFundamental (const ObjectMapFundamental &)=delete | |
Disallow copying and assignment. | |
ObjectMapFundamental & | operator= (const ObjectMapFundamental &)=delete |
std::string | getType () override |
Return the type represented by this ObjectMap as given by the demangled version of typeid(T).name() | |
ObjectMapComparison * | getComparison (const std::string &name, ObjectMapComparison::Op op, const std::string &value) override |
![]() | |
ObjectMap ()=default | |
Default constructor primarily used for the "top" object in the hierarchy. | |
bool | isReadOnly () |
Check to see if this object is read-only. | |
void | setReadOnly (bool state=true) |
Set the read-only state of the object. | |
std::string | getName () |
Get the name of the variable represented by this ObjectMap. | |
std::string | getFullName () |
Get the full hierarchical name of the variable represented by this ObjectMap, based on the path taken to get to this object. | |
virtual const std::multimap< std::string, ObjectMap * > & | getVariables () |
Get the list of child variables contained in this ObjectMap. | |
void | incRefCount () |
Increment the reference counter for this ObjectMap. | |
void | decRefCount () |
Decrement the reference counter for this ObjectMap. | |
int32_t | getRefCount () |
Get the current reference count. | |
virtual ObjectMapComparison * | getComparison (const std::string &UNUSED(name), ObjectMapComparison::Op UNUSED(op), const std::string &UNUSED(value)) |
Get a watch point for this object. | |
ObjectMap * | selectParent () |
Get the parent for this ObjectMap. | |
ObjectMap * | selectVariable (std::string name, bool &loop_detected) |
Get the ObjectMap for the specified variable. | |
virtual void | addVariable (const std::string &UNUSED(name), ObjectMap *UNUSED(obj)) |
Adds a variable to this ObjectMap. | |
void | set (const std::string &value) |
Sets the value of the variable represented by the ObjectMap to the specified value, which is represented as a string. | |
virtual std::string | get (const std::string &var) |
Gets the value of the specified variable as a string. | |
virtual void | set (const std::string &var, const std::string &value, bool &found, bool &read_only) |
Sets the value of the specified variable to the specified value, which is represented as a string. | |
virtual bool | isContainer () |
Check to see if this ObjectMap represents a container. | |
virtual | ~ObjectMap ()=default |
Destructor. | |
ObjectMap (const ObjectMap &)=delete | |
Disallow copying and assignment. | |
ObjectMap & | operator= (const ObjectMap &)=delete |
virtual std::string | listVariable (std::string name, bool &found, int recurse=0) |
Create a string that lists information for the specified variable. | |
virtual std::string | list (int recurse=0) |
Create a string that lists information for the current object. | |
virtual ObjectMap * | findVariable (const std::string &name) |
Find a variable in this object map. | |
Protected Attributes | |
T * | addr_ = nullptr |
Address of the variable for reading and writing. | |
![]() | |
ObjectMapMetaData * | mdata_ = nullptr |
Metadata object for walking the object hierarchy. | |
bool | read_only_ = false |
Indicates whether or not the variable is read-only. | |
Additional Inherited Members | |
![]() | |
static std::string | demangle_name (const char *name) |
Static function to demangle type names returned from typeid(T).name() | |
![]() | |
virtual void | set_impl (const std::string &UNUSED(value)) |
Function implemented by derived classes to implement set(). | |
virtual void | activate_callback () |
Function that will get called when this object is selected. | |
virtual void | deactivate_callback () |
Function that will get called when this object is deactivated (i.e selectParent() is called) | |
![]() | |
static const std::multimap< std::string, ObjectMap * > | emptyVars |
Static empty variable map for use by versions that don't have variables (i.e. | |
ObjectMap representing fundamental types, and classes treated as fundamental types.
In order for an object to be treated as a fundamental, it must be printable using SST::Core::to_string() and assignable using SST::Core::from_string(). If this is not true, it is possible to create a template specialization for the type desired to be treated as a fundamental. The specialization will need to provide the functions for getting and setting the values as a string.
|
overridedefault |
Destructor.
Should not be called directly (i.e. do not call delete on the object). Call decRefCount() when object is no longer needed. This will also call decRefCount() on all its children.
|
inlineoverridevirtual |
Get the value of the object as a string.
Reimplemented from SST::Core::Serialization::ObjectMap.
References addr_.
|
inlineoverridevirtual |
Get the address of the variable represented by the ObjectMap.
Implements SST::Core::Serialization::ObjectMap.
References addr_.
|
inlineoverridevirtual |
Return the type represented by this ObjectMap as given by the demangled version of typeid(T).name()
Implements SST::Core::Serialization::ObjectMap.
References SST::Core::Serialization::ObjectMap::demangle_name().
|
inlineoverridevirtual |
Returns true as object is a fundamental.
Reimplemented from SST::Core::Serialization::ObjectMap.
|
inlineoverridevirtual |
Set the value of the object represented as a string.
value | Value to set the underlying object to, represented as a string |
References addr_.