diff options
author | Valentin Popov <valentin@popov.link> | 2024-07-19 15:37:58 +0300 |
---|---|---|
committer | Valentin Popov <valentin@popov.link> | 2024-07-19 15:37:58 +0300 |
commit | a990de90fe41456a23e58bd087d2f107d321f3a1 (patch) | |
tree | 15afc392522a9e85dc3332235e311b7d39352ea9 /vendor/rayon/src/collections/hash_set.rs | |
parent | 3d48cd3f81164bbfc1a755dc1d4a9a02f98c8ddd (diff) | |
download | fparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.tar.xz fparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.zip |
Deleted vendor folder
Diffstat (limited to 'vendor/rayon/src/collections/hash_set.rs')
-rw-r--r-- | vendor/rayon/src/collections/hash_set.rs | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/vendor/rayon/src/collections/hash_set.rs b/vendor/rayon/src/collections/hash_set.rs deleted file mode 100644 index b6ee1c1..0000000 --- a/vendor/rayon/src/collections/hash_set.rs +++ /dev/null @@ -1,80 +0,0 @@ -//! This module contains the parallel iterator types for hash sets -//! (`HashSet<T>`). You will rarely need to interact with it directly -//! unless you have need to name one of the iterator types. - -use std::collections::HashSet; -use std::hash::{BuildHasher, Hash}; -use std::marker::PhantomData; - -use crate::iter::plumbing::*; -use crate::iter::*; - -use crate::vec; - -/// Parallel iterator over a hash set -#[derive(Debug)] // std doesn't Clone -pub struct IntoIter<T: Hash + Eq + Send> { - inner: vec::IntoIter<T>, -} - -into_par_vec! { - HashSet<T, S> => IntoIter<T>, - impl<T: Hash + Eq + Send, S: BuildHasher> -} - -delegate_iterator! { - IntoIter<T> => T, - impl<T: Hash + Eq + Send> -} - -/// Parallel iterator over an immutable reference to a hash set -#[derive(Debug)] -pub struct Iter<'a, T: Hash + Eq + Sync> { - inner: vec::IntoIter<&'a T>, -} - -impl<'a, T: Hash + Eq + Sync> Clone for Iter<'a, T> { - fn clone(&self) -> Self { - Iter { - inner: self.inner.clone(), - } - } -} - -into_par_vec! { - &'a HashSet<T, S> => Iter<'a, T>, - impl<'a, T: Hash + Eq + Sync, S: BuildHasher> -} - -delegate_iterator! { - Iter<'a, T> => &'a T, - impl<'a, T: Hash + Eq + Sync + 'a> -} - -// `HashSet` doesn't have a mutable `Iterator` - -/// Draining parallel iterator that moves out of a hash set, -/// but keeps the total capacity. -#[derive(Debug)] -pub struct Drain<'a, T: Hash + Eq + Send> { - inner: vec::IntoIter<T>, - marker: PhantomData<&'a mut HashSet<T>>, -} - -impl<'a, T: Hash + Eq + Send, S: BuildHasher> ParallelDrainFull for &'a mut HashSet<T, S> { - type Iter = Drain<'a, T>; - type Item = T; - - fn par_drain(self) -> Self::Iter { - let vec: Vec<_> = self.drain().collect(); - Drain { - inner: vec.into_par_iter(), - marker: PhantomData, - } - } -} - -delegate_iterator! { - Drain<'_, T> => T, - impl<T: Hash + Eq + Send> -} |