1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
use crate::{core, Result, types};

#[doc(hidden)]
#[repr(C)]
/// needed because layout of () in repr(C) is not guaranteed
pub struct Unit([u8; 0]);

impl From<Unit> for () {
    fn from(_: Unit) -> Self {
        ()
    }
}

impl core::ToInputArray for types::VectorOfMat {
    fn input_array(&self) -> Result<core::InputArray> {
        core::InputArray::from_mat_vec(self)
    }
}

impl core::ToOutputArray for types::VectorOfMat {
    fn output_array(&mut self) -> Result<core::OutputArray> {
        core::OutputArray::from_mat_vec(self)
    }
}

impl core::ToInputOutputArray for types::VectorOfMat {
    fn input_output_array(&mut self) -> Result<core::InputOutputArray> {
        core::InputOutputArray::from_mat_vec(self)
    }
}

impl core::ToInputArray for types::VectorOfUMat {
    fn input_array(&self) -> Result<core::InputArray> {
        core::InputArray::from_umat_vec(self)
    }
}

impl core::ToOutputArray for types::VectorOfUMat {
    fn output_array(&mut self) -> Result<core::OutputArray> {
        core::OutputArray::from_umat_vec(self)
    }
}

impl core::ToInputOutputArray for types::VectorOfUMat {
    fn input_output_array(&mut self) -> Result<core::InputOutputArray> {
        core::InputOutputArray::from_umat_vec(self)
    }
}