12#ifndef SST_CORE_MODEL_SSTMODEL_H
13#define SST_CORE_MODEL_SSTMODEL_H
15#include "sst/core/eli/elementinfo.h"
16#include "sst/core/params.h"
17#include "sst/core/warnmacros.h"
27#define STATALLFLAG "--ALLSTATS--"
31class SSTModelDescription
35 SST_ELI_DECLARE_BASE(SSTModelDescription)
37 SST_ELI_DECLARE_CTOR_EXTERN(
const std::string&,
int,
Config*,
double)
38 SST_ELI_DECLARE_INFO_EXTERN(
43 static bool isElementParallelCapable(
const std::string& type);
44 static const std::vector<std::string>& getElementSupportedExtensions(
const std::string& type);
46 explicit SSTModelDescription(
Config* cfg);
47 virtual ~SSTModelDescription() {};
102#define SST_ELI_REGISTER_MODEL_DESCRIPTION(cls, lib, name, version, desc, parallel_capable) \
103 SST_ELI_REGISTER_DERIVED(SST::SSTModelDescription, ::cls,lib,name,ELI_FORWARD_AS_ONE(version),desc) \
104 SST_ELI_DOCUMENT_SIMPLE_INFO(bool,0,parallel_capable)
106#define SST_ELI_DOCUMENT_MODEL_SUPPORTED_EXTENSIONS(...) \
107 SST_ELI_DOCUMENT_SIMPLE_INFO(std::vector<std::string>,1,__VA_ARGS__)
A Configuration Graph A graph representing Components and Links.
Definition configGraph.h:76
Class to contain SST Simulation Configuration variables.
Definition config.h:52
Definition simpleInfo.h:88
std::string key_type
Definition params.h:243
void setModelOptions(const std::string &options)
Sets the model options field of the Config object.
Definition sstmodel.cc:35
virtual ConfigGraph * createConfigGraph()=0
Create the ConfigGraph.
void insertGlobalParameter(const std::string &set, const Params::key_type &key, const Params::key_type &value, bool overwrite=true)
Allows ModelDefinition to set global parameters.
Definition sstmodel.cc:41
bool setOptionFromModel(const std::string &entryName, const std::string &value)
Set a configuration string to update configuration values.
Definition sstmodel.cc:29