...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::basic_filter_factory
// In header: <boost/log/utility/setup/filter_parser.hpp> template<typename CharT, typename AttributeValueT> class basic_filter_factory : public boost::log::filter_factory< CharT > { public: // types typedef AttributeValueT value_type; // The type(s) of the attribute value expected. typedef base_type::string_type string_type; // public member functions 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 &); virtual value_type parse_argument(string_type const &); };
The base class for filter factories. The class defines default implementations for most filter expressions. In order to be able to construct filters, the attribute value type must support reading from a stream. Also, the default filters will rely on relational operators for the type, so these operators must also be defined.
basic_filter_factory
public member functionsvirtual 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
virtual value_type parse_argument(string_type const & arg);
The function parses the argument value for a binary relation