Trait moving_gc_arena::HasIx [−][src]
Trait to expose contained indices to the garbage collector.
Required methods
fn foreach_ix<'b, 'a: 'b, F>(&'a mut self, f: F) where
F: FnMut(&'b mut Ix<T>),
[src]
F: FnMut(&'b mut Ix<T>),
Expose a mutable reference to every Ix owned by this datastructure.
This is used for the collector to know which other elements are pointed to from this element, as well as to update all of the old-generation indices to the new generation.
Avoid panicking in this method. A panic may cause some elements to never be dropped, leaking any owned memory outside the region.
The function f should be called exactly once
on each Ix
Implementations on Foreign Types
impl<T: 'static, S: HasIx<T>> HasIx<T> for Vec<S>
[src]
fn foreach_ix<'b, 'a: 'b, F>(&'a mut self, f: F) where
F: FnMut(&'b mut Ix<T>),
[src]
F: FnMut(&'b mut Ix<T>),
impl<T: 'static, S: HasIx<T>> HasIx<T> for Option<S>
[src]
fn foreach_ix<'b, 'a: 'b, F>(&'a mut self, f: F) where
F: FnMut(&'b mut Ix<T>),
[src]
F: FnMut(&'b mut Ix<T>),
impl<T: 'static, S: HasIx<T>> HasIx<T> for Box<S>
[src]
fn foreach_ix<'b, 'a: 'b, F>(&'a mut self, f: F) where
F: FnMut(&'b mut Ix<T>),
[src]
F: FnMut(&'b mut Ix<T>),
Implementors
impl<T: 'static> HasIx<T> for ()
[src]
fn foreach_ix<'b, 'a: 'b, F>(&'a mut self, _f: F) where
F: FnMut(&'b mut Ix<T>),
[src]
F: FnMut(&'b mut Ix<T>),
impl<T: 'static> HasIx<T> for Ix<T>
[src]
fn foreach_ix<'b, 'a: 'b, F>(&'a mut self, f: F) where
F: FnMut(&'b mut Ix<T>),
[src]
F: FnMut(&'b mut Ix<T>),
impl<T: 'static, S1: HasIx<T>, S2: HasIx<T>> HasIx<T> for (S1, S2)
[src]
fn foreach_ix<'b, 'a: 'b, F>(&'a mut self, f: F) where
F: FnMut(&'b mut Ix<T>),
[src]
F: FnMut(&'b mut Ix<T>),
impl<T: 'static, S1: HasIx<T>, S2: HasIx<T>, S3: HasIx<T>> HasIx<T> for (S1, S2, S3)
[src]
fn foreach_ix<'b, 'a: 'b, F>(&'a mut self, f: F) where
F: FnMut(&'b mut Ix<T>),
[src]
F: FnMut(&'b mut Ix<T>),
impl<T: 'static, S1: HasIx<T>, S2: HasIx<T>, S3: HasIx<T>, S4: HasIx<T>> HasIx<T> for (S1, S2, S3, S4)
[src]
fn foreach_ix<'b, 'a: 'b, F>(&'a mut self, f: F) where
F: FnMut(&'b mut Ix<T>),
[src]
F: FnMut(&'b mut Ix<T>),
impl<T: 'static, S: HasIx<T>> HasIx<T> for &mut S
[src]
fn foreach_ix<'b, 'a: 'b, F>(&'a mut self, f: F) where
F: FnMut(&'b mut Ix<T>),
[src]
F: FnMut(&'b mut Ix<T>),