asparit 0.1.0

Async Parallel Iterators for Rust
Documentation
# AsParIt - Async Parallel Iterators

[![Rayon crate](https://img.shields.io/crates/v/asparit.svg)](https://crates.io/crates/asparit)
[![Rayon documentation](https://docs.rs/asparit/badge.svg)](https://docs.rs/asparit)

Asparit implements async parallel iterators. It is mostly based on the idea and the code of
[rayon][rayon]. If you need some more detailed information please refere to the documentation of
[rayon][rayon]. The benefit of asparit is, that the iterator can be driven by a so called executor.
For now three different executors are implemented:
- rayon - Use rayon as executor.
- tokio - Use tokio as executor. This enabled the iterator to support async/await syntax.
- sequential - Simple executor that drives the iterator sequential. This may be usefull for
testing purposes.

[rayon]: https://github.com/rayon-rs/rayon
[tokio]: https://github.com/tokio-rs/tokio

## Example

Simple example to use asparit with the tokio executor.

```rust
use asparit::*;

let s = (0..10)
    .into_par_iter()
    .sum()
    .exec_with(TokioExecutor::default())
    .await;

assert_eq!(s, 45);
```

If tokio is setup as the default executor, you can simply use `exec` instead of `exec_with`.

```rust
use asparit::*;

let s = (0..10)
    .into_par_iter()
    .sum()
    .exec()
    .await;

assert_eq!(s, 45);
```

## License

Asparit is distributed under the terms of both the MIT license and the
Apache License (Version 2.0). See [LICENSE-APACHE](LICENSE-APACHE) and
[LICENSE-MIT](LICENSE-MIT) for details. Opening a pull requests is
assumed to signal agreement with these licensing terms.