SST  14.0.0
StructuralSimulationToolkit
SST::Shared::SharedMap< keyT, valT >::Data Class Reference
Inheritance diagram for SST::Shared::SharedMap< keyT, valT >::Data:
SST::Shared::SharedObjectData SST::Core::Serialization::serializable

Public Member Functions

 Data (const std::string &name)
 
void setVerify (verify_type v_type)
 
size_t getSize () const
 
void update_write (const keyT &key, const valT &value)
 
void write (const keyT &key, const valT &value)
 
const valT & read (const keyT &key)
 
const valT & mutex_read (const keyT &key)
 
virtual SharedObjectChangeSetgetChangeSet () override
 Gets the changeset for this data on this rank. More...
 
virtual void resetChangeSet () override
 Resets the changeset for this data on this rank. More...
 
void serialize_order (SST::Core::Serialization::serializer &ser) override
 
 ImplementSerializable (SST::Shared::SharedMap< keyT, valT >::Data)
 
- Public Member Functions inherited from SST::Shared::SharedObjectData
const std::string & getName ()
 Get the name of the SharedObject for this data. More...
 
bool isFullyPublished ()
 Checks to see if all instances of this SharedObject have called publish(). More...
 
virtual int getShareCount ()
 Get the number of sharers for this data. More...
 
virtual int getPublishCount ()
 Get the number of instances that have called publish() on their instance of the shared object. More...
 
- Public Member Functions inherited from SST::Core::Serialization::serializable
virtual const char * cls_name () const =0
 
virtual uint32_t cls_id () const =0
 
virtual std::string serialization_name () const =0
 

Data Fields

std::map< keyT, valT > map
 
ChangeSet * change_set
 
verify_type verify
 

Additional Inherited Members

- Static Public Attributes inherited from SST::Core::Serialization::serializable
static constexpr uint32_t NullClsId = std::numeric_limits<uint32_t>::max()
 
- Protected Types inherited from SST::Core::Serialization::serializable
enum  cxn_flag_t { ConstructorFlag }
 
- Protected Member Functions inherited from SST::Shared::SharedObjectData
void check_lock_for_write (const std::string &obj)
 
virtual int incShareCount ()
 Increment the count of sharers. More...
 
virtual void incPublishCount ()
 Increment the count of instances that have called publish. More...
 
void lock ()
 Called by the core when writing to shared regions is no longer allowed.
 
 SharedObjectData (const std::string &name)
 Constructor for SharedObjectData. More...
 
virtual ~SharedObjectData ()
 Destructor for SharedObjectData.
 
void serialize_order (SST::Core::Serialization::serializer &ser) override
 
 ImplementVirtualSerializable (SharedObjectData)
 
- Static Protected Member Functions inherited from SST::Core::Serialization::serializable
static void serializable_abort (uint32_t line, const char *file, const char *func, const char *obj)
 
- Protected Attributes inherited from SST::Shared::SharedObjectData
std::string name
 
int share_count
 
int publish_count
 
bool fully_published
 
bool locked
 
std::mutex mtx
 

Member Function Documentation

◆ getChangeSet()

template<typename keyT, typename valT>
virtual SharedObjectChangeSet* SST::Shared::SharedMap< keyT, valT >::Data::getChangeSet ( )
inlineoverridevirtual

Gets the changeset for this data on this rank.

This is called by the core when exchanging and merging data

Implements SST::Shared::SharedObjectData.

◆ resetChangeSet()

template<typename keyT, typename valT>
virtual void SST::Shared::SharedMap< keyT, valT >::Data::resetChangeSet ( )
inlineoverridevirtual

Resets the changeset for this data on this rank.

This is called by the core when exchanging and merging data

Implements SST::Shared::SharedObjectData.


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