## Struct template filter_factory

boost::log::filter_factory

## Synopsis

    // 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;
    };

## Description

The interface class for all filter factories.

### `filter_factory` public member functions

1.     filter_factory() = default;

   Default constructor

2.     virtual ~filter_factory();

   Virtual destructor

3.     virtual filter on_exists_test(attribute_name const & name);

   The callback for filter for the attribute existence test

4.     virtual filter
       on_equality_relation(attribute_name const & name, string_type const & arg);

   The callback for equality relation filter

5.     virtual filter
       on_inequality_relation(attribute_name const & name, string_type const & arg);

   The callback for inequality relation filter

6.     virtual filter
       on_less_relation(attribute_name const & name, string_type const & arg);

   The callback for less relation filter

7.     virtual filter
       on_greater_relation(attribute_name const & name, string_type const & arg);

   The callback for greater relation filter

8.     virtual filter
       on_less_or_equal_relation(attribute_name const & name,
                                 string_type const & arg);

   The callback for less or equal relation filter

9.     virtual filter
       on_greater_or_equal_relation(attribute_name const & name,
                                    string_type const & arg);

   The callback for greater or equal relation filter

10.     virtual filter
        on_custom_relation(attribute_name const & name, string_type const & rel,
                           string_type const & arg);

    The callback for custom relation filter

11.     filter_factory(filter_factory const &) = delete;

12.     filter_factory & operator=(filter_factory const &) = delete;