Common System 0.2.0
Common interfaces and patterns for system integration
Loading...
Searching...
No Matches
kcenon::common::concepts::LoggerRegistryLike Concept Reference

A type that manages named logger instances. More...

#include <logger.h>

Concept definition

template<typename T>
concept kcenon::common::concepts::LoggerRegistryLike = requires(T t, const std::string& name) {
{ t.register_logger(name, std::declval<std::shared_ptr<void>>()) };
{ t.get_logger(name) };
{ t.unregister_logger(name) };
{ t.get_default_logger() };
{ t.set_default_logger(std::declval<std::shared_ptr<void>>()) };
}
A type that manages named logger instances.
Definition logger.h:210

Detailed Description

A type that manages named logger instances.

Types satisfying this concept can register, retrieve, and manage named logger instances in a registry pattern.

Example usage:

template<LoggerRegistryLike R, LoggerLike L>
void register_logger(R& registry, const std::string& name,
std::shared_ptr<L> logger) {
registry.register_logger(name, logger);
}

Definition at line 210 of file logger.h.