Simo 0.0.1
Loading...
Searching...
No Matches
RootModule Class Reference
Inheritance diagram for RootModule:
Simo::Module

Public Member Functions

Simo::InitializationStatus initialize (Simo::Context &ctx, const Simo::Parameters &p) override
Public Member Functions inherited from Simo::Module
std::string_view name () const
constexpr std::string name_of_child (const std::string_view child) const
Contextsim_ctx () const
void record_statistics (Statistics::StatMapper &mapper)
 Record a statistic in a StatMapper to dump statistics.
Portget_port (std::string_view)
Time current_time () const
template<typename Stat>
Stat * get_statistic (const std::string_view name)
template<typename Function>
void visit_statistics (Function f)
virtual InitializationStatus log_setup (const std::filesystem::path &out_file)
InitializationStatus log_setup ()
 Default log_setup with default path set to Simo.log.
void log_enable (bool new_value)
 Enable/disable logging for the component.
void log_level (size_t level)
void log_level (std::string_view level_name)
template<typename Callable>
void log (size_t level, Callable &&callable)
template<typename Callable>
void log_raw_callable (size_t level, bool print_level, Callable &&callable)
 Log a message with the given level without adding timestamp.
void populate_default_log_levels ()
Log::Loggerget_logger ()
template<typename T, typename... Args>
T & create_statistic (Args... args)
 Create a new statistic of type T.
template<typename T, typename... Args>
T & create_port (const std::string_view name, Args... args)
 Create a new port of type T.
template<typename T, typename... Args>
T & create_child (Args... args)

Public Attributes

NestedModulenested_module = nullptr

Additional Inherited Members

Protected Attributes inherited from Simo::Module
Statistics::StatStorage statistics
std::unordered_map< std::string, std::unique_ptr< Port > > ports
std::vector< std::unique_ptr< Module > > children
Log::Logger logger

Member Function Documentation

◆ initialize()

Simo::InitializationStatus RootModule::initialize ( Simo::Context & sim_ctx_v,
const Simo::Parameters & parameters )
inlineoverridevirtual

Associate a context to this instance and look at the parameters to initialize the structure. The default implementation is to return true. Derived classes can call <base_class>::initialize to initialize the attributes of the base class

Reimplemented from Simo::Module.


The documentation for this class was generated from the following file:
  • docs/guided_examples/4_Nested_Modules/NestedModule.cc