pub use self::input_output_array::*;
pub use self::mat::*;
pub use self::point::*;
pub use self::rect::*;
pub use self::size::*;
pub use self::vec::*;
macro_rules! valid_types {
($trait: ident, $($rust_type: ty),+) => {
pub trait $trait: ::num::traits::NumAssign + PartialOrd + Default + Copy + private::Sealed {}
mod private {
pub trait Sealed {}
}
$(
impl $trait for $rust_type {}
impl private::Sealed for $rust_type {}
)+
};
}
mod input_output_array;
mod mat;
mod point;
mod rect;
mod size;
mod vec;
#[inline(always)]
pub const fn MAT_DEPTH(flags: i32) -> i32 {
#![allow(non_snake_case)]
flags & crate::core::Mat_DEPTH_MASK
}
#[inline(always)]
pub const fn MAKETYPE(depth: i32, cn: i32) -> i32 {
#![allow(non_snake_case)]
MAT_DEPTH(depth) + ((cn - 1) << crate::core::CV_CN_SHIFT)
}