...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::sinks::file::file_name_composer_adapter
// In header: <boost/log/sinks/text_multifile_backend.hpp> template<typename FormatterT> class file_name_composer_adapter { public: // types typedef filesystem::path result_type; // Functor result type. typedef result_type::string_type::value_type native_char_type; // File name character type. typedef FormatterT formatter_type; // The adopted formatter type. typedef basic_formatting_ostream< native_char_type > stream_type; // Formatting stream type. // construct/copy/destruct explicit file_name_composer_adapter(formatter_type const &, std::locale const & = std::locale()); file_name_composer_adapter(file_name_composer_adapter const &); file_name_composer_adapter& operator=(file_name_composer_adapter const &); // public member functions result_type operator()(record_view const &) const; };
An adapter class that allows to use regular formatters as file name generators.
file_name_composer_adapter
public
construct/copy/destructexplicit file_name_composer_adapter(formatter_type const & formatter, std::locale const & loc = std::locale());
Initializing constructor
file_name_composer_adapter(file_name_composer_adapter const & that);
Copy constructor
file_name_composer_adapter& operator=(file_name_composer_adapter const & that);
Assignment