12 #ifndef SST_CORE_MODEL_ELEMENT_PYTHON_H 13 #define SST_CORE_MODEL_ELEMENT_PYTHON_H 15 #include "sst/core/eli/elementinfo.h" 22 using genPythonModuleFunction =
void* (*)(void);
37 std::string module_name;
68 module_name(module_name),
73 if ( filename ==
"" ) {
87 virtual void* load(
void* parent_module);
90 std::vector<SSTElementPythonModuleCode*> sub_modules;
137 std::string pylibrary;
138 std::string sstlibrary;
139 char* primary_module;
141 std::vector<std::pair<std::string, char*>> sub_modules;
150 SST_ELI_DECLARE_DEFAULT_INFO_EXTERN()
151 SST_ELI_DECLARE_CTOR_EXTERN(
const std::string&)
163 virtual void* load();
185 #define SST_ELI_REGISTER_PYTHON_MODULE(cls, lib, version) \ 186 SST_ELI_REGISTER_DERIVED(SST::SSTElementPythonModule,cls,lib,lib,ELI_FORWARD_AS_ONE(version),"Python module " #cls) 188 #endif // SST_CORE_MODEL_ELEMENT_PYTHON_H std::string getFullModuleName()
Get the full name of the module.
Definition: element_python.cc:142
SSTElementPythonModuleCode * createPrimaryModule()
Create and empty top level python module (i.e.
Definition: element_python.cc:214
SSTElementPythonModuleCode * addSubModule(const std::string &module_name, char *code, const std::string &filename)
Add a submodule to the module.
Definition: element_python.cc:98
Class to represent the code that needs to be added to create the python module struture for the libra...
Definition: element_python.h:27
Base class for python modules in element libraries.
Definition: element_python.h:132