SST  15.1.0
StructuralSimulationToolkit
sstcptmodel.h
1 // -*- c++ -*-
2 
3 // Copyright 2009-2025 NTESS. Under the terms
4 // of Contract DE-NA0003525 with NTESS, the U.S.
5 // Government retains certain rights in this software.
6 //
7 // Copyright (c) 2009-2025, NTESS
8 // All rights reserved.
9 //
10 // This file is part of the SST software package. For license
11 // information, see the LICENSE file in the top level directory of the
12 // distribution.
13 
14 #ifndef SST_CORE_MODEL_RESTART_SSTCPTMODEL_H
15 #define SST_CORE_MODEL_RESTART_SSTCPTMODEL_H
16 
17 #include "sst/core/config.h"
18 #include "sst/core/configGraph.h"
19 #include "sst/core/model/sstmodel.h"
20 #include "sst/core/output.h"
21 #include "sst/core/rankInfo.h"
22 #include "sst/core/sst_types.h"
23 #include "sst/core/warnmacros.h"
24 
25 // #include "nlohmann/json.hpp"
26 
27 #include <string>
28 
29 // using json = nlohmann::json;
30 
31 namespace SST::Core {
32 
34 {
35 public:
36  SST_ELI_REGISTER_MODEL_DESCRIPTION(
38  "sst",
39  "model.sstcpt",
40  SST_ELI_ELEMENT_VERSION(1,0,0),
41  "JSON model for building SST simulation graphs",
42  false)
43 
44  SST_ELI_DOCUMENT_MODEL_SUPPORTED_EXTENSIONS(".sstcpt")
45 
46  SSTCPTModelDefinition(const std::string& script_file, int verbosity, Config* config, double start_time);
48 
49  ConfigGraph* createConfigGraph() override;
50 
51 protected:
52  std::string manifest_;
53  Output* output_ = nullptr;
54  Config* config_ = nullptr;
55  ConfigGraph* graph_ = nullptr;
56  double start_time_ = 0.0;
57 };
58 
59 } // namespace SST::Core
60 
61 #endif // SST_CORE_MODEL_RESTART_SSTCPTMODEL_H
Output object provides consistent method for outputting data to stdout, stderr and/or sst debug file...
Definition: output.h:57
ConfigGraph * createConfigGraph() override
Create the ConfigGraph.
Definition: sstcptmodel.cc:40
Class to contain SST Simulation Configuration variables.
Definition: config.h:51
A Configuration Graph A graph representing Components and Links.
Definition: configGraph.h:585
Definition: sstcptmodel.h:33
Base class for Model Generation.
Definition: sstmodel.h:29