ModifyInplace

Trait ModifyInplace 

Source
pub trait ModifyInplace {
    // Required method
    unsafe fn modify_inplace<Res>(
        &mut self,
        f: impl FnOnce(&Self, &mut Self) -> Res,
    ) -> Res;
}

Required Methods§

Source

unsafe fn modify_inplace<Res>( &mut self, f: impl FnOnce(&Self, &mut Self) -> Res, ) -> Res

Helper function to call OpenCV functions that allow in-place modification of a Mat or another similar object. By passing a mutable reference to the Mat to this function your closure will get called with the read reference and a write references to the same Mat. This is unsafe in a general case as it leads to having non-exclusive mutable access to the internal data, but it can be useful for some performance sensitive operations. One example of an OpenCV function that allows such in-place modification is imgproc::threshold.

§Safety

Caller must make sure that any functions called inside the closure can act on a Mat in-place.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<Mat: Boxed> ModifyInplace for BoxedRefMut<'_, Mat>

Source§

impl<Mat: Boxed> ModifyInplace for Mat