Base class for holding SharedObject data.
More...
#include <sharedObject.h>
|
const std::string & | getName () |
| Get the name of the SharedObject for this data.
|
|
bool | isFullyPublished () |
| Checks to see if all instances of this SharedObject have called publish().
|
|
virtual int | getShareCount () |
| Get the number of sharers for this data.
|
|
virtual int | getPublishCount () |
| Get the number of instances that have called publish() on their instance of the shared object.
|
|
virtual const char * | cls_name () const =0 |
|
virtual uint32_t | cls_id () const =0 |
|
virtual std::string | serialization_name () const =0 |
|
|
std::string | name |
|
int | share_count |
|
int | publish_count |
|
bool | fully_published |
|
bool | locked |
|
std::mutex | mtx |
|
|
class | SharedObjectDataManager |
|
class | SharedObject |
|
|
static constexpr uint32_t | NullClsId = std::numeric_limits<uint32_t>::max() |
|
static constexpr uint32_t | NullClsId = std::numeric_limits<uint32_t>::max() |
|
enum | cxn_flag_t { ConstructorFlag
} |
|
static void | serializable_abort (uint32_t line, const char *file, const char *func, const char *obj) |
|
Base class for holding SharedObject data.
The base class is needed so that we can have an API to manage unknown types of objects.
◆ SharedObjectData()
SST::Shared::SharedObjectData::SharedObjectData |
( |
const std::string & | name | ) |
|
|
inlineexplicitprotected |
◆ getChangeSet()
◆ getName()
const std::string & SST::Shared::SharedObjectData::getName |
( |
| ) |
|
|
inline |
Get the name of the SharedObject for this data.
- Returns
- name of data
◆ getPublishCount()
virtual int SST::Shared::SharedObjectData::getPublishCount |
( |
| ) |
|
|
inlinevirtual |
Get the number of instances that have called publish() on their instance of the shared object.
- Returns
- number of instances that have called publish()
◆ getShareCount()
virtual int SST::Shared::SharedObjectData::getShareCount |
( |
| ) |
|
|
inlinevirtual |
Get the number of sharers for this data.
- Returns
- number of sharers
◆ incPublishCount()
virtual void SST::Shared::SharedObjectData::incPublishCount |
( |
| ) |
|
|
inlineprotectedvirtual |
Increment the count of instances that have called publish.
This should only be called once per instance.
References lock().
◆ incShareCount()
virtual int SST::Shared::SharedObjectData::incShareCount |
( |
| ) |
|
|
inlineprotectedvirtual |
Increment the count of sharers.
This should only be called once per instance.
References lock().
◆ isFullyPublished()
bool SST::Shared::SharedObjectData::isFullyPublished |
( |
| ) |
|
|
inline |
Checks to see if all instances of this SharedObject have called publish().
This is forced to true before the setup() phase of simulation, as no more writes are allowed.
- Returns
- true if all instances have called publish(), false otherwise.
◆ resetChangeSet()
virtual void SST::Shared::SharedObjectData::resetChangeSet |
( |
| ) |
|
|
protectedpure virtual |
◆ serialize_order()
|
inlineoverrideprotectedvirtual |
The documentation for this class was generated from the following file: