| 
    SST
    9.0.0
    
   StructuralSimulationToolkit 
   | 
 
ComponentExtension is a class that can be loaded using loadComponentExtension<T>(...). More...
#include <componentExtension.h>
  
 Public Member Functions | |
| ComponentExtension (ComponentId_t id) | |
  Public Member Functions inherited from SST::BaseComponent | |
| BaseComponent (ComponentId_t id) | |
| BaseComponent * | getParent () const | 
| Returns a pointer to the parent BaseComponent.  | |
| const std::string & | getType () const | 
| ComponentId_t | getId () const | 
| Returns unique component ID.  | |
| virtual void | emergencyShutdown (void) | 
| Called when SIGINT or SIGTERM has been seen.  More... | |
| const std::string & | getName () const | 
| Returns component Name.  | |
| virtual void | init (unsigned int UNUSED(phase)) | 
| Used during the init phase.  More... | |
| virtual void | complete (unsigned int UNUSED(phase)) | 
| Used during the init phase.  More... | |
| virtual void | setup () | 
| Called after all components have been constructed and initialization has completed, but before simulation time has begun.  More... | |
| virtual void | finish () | 
| Called after simulation completes, but before objects are destroyed.  More... | |
| virtual bool | Status () | 
| Currently unused function.  | |
| virtual void | printStatus (Output &UNUSED(out)) | 
| Called by the Simulation to request that the component print it's current status.  More... | |
| bool | isPortConnected (const std::string &name) const | 
| Determine if a port name is connected to any links.  | |
| Link * | configureLink (std::string name, TimeConverter *time_base, Event::HandlerBase *handler=NULL) | 
| Configure a Link.  More... | |
| Link * | configureLink (std::string name, std::string time_base, Event::HandlerBase *handler=NULL) | 
| Configure a Link.  More... | |
| Link * | configureLink (std::string name, Event::HandlerBase *handler=NULL) | 
| Configure a Link.  More... | |
| Link * | configureSelfLink (std::string name, TimeConverter *time_base, Event::HandlerBase *handler=NULL) | 
| Configure a SelfLink (Loopback link)  More... | |
| Link * | configureSelfLink (std::string name, std::string time_base, Event::HandlerBase *handler=NULL) | 
| Configure a SelfLink (Loopback link)  More... | |
| Link * | configureSelfLink (std::string name, Event::HandlerBase *handler=NULL) | 
| Configure a SelfLink (Loopback link)  More... | |
| TimeConverter * | registerClock (std::string freq, Clock::HandlerBase *handler, bool regAll=true) | 
| Registers a clock for this component.  More... | |
| TimeConverter * | registerClock (const UnitAlgebra &freq, Clock::HandlerBase *handler, bool regAll=true) | 
| void | unregisterClock (TimeConverter *tc, Clock::HandlerBase *handler) | 
| Removes a clock handler from the component.  | |
| Cycle_t | reregisterClock (TimeConverter *freq, Clock::HandlerBase *handler) | 
| Reactivates an existing Clock and Handler.  More... | |
| Cycle_t | getNextClockCycle (TimeConverter *freq) | 
| Returns the next Cycle that the TimeConverter would fire.  | |
| TimeConverter * | registerOneShot (std::string timeDelay, OneShot::HandlerBase *handler) | 
| Registers a OneShot event for this component.  More... | |
| TimeConverter * | registerOneShot (const UnitAlgebra &timeDelay, OneShot::HandlerBase *handler) | 
| TimeConverter * | registerTimeBase (std::string base, bool regAll=true) | 
| Registers a default time base for the component and optionally sets the the component's links to that timebase.  More... | |
| TimeConverter * | getTimeConverter (const std::string &base) | 
| TimeConverter * | getTimeConverter (const UnitAlgebra &base) | 
| SimTime_t | getCurrentSimTime (TimeConverter *tc) const | 
| return the time since the simulation began in units specified by the parameter.  More... | |
| SimTime_t | getCurrentSimTime () const | 
| return the time since the simulation began in the default timebase  | |
| SimTime_t | getCurrentSimTime (std::string base) | 
| return the time since the simulation began in timebase specified  More... | |
| SimTime_t | getCurrentSimTimeNano () const | 
| Utility function to return the time since the simulation began in nanoseconds.  | |
| SimTime_t | getCurrentSimTimeMicro () const | 
| Utility function to return the time since the simulation began in microseconds.  | |
| SimTime_t | getCurrentSimTimeMilli () const | 
| Utility function to return the time since the simulation began in milliseconds.  | |
| bool | isStatisticShared (const std::string &statName, bool include_me=false) | 
| template<typename T > | |
| Statistic< T > * | registerStatistic (SST::Params ¶ms, const std::string &statName, const std::string &statSubId="") | 
| Registers a statistic.  More... | |
| template<typename T > | |
| Statistic< T > * | registerStatistic (const std::string &statName, const std::string &statSubId="") | 
| template<typename... Args> | |
| Statistic< std::tuple< Args...> > * | registerMultiStatistic (const std::string &statName, const std::string &statSubId="") | 
| template<typename... Args> | |
| Statistic< std::tuple< Args...> > * | registerMultiStatistic (SST::Params ¶ms, const std::string &statName, const std::string &statSubId="") | 
| template<typename T > | |
| Statistic< T > * | registerStatistic (const char *statName, const char *statSubId="") | 
| Module * | loadModule (std::string type, Params ¶ms) | 
| Loads a module from an element Library.  More... | |
| Module * | loadModuleWithComponent (std::string type, Component *comp, Params ¶ms) | 
| Loads a module from an element Library.  More... | |
| SubComponent * | loadSubComponent (std::string type, Component *comp, Params ¶ms) | 
| Loads a SubComponent from an element Library.  More... | |
| SubComponent * | loadNamedSubComponent (std::string name) | 
| SubComponent * | loadNamedSubComponent (std::string name, Params ¶ms) | 
| SubComponentSlotInfo * | getSubComponentSlotInfo (std::string name, bool fatalOnEmptyIndex=false) | 
| const std::vector< double > & | getCoordinates () const | 
| Retrieve the X,Y,Z coordinates of this component.  | |
| bool | wasLoadedWithLegacyAPI () const | 
| Temporary function to help provide backward compatibility to old SubComponent API.  More... | |
Additional Inherited Members | |
  Protected Member Functions inherited from SST::BaseComponent | |
| template<class T , class... ARGS> | |
| T * | loadComponentExtension (ARGS...args) | 
| template<class T > | |
| bool | isSubComponentLoadableUsingAPI (std::string type) | 
| Check to see if a given element type is loadable with a particular API.  More... | |
| template<class T , class... ARGS> | |
| T * | loadAnonymousSubComponent (std::string type, std::string slot_name, int slot_num, uint64_t share_flags, Params ¶ms, ARGS...args) | 
| Loads an anonymous subcomponent (not defined in input file to SST run).  More... | |
| template<class T > | |
| T * | loadUserSubComponent (std::string slot_name) | 
| Loads a user defined subcomponent (defined in input file to SST run).  More... | |
| template<class T , class... ARGS> | |
| T * | loadUserSubComponent (std::string slot_name, uint64_t share_flags, ARGS...args) | 
| Loads a user defined subcomponent (defined in input file to SST run).  More... | |
| bool | isAnonymous () | 
| bool | isUser () | 
| void | setDefaultTimeBase (TimeConverter *tc) | 
| Manually set the default detaulTimeBase.  | |
| TimeConverter * | getDefaultTimeBase () | 
| bool | doesSubComponentExist (std::string type) | 
| SharedRegion * | getLocalSharedRegion (const std::string &key, size_t size) | 
| Find a lookup table.  | |
| SharedRegion * | getGlobalSharedRegion (const std::string &key, size_t size, SharedRegionMerger *merger=NULL) | 
| Simulation * | getSimulation () const | 
| virtual bool | doesComponentInfoStatisticExist (const std::string &statisticName) const | 
| uint8_t | getComponentInfoStatisticEnableLevel (const std::string &statisticName) const | 
| Component * | getTrueComponent () const | 
  Protected Attributes inherited from SST::BaseComponent | |
| Simulation * | sim | 
ComponentExtension is a class that can be loaded using loadComponentExtension<T>(...).
All the calls to the BaseComponent APIU will act like they are happening in the nearest SubConmponent or Component parent. Hierarchy will not be kept in the case were a ComponentExtension is loaded into a ComponentExtension; they will both act like they are in the parent.