orx_concurrent_vec/
to_vec.rs1use crate::{ConcurrentVec, elem::ConcurrentElement};
2use alloc::vec::Vec;
3use orx_pinned_vec::IntoConcurrentPinnedVec;
4
5impl<T, P> ConcurrentVec<T, P>
6where
7 P: IntoConcurrentPinnedVec<ConcurrentElement<T>>,
8{
9 pub fn to_vec(self) -> Vec<T> {
11 let pinned = self.into_inner();
12 let mut vec = Vec::with_capacity(pinned.len());
13 for x in pinned {
14 vec.push(x.0.expect("unwrapped none"));
15 }
16 vec
17 }
18
19 pub fn clone_to_vec(&self) -> Vec<T>
22 where
23 T: Clone,
24 {
25 self.as_slice().clone_to_vec()
26 }
27}