commit | 6ae9d197ab42c78f9edc867145c00f113ccbd35b | [log] [tgz] |
---|---|---|
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | Tue May 21 23:13:34 2024 +0000 |
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | Tue May 21 23:13:34 2024 +0000 |
tree | 0a4d18065e3055eb4f44240fc1e2704e45258429 | |
parent | ba2e69f576b7eb0157781581bdc2a8374a2088cc [diff] | |
parent | 46145897e455e1983940f6f6d7cdc5e25e4e6297 [diff] |
Snap for 11869550 from 46145897e455e1983940f6f6d7cdc5e25e4e6297 to 24Q3-release Change-Id: I96d5cbbf739a5f256b3c6338b907fa98ddee1314
Extra iterator adaptors, functions and macros.
Please read the API documentation here.
How to use with Cargo:
[dependencies] itertools = "0.10.5"
How to use in your crate:
use itertools::Itertools;
For new features, please first consider filing a PR to rust-lang/rust, adding your new feature to the Iterator
trait of the standard library, if you believe it is reasonable. If it isn‘t accepted there, proposing it for inclusion in itertools
is a good idea. The reason for doing is this is so that we avoid future breakage as with .flatten()
. However, if your feature involves heap allocation, such as storing elements in a Vec<T>
, then it can’t be accepted into libcore
, and you should propose it for itertools
directly instead.
Dual-licensed to be compatible with the Rust project.
Licensed under the Apache License, Version 2.0 https://www.apache.org/licenses/LICENSE-2.0 or the MIT license https://opensource.org/licenses/MIT, at your option. This file may not be copied, modified, or distributed except according to those terms.