]> www.infradead.org Git - users/jedix/linux-maple.git/commit
rust: rbtree: add iterator
authorWedson Almeida Filho <wedsonaf@gmail.com>
Thu, 22 Aug 2024 16:37:54 +0000 (16:37 +0000)
committerMiguel Ojeda <ojeda@kernel.org>
Sat, 31 Aug 2024 15:36:19 +0000 (17:36 +0200)
commite601f1bb8e859758289b1c52503bc626168fba59
treea1d48f3efd4b9f5af5b64965e461c4edb009a8a6
parenta0d13aac7022f95ec161c18d18e3d81172666ed8
rust: rbtree: add iterator

- Add Iterator implementation for `RBTree`, allowing
  iteration over (key, value) pairs in key order.
- Add individual `keys()` and `values()` functions to iterate over keys
  or values alone.
- Update doctests to use iteration instead of explicitly getting items.

Iteration is needed by the binder driver to enumerate all values in a
tree for oneway spam detection [1].

Link: https://lore.kernel.org/rust-for-linux/20231101-rust-binder-v1-17-08ba9197f637@google.com/
Signed-off-by: Wedson Almeida Filho <wedsonaf@gmail.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Tested-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Benno Lossin <benno.lossin@proton.me>
Reviewed-by: Boqun Feng <boqun.feng@gmail.com>
Signed-off-by: Matt Gilbride <mattgilbride@google.com>
Link: https://lore.kernel.org/r/20240822-b4-rbtree-v12-2-014561758a57@google.com
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
rust/kernel/rbtree.rs