...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::formatter_factory
// In header: <boost/log/utility/setup/formatter_parser.hpp> template<typename CharT> struct formatter_factory { // types typedef CharT char_type; // Character type. typedef std::basic_string< char_type > string_type; // String type. typedef basic_formatter< char_type > formatter_type; // The formatter function object. typedef std::map< string_type, string_type > args_map; // construct/copy/destruct formatter_factory(formatter_factory const &) = delete; formatter_factory & operator=(formatter_factory const &) = delete; ~formatter_factory(); // public member functions virtual formatter_type create_formatter(attribute_name const &, args_map const &) = 0; };
Formatter factory base interface.
formatter_factory
public
construct/copy/destructformatter_factory(formatter_factory const &) = delete;
formatter_factory & operator=(formatter_factory const &) = delete;
~formatter_factory();
Default constructor
Virtual destructor