...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::filter_factory
// In header: <boost/log/utility/setup/filter_parser.hpp> template<typename CharT> struct filter_factory { // types typedef CharT char_type; // Character type. typedef std::basic_string< char_type > string_type; // String type. // public member functions filter_factory() = default; virtual ~filter_factory(); virtual filter on_exists_test(attribute_name const &); virtual filter on_equality_relation(attribute_name const &, string_type const &); virtual filter on_inequality_relation(attribute_name const &, string_type const &); virtual filter on_less_relation(attribute_name const &, string_type const &); virtual filter on_greater_relation(attribute_name const &, string_type const &); virtual filter on_less_or_equal_relation(attribute_name const &, string_type const &); virtual filter on_greater_or_equal_relation(attribute_name const &, string_type const &); virtual filter on_custom_relation(attribute_name const &, string_type const &, string_type const &); filter_factory(filter_factory const &) = delete; filter_factory & operator=(filter_factory const &) = delete; };
The interface class for all filter factories.
filter_factory
public member functionsfilter_factory() = default;
Default constructor
virtual ~filter_factory();
Virtual destructor
virtual filter on_exists_test(attribute_name const & name);
The callback for filter for the attribute existence test
virtual filter on_equality_relation(attribute_name const & name, string_type const & arg);
The callback for equality relation filter
virtual filter on_inequality_relation(attribute_name const & name, string_type const & arg);
The callback for inequality relation filter
virtual filter on_less_relation(attribute_name const & name, string_type const & arg);
The callback for less relation filter
virtual filter on_greater_relation(attribute_name const & name, string_type const & arg);
The callback for greater relation filter
virtual filter on_less_or_equal_relation(attribute_name const & name, string_type const & arg);
The callback for less or equal relation filter
virtual filter on_greater_or_equal_relation(attribute_name const & name, string_type const & arg);
The callback for greater or equal relation filter
virtual filter on_custom_relation(attribute_name const & name, string_type const & rel, string_type const & arg);
The callback for custom relation filter
filter_factory(filter_factory const &) = delete;
filter_factory & operator=(filter_factory const &) = delete;