opencv_binding_generator/settings/
class_tweaks.rs1use std::collections::HashMap;
2
3use semver::Version;
4
5use crate::SupportedModule;
6use crate::version::OpenCVVersionExt;
7use crate::writer::rust_native::type_ref::Lifetime;
8
9pub type ClassTweaks = HashMap<&'static str, ClassTweak>;
10
11#[derive(Clone, Copy, Debug)]
12pub enum ClassTweak {
13 Lifetime(Lifetime),
14}
15
16pub fn class_tweaks_factory(_: SupportedModule, opencv_version: &Version) -> ClassTweaks {
17 let mut out = HashMap::from([("cv::MatSize", ClassTweak::Lifetime(Lifetime::Custom("mat")))]);
18 if !opencv_version.is_opencv_5() {
19 out.insert("cv::MatStep", ClassTweak::Lifetime(Lifetime::Custom("mat")));
20 }
21 out
22}