14 #ifndef SST_CORE_TIMELORD_H 15 #define SST_CORE_TIMELORD_H 17 #include "sst/core/sst_types.h" 18 #include "sst/core/threadsafe.h" 19 #include "sst/core/unitAlgebra.h" 24 extern int main(
int argc,
char** argv);
30 class Simulation_impl;
39 typedef std::map<SimTime_t, TimeConverter*> TimeConverterMap_t;
40 typedef std::map<std::string, TimeConverter*> StringToTCMap_t;
77 SimTime_t
getSimCycles(
const std::string& timeString,
const std::string& where);
83 friend class SST::Simulation;
87 friend int ::main(
int argc,
char** argv);
89 void init(
const std::string& timeBaseString);
98 TimeLord(TimeLord
const&);
99 void operator=(TimeLord
const&);
102 std::recursive_mutex slock;
105 std::string timeBaseString;
106 TimeConverterMap_t tcMap;
107 UnitAlgebra timeBase;
110 StringToTCMap_t parseCache;
113 TimeConverter* micro;
114 TimeConverter* milli;
119 #endif // SST_CORE_TIMELORD_H TimeConverter * getTimeConverter(const std::string &ts)
Create a new TimeConverter object using specified SI Units.
Definition: timeLord.cc:33
This class is basically a wrapper for objects to declare the order in which their members should be s...
Definition: serializer.h:35
UnitAlgebra getTimeBase() const
Definition: timeLord.h:65
A class to convert between a component's view of time and the core's view of time.
Definition: timeConverter.h:27
SimTime_t getSimCycles(const std::string &timeString, const std::string &where)
Not a Public API.
Definition: timeLord.cc:167
TimeConverter * getNano()
Definition: timeLord.h:68
Definition: serializable.h:118
TimeConverter * getMicro()
Definition: timeLord.h:70
TimeConverter * getMilli()
Definition: timeLord.h:72
Main control class for a SST Simulation.
Definition: simulation_impl.h:70
Class for creating and managing TimeConverter objects.
Definition: timeLord.h:37
Performs Unit math in full precision.
Definition: unitAlgebra.h:106
Link between two components.
Definition: link.h:50