Skip to main content

chronon::sender::factory::SenderFactory

Template factory that creates instances of a specific Unit subclass. More...

#include <SenderFactory.hpp>

Inherits from chronon::sender::factory::ISenderFactory

Public Types

Name
using typename UnitT::ParameterSetParameterSetT

Public Functions

Name
virtual const std::string &typeName() const override
virtual const std::string &description() const override
virtual Unit *createUnit(TickSimulation * sim, const std::string & name, const YAML::Node & yaml_params) override
SenderFactory(std::string type_name, std::string description)

Additional inherited members

Public Functions inherited from chronon::sender::factory::ISenderFactory

Name
virtual~ISenderFactory() =default

Detailed Description

template <SenderFactoryUnit UnitT>
class chronon::sender::factory::SenderFactory;

Template factory that creates instances of a specific Unit subclass.

UnitT must derive from sender::Unit, declare using [ParameterSet](/docs/api/Classes/classchronon_1_1ParameterSet) = ..., define static constexpr const char* unit_type_name and unit_description, and accept a const ParameterSet* via sim->createUnit<UnitT>(params).

Public Types Documentation

using ParameterSetT

using chronon::sender::factory::SenderFactory< UnitT >::ParameterSetT = typename UnitT::ParameterSet;

Public Functions Documentation

function typeName

inline virtual const std::string & typeName() const override

Reimplements: chronon::sender::factory::ISenderFactory::typeName

function description

inline virtual const std::string & description() const override

Reimplements: chronon::sender::factory::ISenderFactory::description

function createUnit

inline virtual Unit * createUnit(
TickSimulation * sim,
const std::string & name,
const YAML::Node & yaml_params
) override

Return: Pointer to the created unit (owned by sim).

Reimplements: chronon::sender::factory::ISenderFactory::createUnit

function SenderFactory

inline SenderFactory(
std::string type_name,
std::string description
)

Updated on 2026-05-26 at 05:42:32 +0000