12 #ifndef SST_CORE_ELEMENT_H
13 #define SST_CORE_ELEMENT_H
15 #include <sst/core/sst_types.h>
16 #include <sst/core/params.h>
36 typedef Component* (*componentAllocate)(ComponentId_t, Params&);
37 typedef Introspector* (*introspectorAllocate)(Params&);
38 typedef void (*eventInitialize)(void);
39 typedef Module* (*moduleAllocate)(Params&);
40 typedef Module* (*moduleAllocateWithComponent)(Component*, Params&);
41 typedef SubComponent* (*subcomponentAllocate)(Component*, Params&);
43 typedef void (*generateFunction)(ConfigGraph*, std::string options,
int ranks);
44 typedef void* (*genPythonModuleFunction)(void);
124 #ifdef SST_ELI_COMPILE_OLD_ELI_WITHOUT_DEPRECATION_WARNINGS
127 #if SST_BUILDING_CORE
130 struct __attribute__ ((deprecated("Old ELI support (defined in sst/core/element.h) will be removed in version 8.0, but is still the preferred API until version 7.1. New ELI support (defined in sst/core/elementinfo.h) is available, but experimental and subject to change until version 7.1.")))
ElementLibraryInfo {
148 #endif // SST_CORE_ELEMENT_H
const ElementInfoStatistic * stats
Definition: element.h:98
Describes an Event.
Definition: element.h:73
void(* printHelp)(FILE *output)
Definition: element.h:95
const char * provides
Definition: element.h:89
Describes a Component and its associated information.
Definition: element.h:49
componentAllocate alloc
Definition: element.h:53
Describes a Partitioner.
Definition: element.h:106
void(* printHelp)(FILE *output)
Definition: element.h:118
const char * description
Definition: element.h:51
const struct ElementInfoComponent * components
Definition: element.h:135
uint32_t category
Definition: element.h:56
const char * name
Definition: element.h:50
introspectorAllocate alloc
Definition: element.h:67
Describes all the parts of the Element Library.
Definition: element.h:130
moduleAllocate alloc
Definition: element.h:86
const char * description
Definition: element.h:65
const char * description
Definition: element.h:75
void(* printHelp)(FILE *output)
Definition: element.h:52
const char * name
Definition: element.h:133
const ElementInfoStatistic * stats
Definition: element.h:57
void(* printHelp)(FILE *output)
Definition: element.h:76
const struct ElementInfoPartitioner * partitioners
Definition: element.h:140
Describes Statistics used by a Component.
Definition: elibase.h:31
Describes a Generator.
Definition: element.h:115
const char * name
Definition: element.h:74
Describes an Introspector.
Definition: element.h:63
void(* printHelp)(FILE *output)
Definition: element.h:109
const char * description
Definition: element.h:108
eventInitialize init
Definition: element.h:77
const ElementInfoParam * params
Definition: element.h:68
const char * name
Definition: element.h:64
const struct ElementInfoModule * modules
Definition: element.h:138
const ElementInfoParam * params
Definition: element.h:97
Describes Parameters to a Component.
Definition: elibase.h:40
partitionFunction func
Definition: element.h:110
const char * description
Definition: element.h:84
subcomponentAllocate alloc
Definition: element.h:96
moduleAllocateWithComponent alloc_with_comp
Definition: element.h:87
Base class for Partitioning graphs.
Definition: sstpart.h:31
const char * name
Definition: element.h:83
const char * provides
Definition: element.h:99
const struct ElementInfoIntrospector * introspectors
Definition: element.h:137
Describes a Module.
Definition: element.h:82
void(* printHelp)(FILE *output)
Definition: element.h:66
const ElementInfoPort * ports
Definition: element.h:55
genPythonModuleFunction pythonModuleGenerator
Definition: element.h:141
const ElementInfoPort * ports
Definition: element.h:100
const char * description
Definition: element.h:94
const struct ElementInfoEvent * events
Definition: element.h:136
const ElementInfoParam * params
Definition: element.h:88
const char * description
Definition: element.h:117
void(* printHelp)(FILE *output)
Definition: element.h:85
const struct ElementInfoSubComponent * subcomponents
Definition: element.h:139
const char * description
Definition: element.h:134
const ElementInfoParam * params
Definition: element.h:54
const char * name
Definition: element.h:107
Describes Ports that the Component can use.
Definition: elibase.h:48
generateFunction func
Definition: element.h:119
const char * name
Definition: element.h:93
const struct ElementInfoGenerator * generators
Definition: element.h:142
const char * name
Definition: element.h:116