Skip to main content

chronon::SenderFactoryRegistry

Thread-safe singleton registry of unit factories keyed by YAML type name.

#include <SenderFactory.hpp>

Inherits from chronon::ThreadSafeRegistry< ISenderFactory >

Public Functions

Name
template <SenderFactoryUnit UnitT>
void
registerFactory(const std::string & type_name, const std::string & description)
std::vector< std::pair< std::string, std::string > >listFactoriesWithDescriptions() const
std::vector< std::string >listFactories() const
SenderFactoryRegistry &instance()
boolhasFactory(const std::string & type_name) const
ISenderFactory *getFactory(const std::string & type_name)

Additional inherited members

Public Functions inherited from chronon::ThreadSafeRegistry< ISenderFactory >

Name
size_tsize() const
std::vector< std::string >keys() const
voidinsert(const std::string & key, std::unique_ptr< V > value)
boolhas(const std::string & key) const
template <typename Func >
void
forEach(Func && fn) const
V *find(const std::string & key)
voidclear()

Protected Functions inherited from chronon::ThreadSafeRegistry< ISenderFactory >

Name
~ThreadSafeRegistry() =default
ThreadSafeRegistry &operator=(const ThreadSafeRegistry & ) =delete
ThreadSafeRegistry() =default
ThreadSafeRegistry(const ThreadSafeRegistry & ) =delete

Protected Attributes inherited from chronon::ThreadSafeRegistry< ISenderFactory >

Name
std::mutexmutex_
std::unordered_map< std::string, std::unique_ptr< V > >entries_

Public Functions Documentation

function registerFactory

template <SenderFactoryUnit UnitT>
inline void registerFactory(
const std::string & type_name,
const std::string & description
)

function listFactoriesWithDescriptions

inline std::vector< std::pair< std::string, std::string > > listFactoriesWithDescriptions() const

function listFactories

inline std::vector< std::string > listFactories() const

function instance

static inline SenderFactoryRegistry & instance()

function hasFactory

inline bool hasFactory(
const std::string & type_name
) const

function getFactory

inline ISenderFactory * getFactory(
const std::string & type_name
)

Updated on 2026-07-06 at 09:03:34 +0000