...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::sources::basic_composite_logger<CharT, FinalT, single_thread_model, FeaturesT> — An optimized composite logger version with no multithreading support.
// In header: <boost/log/sources/basic_logger.hpp> template<typename CharT, typename FinalT, typename FeaturesT> class basic_composite_logger<CharT, FinalT, single_thread_model, FeaturesT> : public inherit_features< RootT, FeaturesT >::type { public: // types typedef base_type::threading_model threading_model; // public member functions basic_composite_logger(); basic_composite_logger(basic_composite_logger const &); basic_composite_logger(logger_base &&) noexcept(boost::is_nothrow_move_constructible< base_type >::value); template<typename ArgsT> explicit basic_composite_logger(ArgsT const &); std::pair< attribute_set::iterator, bool > add_attribute(attribute_name const &, attribute const &); void remove_attribute(attribute_set::iterator); void remove_all_attributes(); attribute_set get_attributes() const; void set_attributes(attribute_set const &); record open_record(); template<typename ArgsT> record open_record(ArgsT const &); void push_record(record &&); void swap(basic_composite_logger &); // protected member functions FinalT & assign(FinalT); };
basic_composite_logger
public member functionsbasic_composite_logger();
basic_composite_logger(basic_composite_logger const & that);
basic_composite_logger(logger_base && that) noexcept(boost::is_nothrow_move_constructible< base_type >::value);
template<typename ArgsT> explicit basic_composite_logger(ArgsT const & args);
std::pair< attribute_set::iterator, bool > add_attribute(attribute_name const & name, attribute const & attr);
void remove_attribute(attribute_set::iterator it);
void remove_all_attributes();
attribute_set get_attributes() const;
void set_attributes(attribute_set const & attrs);
record open_record();
template<typename ArgsT> record open_record(ArgsT const & args);
void push_record(record && rec);
void swap(basic_composite_logger & that);