Reference counted smart pointer class implementing shared ownership
I have a function of type virtual void foo(bla, bla, bla, std::shared_ptr<LoggerInterface> logger) = 0; And …