#ifndef LOGGING_LOGGERPROVIDER_H_ #define LOGGING_LOGGERPROVIDER_H_ #include "LoggerProviderMethods.hh" #include "LoggingBase.hh" #include #include namespace logging { class LoggerProvider : public LoggerProviderMethods { typedef std::map< Logger::Id, Logger*, std::less, std::pmr::polymorphic_allocator< std::pair< const Logger::Id, Logger* > > > collection; collection loggers; const base::log_permit_flag global_permissons; std::pmr::memory_resource * memory; const uint32_t global_on_count; public: LoggerProvider( std::pmr::memory_resource *, base::log_permit_flag, uint32_t ); Logger * get_logger( Logger::Id, base::log_permit_flag, std::pmr::memory_resource * allocator ); //std::pair range_of_available_loggers(); //~LoggerProvider() = default; }; } #endif /* LOGGING_LOGGERPROVIDER_H_ */