orx-imp-vec 2.17.0

`ImpVec` stands for immutable push vector 👿, it is a data structure which allows appending elements with a shared reference.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use crate::ImpVec;
use orx_pinned_vec::PinnedVec;

impl<T, P> Clone for ImpVec<T, P>
where
    P: PinnedVec<T> + Clone,
{
    fn clone(&self) -> Self {
        let pinned_vec = unsafe { &mut *self.pinned_vec.get() }.clone();
        Self {
            pinned_vec: pinned_vec.into(),
            phantom: self.phantom,
        }
    }
}