Ginkgo Generated from branch based on master. Ginkgo version 1.7.0
A numerical linear algebra library targeting many-core architectures
Loading...
Searching...
No Matches
Public Member Functions | List of all members
gko::log::Loggable Class Referenceabstract

Loggable class is an interface which should be implemented by classes wanting to support logging. More...

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

Inheritance diagram for gko::log::Loggable:
[legend]

Public Member Functions

virtual void add_logger (std::shared_ptr< const Logger > logger)=0
 Adds a new logger to the list of subscribed loggers.
 
virtual void remove_logger (const Logger *logger)=0
 Removes a logger from the list of subscribed loggers.
 
void remove_logger (ptr_param< const Logger > logger)
 
virtual const std::vector< std::shared_ptr< const Logger > > & get_loggers () const =0
 Returns the vector containing all loggers registered at this object.
 
virtual void clear_loggers ()=0
 Remove all loggers registered at this object.
 

Detailed Description

Loggable class is an interface which should be implemented by classes wanting to support logging.

For most cases, one can rely on the EnableLogging mixin which provides a default implementation of this interface.

Member Function Documentation

◆ add_logger()

virtual void gko::log::Loggable::add_logger ( std::shared_ptr< const Logger > logger)
pure virtual

Adds a new logger to the list of subscribed loggers.

Parameters
loggerthe logger to add

Implemented in gko::Executor, gko::log::EnableLogging< ConcreteLoggable, PolymorphicBase >, gko::log::EnableLogging< Executor >, and gko::log::EnableLogging< PolymorphicObject >.

◆ clear_loggers()

virtual void gko::log::Loggable::clear_loggers ( )
pure virtual

◆ get_loggers()

virtual const std::vector< std::shared_ptr< const Logger > > & gko::log::Loggable::get_loggers ( ) const
pure virtual

Returns the vector containing all loggers registered at this object.

Returns
the vector containing all registered loggers.

Implemented in gko::log::EnableLogging< ConcreteLoggable, PolymorphicBase >, gko::log::EnableLogging< Executor >, and gko::log::EnableLogging< PolymorphicObject >.

◆ remove_logger()

virtual void gko::log::Loggable::remove_logger ( const Logger * logger)
pure virtual

Removes a logger from the list of subscribed loggers.

Parameters
loggerthe logger to remove
Note
The comparison is done using the logger's object unique identity. Thus, two loggers constructed in the same way are not considered equal.

Implemented in gko::Executor, gko::log::EnableLogging< ConcreteLoggable, PolymorphicBase >, gko::log::EnableLogging< Executor >, and gko::log::EnableLogging< PolymorphicObject >.

References gko::one(), and remove_logger().

Referenced by remove_logger().


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