Ginkgo  Generated from pipelines/1330831941 branch based on master. Ginkgo version 1.8.0
A numerical linear algebra library targeting many-core architectures
Classes | Public Member Functions | List of all members
gko::log::EnableLogging< ConcreteLoggable, PolymorphicBase > Class Template Reference

EnableLogging is a mixin which should be inherited by any class which wants to enable logging. More...

#include <ginkgo/core/log/logger.hpp>

Inheritance diagram for gko::log::EnableLogging< ConcreteLoggable, PolymorphicBase >:
[legend]
Collaboration diagram for gko::log::EnableLogging< ConcreteLoggable, PolymorphicBase >:
[legend]

Public Member Functions

void add_logger (std::shared_ptr< const Logger > logger) override
 
void remove_logger (const Logger *logger) override
 
void remove_logger (ptr_param< const Logger > logger)
 
const std::vector< std::shared_ptr< const Logger > > & get_loggers () const override
 
void clear_loggers () override
 

Detailed Description

template<typename ConcreteLoggable, typename PolymorphicBase = Loggable>
class gko::log::EnableLogging< ConcreteLoggable, PolymorphicBase >

EnableLogging is a mixin which should be inherited by any class which wants to enable logging.

All the received events are passed to the loggers this class contains.

Template Parameters
ConcreteLoggablethe object being logged [CRTP parameter]
PolymorphicBasethe polymorphic base of this class. By default it is Loggable. Change it if you want to use a new superclass of Loggable as polymorphic base of this class.

The documentation for this class was generated from the following file: