Build filters for Iterator::filter() using the builder pattern
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


A library crate to build predicates and filter.


Build Status GitHub tag

Examples explain it best:

use filters::filter::Filter;

let not_eq_to_one   = |&a: &usize| { a != 1 };
let not_eq_to_two   = |&a: &usize| { a != 2 };
let not_eq_to_three = |&a: &usize| { a != 3 };

let a = not_eq_to_one.and(not_eq_to_two).and(not_eq_to_three);

assert_eq!(a.filter(&21), true);

For more examples have a look at the tests in ./src/

Vacation notice

Notice: I, the author of filters, will be on vacation from mid-May 2018 until early 2019. I hope I can continue develop filters during that time, but I cannot guarantee that. I hope I can continue development of filters after that and I certainly plan to do so.

@TheNeikos as commit rights to this repository and will respond to issues and PRs.


filters - A crate to build predicates/filters with the builder pattern
Copyright (C) 2016 Matthias Beyer

This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at

For more information and the full license text, see the LICENSE file.