35 mooseAssert(
dataSize() > tid,
"Invalid thread");
37 if (std::holds_alternative<RestartableDataMap *>(
_data))
38 return *std::get<RestartableDataMap *>(
_data);
39 return (*
std::get<std::vector<RestartableDataMap> *>(
_data))[tid];
45 return std::holds_alternative<RestartableDataMap *>(
_data)
53 static const std::string ext =
".rd";
60 static const std::string file =
"data";
67 static const std::string file =
"header";
74 auto folder = folder_base;
static const std::string & restartableDataFile()
const std::variant< RestartableDataMap *, std::vector< RestartableDataMap > * > _data
The data we wish to act on This is a variant so that we can act on threaded and non-threaded data...
static const unsigned int CURRENT_BACKUP_FILE_VERSION
The current version for the backup file.
std::size_t dataSize() const
T * get(const std::unique_ptr< T > &u)
The MooseUtils::get() specializations are used to support making forwards-compatible code changes fro...
static const std::string & restartableHeaderFile()
Base class for MOOSE-based applications.
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
RestartableDataMap & currentData(const THREAD_ID tid)
Storage for restartable data that is ordered based on insertion order.
static const std::string & getRestartableExt()
Interface for objects interacting with the PerfGraph.
static std::filesystem::path restartableDataFolder(const std::filesystem::path &folder_base)
RestartableDataIO(MooseApp &app, RestartableDataMap &data)