|
SST
10.0.0
StructuralSimulationToolkit
|
Class for instantiating Components, Links and the like out of element libraries. More...
#include <factory.h>
Public Member Functions | |
| bool | isPortNameValid (const std::string &type, const std::string &port_name) |
| Get a list of allowed ports for a given component type. More... | |
| const Params::KeySet_t & | getParamNames (const std::string &type) |
| Get a list of allowed param keys for a given component type. More... | |
| Component * | CreateComponent (ComponentId_t id, const std::string &componentname, Params ¶ms) |
| Attempt to create a new Component instantiation. More... | |
| void | RequireEvent (const std::string &eventname) |
| Ensure that an element library containing the required event is loaded. More... | |
| Module * | CreateModule (const std::string &type, Params ¶ms) |
| Instantiate a new Module. More... | |
| Module * | CreateModuleWithComponent (const std::string &type, Component *comp, Params ¶ms) |
| Instantiate a new Module. More... | |
| bool | doesSubComponentExist (const std::string &type) |
| Partition::SSTPartitioner * | CreatePartitioner (const std::string &name, RankInfo total_ranks, RankInfo my_rank, int verbosity) |
| Return partitioner function. More... | |
| template<class Base > | |
| bool | isSubComponentLoadableUsingAPI (const std::string &type) |
| Check to see if a given element type is loadable with a particular API. More... | |
| template<class Base , class... CtorArgs> | |
| Base * | Create (const std::string &type, SST::Params ¶ms, CtorArgs &&...args) |
| General function for a given base class. More... | |
| template<class T , class... Args> | |
| Statistics::Statistic< T > * | CreateStatistic (const std::string &type, BaseComponent *comp, const std::string &statName, const std::string &stat, Params ¶ms, Args...args) |
| Instantiate a new Statistic. More... | |
| SSTElementPythonModule * | getPythonModule (const std::string &name) |
| Return Python Module creation function. More... | |
| bool | hasLibrary (const std::string &elemlib, std::ostream &err_os) |
| hasLibrary Checks to see if library exists and can be loaded More... | |
| void | requireLibrary (const std::string &elemlib, std::ostream &err_os) |
| void | requireLibrary (const std::string &elemlib) |
| requireLibrary Throws away error messages More... | |
| void | getLoadedLibraryNames (std::set< std::string > &lib_names) |
| void | loadUnloadedLibraries (const std::set< std::string > &lib_names) |
| bool | DoesSubComponentSlotExist (const std::string &type, const std::string &slotName) |
| Determine if a SubComponentSlot is defined in a components ElementInfoStatistic. More... | |
| bool | DoesComponentInfoStatisticNameExist (const std::string &type, const std::string &statisticName) |
| Determine if a statistic is defined in a components ElementInfoStatistic. More... | |
| uint8_t | GetComponentInfoStatisticEnableLevel (const std::string &type, const std::string &statisticName) |
| Determine if a statistic is defined in a subcomponents ElementInfoStatistic. More... | |
| std::string | GetComponentInfoStatisticUnits (const std::string &type, const std::string &statisticName) |
| Get the units of a statistic defined in the component's ElementInfoStatistic. More... | |
Static Public Member Functions | |
| static Factory * | getFactory () |
Protected Attributes | |
| Output & | out |
Class for instantiating Components, Links and the like out of element libraries.
|
inline |
General function for a given base class.
| type | |
| params | |
| args | Constructor arguments |
References SST::Params::popAllowedKeys(), and SST::Params::pushAllowedKeys().
| Component * SST::Factory::CreateComponent | ( | ComponentId_t | id, |
| const std::string & | componentname, | ||
| Params & | params | ||
| ) |
Attempt to create a new Component instantiation.
| id | - The unique ID of the component instantiation |
| componentname | - The fully qualified elementlibname.componentname type of component |
| params | - The params to pass to the component's constructor |
References SST::Output::fatal(), SST::Params::popAllowedKeys(), and SST::Params::pushAllowedKeys().
Instantiate a new Module.
| type | - Fully qualified elementlibname.modulename type |
| params | - Parameters to pass to the Module's constructor |
References SST::Output::fatal(), SST::Simulation::getSimulation(), SST::Simulation::getSimulationOutput(), SST::Params::popAllowedKeys(), and SST::Params::pushAllowedKeys().
| Module * SST::Factory::CreateModuleWithComponent | ( | const std::string & | type, |
| Component * | comp, | ||
| Params & | params | ||
| ) |
Instantiate a new Module.
| type | - Fully qualified elementlibname.modulename type |
| comp | - Component instance to pass to the Module's constructor |
| params | - Parameters to pass to the Module's constructor |
References SST::Output::fatal(), SST::Params::popAllowedKeys(), and SST::Params::pushAllowedKeys().
| Partition::SSTPartitioner * SST::Factory::CreatePartitioner | ( | const std::string & | name, |
| RankInfo | total_ranks, | ||
| RankInfo | my_rank, | ||
| int | verbosity | ||
| ) |
Return partitioner function.
| name | - Fully qualified elementlibname.partitioner type name |
References SST::Output::fatal().
|
inline |
Instantiate a new Statistic.
| comp | - Owning component |
| type | - Fully qualified elementlibname.statisticname type |
| statName | - Name of the statistic |
| statSubId | - Name of the sub statistic |
| params | - Parameters to pass to the Statistics's constructor |
| fieldType | - Type of data stored in statistic |
References SST::Output::fatal().
| bool SST::Factory::DoesComponentInfoStatisticNameExist | ( | const std::string & | type, |
| const std::string & | statisticName | ||
| ) |
Determine if a statistic is defined in a components ElementInfoStatistic.
| type | - The name of the component |
| statisticName | - The name of the statistic |
References SST::Output::fatal().
| bool SST::Factory::DoesSubComponentSlotExist | ( | const std::string & | type, |
| const std::string & | slotName | ||
| ) |
Determine if a SubComponentSlot is defined in a components ElementInfoStatistic.
| type | - The name of the component/subcomponent |
| slotName | - The name of the SubComponentSlot |
References SST::Output::fatal().
| uint8_t SST::Factory::GetComponentInfoStatisticEnableLevel | ( | const std::string & | type, |
| const std::string & | statisticName | ||
| ) |
Determine if a statistic is defined in a subcomponents ElementInfoStatistic.
| type | - The name of the subcomponent |
| statisticName | - The name of the statistic |
| componentname | - The name of the component |
| statisticName | - The name of the statistic |
References SST::Output::fatal().
| std::string SST::Factory::GetComponentInfoStatisticUnits | ( | const std::string & | type, |
| const std::string & | statisticName | ||
| ) |
Get the units of a statistic defined in the component's ElementInfoStatistic.
| componentname | - The name of the component |
| statisticName | - The name of the statistic |
References SST::Output::fatal().
| const Params::KeySet_t & SST::Factory::getParamNames | ( | const std::string & | type | ) |
Get a list of allowed param keys for a given component type.
| type | - Name of component in lib.name format |
References SST::Output::fatal().
| SSTElementPythonModule * SST::Factory::getPythonModule | ( | const std::string & | name | ) |
Return Python Module creation function.
| name | - Fully qualified elementlibname.pythonModName type name |
| bool SST::Factory::hasLibrary | ( | const std::string & | elemlib, |
| std::ostream & | err_os | ||
| ) |
hasLibrary Checks to see if library exists and can be loaded
| elemlib | |
| err_os | Stream to print error messages to |
| bool SST::Factory::isPortNameValid | ( | const std::string & | type, |
| const std::string & | port_name | ||
| ) |
Get a list of allowed ports for a given component type.
| type | - Name of component in lib.name format |
References SST::Output::fatal().
|
inline |
Check to see if a given element type is loadable with a particular API.
| name | - Name of element to check in lib.name format |
| void SST::Factory::RequireEvent | ( | const std::string & | eventname | ) |
Ensure that an element library containing the required event is loaded.
| eventname | - The fully qualified elementlibname.eventname type |
Referenced by SST::Simulation::requireEvent().
| void SST::Factory::requireLibrary | ( | const std::string & | elemlib | ) |
requireLibrary Throws away error messages
| elemlib |