...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::log::sink_factory
// In header: <boost/log/utility/setup/from_settings.hpp> template<typename CharT> struct sink_factory { // types typedef CharT char_type; // Character type. typedef std::basic_string< char_type > string_type; // String type. typedef basic_settings_section< char_type > settings_section; // Settings section type. // construct/copy/destruct sink_factory(sink_factory const &) = delete; sink_factory & operator=(sink_factory const &) = delete; ~sink_factory(); // public member functions virtual shared_ptr< sinks::sink > create_sink(settings_section const &) = 0; };
Sink factory base interface
sink_factory
public
construct/copy/destructsink_factory(sink_factory const &) = delete;
sink_factory & operator=(sink_factory const &) = delete;
~sink_factory();
Default constructor
Virtual destructor