Concrete definition of a parameter value for a specified type. More...
#include <RestartableData.h>
Public Member Functions | |
template<typename... Params> | |
RestartableData (const std::string &name, void *const context, Params &&... args) | |
Constructor. More... | |
const T & | get () const |
T & | set () |
void | reset () |
Resets (destructs) the underlying data. More... | |
virtual std::string | type () const override final |
String identifying the type of parameter stored. More... | |
virtual const std::type_info & | typeId () const override final |
The type ID of the underlying data. More... | |
virtual bool | hasStoreJSON () const override final |
const std::string & | name () const |
The full (unique) name of this particular piece of data. More... | |
void * | context () |
A context pointer for helping with load / store. More... | |
bool | hasContext () const |
bool | declared () const |
Whether or not this data has been declared. More... | |
void | setDeclared (const SetDeclaredKey) |
Sets that this restartable value has been declared. More... | |
bool | loaded () const |
Whether or not this data has been loaded. More... | |
void | setNotLoaded (const SetNotLoadedKey) |
Sets that this restartable value has been loaded. More... | |
bool | stored () const |
Whether or not this data has been loaded. More... | |
void | setNotStored (const SetNotStoredKey) |
Sets that this restartable value has been loaded. More... | |
void | store (std::ostream &stream) |
Stores the value into the stream stream and sets it as stored. More... | |
void | store (nlohmann::json &json, const StoreJSONParams ¶ms=StoreJSONParams{}) const |
Stores this restartable data in the JSON entry json , with the options set by params (optional; defaults to just the type and underlying value) More... | |
void | load (std::istream &stream) |
Loads the value from the stream stream and sets it as loaded. More... | |
Static Public Attributes | |
static constexpr bool | has_store_json = std::is_constructible_v<nlohmann::json, T> |
Whether or not this type has a JSON store method implemented. More... | |
Protected Member Functions | |
virtual void | storeInternal (std::ostream &stream) override |
Store the RestartableData into a binary stream. More... | |
virtual void | loadInternal (std::istream &stream) override |
Load the RestartableData from a binary stream. More... | |
virtual void | storeJSONValue (nlohmann::json &json) const override final |
Internal method for storing the underlying JSON value. More... | |
Protected Attributes | |
const std::string | _name |
The full (unique) name of this particular piece of data. More... | |
void *const | _context |
A context pointer for helping with load and store. More... | |
Private Attributes | |
std::unique_ptr< T > | _value |
Stored value. More... | |
Concrete definition of a parameter value for a specified type.
Definition at line 215 of file RestartableData.h.
|
inline |
Constructor.
name | The full (unique) name for this piece of data. |
context | 'typeless' pointer to user-specific data. |
arg | Forwarded arguments that are passed to the constructor of the data. |
Definition at line 228 of file RestartableData.h.
|
inlineinherited |
A context pointer for helping with load / store.
Definition at line 65 of file RestartableData.h.
|
inlineinherited |
Whether or not this data has been declared.
Definition at line 85 of file RestartableData.h.
Referenced by RestartableDataValue::store().
|
inline |
Definition at line 280 of file RestartableData.h.
|
inlineinherited |
Definition at line 70 of file RestartableData.h.
Referenced by RestartableDataValue::store().
|
inlinefinaloverridevirtual |
store
Implements RestartableDataValue.
Definition at line 256 of file RestartableData.h.
|
inherited |
Loads the value from the stream stream
and sets it as loaded.
Definition at line 32 of file RestartableData.C.
|
inlineinherited |
Whether or not this data has been loaded.
This is typically reset on a call to RestartableDataReader::restore()
Definition at line 98 of file RestartableData.h.
Referenced by RestartableDataValue::store().
|
inlineoverrideprotectedvirtual |
Load the RestartableData from a binary stream.
Implements RestartableDataValue.
Reimplemented in ReporterState< T >, and ReporterState< std::vector< T > >.
Definition at line 318 of file RestartableData.h.
|
inlineinherited |
The full (unique) name of this particular piece of data.
Definition at line 60 of file RestartableData.h.
Referenced by RestartableDataMap::addData(), RestartableDataMap::findData(), and RestartableDataValue::store().
|
inline |
|
inline |
Definition at line 288 of file RestartableData.h.
Referenced by MeshGenerator::setMeshProperty().
|
inherited |
Sets that this restartable value has been declared.
Definition at line 18 of file RestartableData.C.
Referenced by MooseApp::registerRestartableData().
|
inlineinherited |
Sets that this restartable value has been loaded.
Definition at line 113 of file RestartableData.h.
|
inlineinherited |
Sets that this restartable value has been loaded.
Definition at line 136 of file RestartableData.h.
|
inherited |
Stores the value into the stream stream
and sets it as stored.
Definition at line 25 of file RestartableData.C.
|
inherited |
Stores this restartable data in the JSON entry json
, with the options set by params
(optional; defaults to just the type and underlying value)
If the underlying type is not supported for JSON output (if hasStoreJSON() == false), and the parameters have the value output as enabled, this will error.
Definition at line 39 of file RestartableData.C.
|
inlineinherited |
Whether or not this data has been loaded.
This is typically reset on a call to RestartableDataWriter::write()
Definition at line 121 of file RestartableData.h.
Referenced by RestartableDataValue::store().
|
inlineoverrideprotectedvirtual |
Store the RestartableData into a binary stream.
Implements RestartableDataValue.
Reimplemented in ReporterState< T >, and ReporterState< std::vector< T > >.
Definition at line 311 of file RestartableData.h.
|
inlinefinaloverrideprotectedvirtual |
Internal method for storing the underlying JSON value.
Implements RestartableDataValue.
Definition at line 325 of file RestartableData.h.
|
inlinefinaloverridevirtual |
String identifying the type of parameter stored.
Implements RestartableDataValue.
Definition at line 304 of file RestartableData.h.
|
inlinefinaloverridevirtual |
The type ID of the underlying data.
Implements RestartableDataValue.
Definition at line 254 of file RestartableData.h.
|
protectedinherited |
A context pointer for helping with load and store.
Definition at line 197 of file RestartableData.h.
Referenced by RestartableDataValue::context(), and RestartableDataValue::hasContext().
|
protectedinherited |
The full (unique) name of this particular piece of data.
Definition at line 194 of file RestartableData.h.
Referenced by RestartableDataValue::name().
|
private |
Stored value.
Definition at line 273 of file RestartableData.h.
|
static |
Whether or not this type has a JSON store method implemented.
Definition at line 219 of file RestartableData.h.
Referenced by RestartableData< std::list< T > >::hasStoreJSON().