12#ifndef SST_CORE_MODEL_ELEMENT_PYTHON_H
13#define SST_CORE_MODEL_ELEMENT_PYTHON_H
15#include "sst/core/eli/elementinfo.h"
22typedef void* (*genPythonModuleFunction)(void);
37 std::string module_name;
68 module_name(module_name),
85 virtual void* load(
void* parent_module);
88 std::vector<SSTElementPythonModuleCode*> sub_modules;
133 std::string pylibrary;
134 std::string sstlibrary;
135 char* primary_module;
137 std::vector<std::pair<std::string, char*>> sub_modules;
146 SST_ELI_DECLARE_DEFAULT_INFO_EXTERN()
147 SST_ELI_DECLARE_CTOR_EXTERN(
const std::string&)
159 virtual void* load();
181#define SST_ELI_REGISTER_PYTHON_MODULE(cls, lib, version) \
182 SST_ELI_REGISTER_DERIVED(SST::SSTElementPythonModule,cls,lib,lib,ELI_FORWARD_AS_ONE(version),"Python module " #cls)
Class to represent the code that needs to be added to create the python module struture for the libra...
Definition: element_python.h:28
std::string getFullModuleName()
Get the full name of the module.
Definition: element_python.cc:151
SSTElementPythonModuleCode * addSubModule(const std::string &module_name, char *code, const std::string &filename)
Add a submodule to the module.
Definition: element_python.cc:106
Base class for python modules in element libraries.
Definition: element_python.h:129
SSTElementPythonModuleCode * createPrimaryModule()
Create and empty top level python module (i.e.
Definition: element_python.cc:224