11use crate :: class:: ClassDesc ;
22use crate :: field:: { Field , FieldDesc } ;
3- use crate :: func:: { FuncCppBody , FuncDesc , FuncKind , FuncRustBody , ReturnKind } ;
3+ use crate :: func:: FuncKind :: { Constructor , InstanceMethod } ;
4+ use crate :: func:: ReturnKind :: { Fallible , InfallibleNaked } ;
5+ use crate :: func:: { FuncCppBody , FuncDesc , FuncRustBody } ;
46use crate :: type_ref:: Constness :: { Const , Mut } ;
57use crate :: type_ref:: { TypeRef , TypeRefDesc , TypeRefTypeHint } ;
68use crate :: writer:: rust_native:: type_ref:: Lifetime ;
@@ -13,9 +15,9 @@ pub fn func_inject_factory(module: &str) -> Vec<FuncFactory> {
1315 "core" => vec ! [
1416 ( || {
1517 Func :: new_desc( FuncDesc :: new(
16- FuncKind :: InstanceMethod ( ClassDesc :: cv_matconstiterator( ) ) ,
18+ InstanceMethod ( ClassDesc :: cv_matconstiterator( ) ) ,
1719 Const ,
18- ReturnKind :: InfallibleNaked ,
20+ InfallibleNaked ,
1921 "type" ,
2022 "core" ,
2123 vec![ ] ,
@@ -26,9 +28,9 @@ pub fn func_inject_factory(module: &str) -> Vec<FuncFactory> {
2628 } ) as FuncFactory , // todo: remove this cast when MSRV allows
2729 || {
2830 Func :: new_desc( FuncDesc :: new(
29- FuncKind :: InstanceMethod ( ClassDesc :: cv_mat( ) ) ,
31+ InstanceMethod ( ClassDesc :: cv_mat( ) ) ,
3032 Const ,
31- ReturnKind :: Fallible ,
33+ Fallible ,
3234 "size" ,
3335 "core" ,
3436 vec![ ] ,
@@ -39,9 +41,22 @@ pub fn func_inject_factory(module: &str) -> Vec<FuncFactory> {
3941 } ,
4042 || {
4143 Func :: new_desc( FuncDesc :: new(
42- FuncKind :: InstanceMethod ( ClassDesc :: cv_umat ( ) ) ,
44+ InstanceMethod ( ClassDesc :: cv_mat ( ) ) ,
4345 Const ,
44- ReturnKind :: Fallible ,
46+ Fallible ,
47+ "getDataDump" ,
48+ "core" ,
49+ vec![ ] ,
50+ FuncCppBody :: ManualCall ( "std::string();\n std::ostringstream oss;\n oss << *instance;\n ret = oss.str()" . into( ) ) ,
51+ FuncRustBody :: Auto ,
52+ TypeRefDesc :: std_string( ) ,
53+ ) )
54+ } ,
55+ || {
56+ Func :: new_desc( FuncDesc :: new(
57+ InstanceMethod ( ClassDesc :: cv_umat( ) ) ,
58+ Const ,
59+ Fallible ,
4560 "size" ,
4661 "core" ,
4762 vec![ ] ,
@@ -52,9 +67,9 @@ pub fn func_inject_factory(module: &str) -> Vec<FuncFactory> {
5267 } ,
5368 || {
5469 Func :: new_desc( FuncDesc :: new(
55- FuncKind :: Constructor ( ClassDesc :: cv_input_array( ) ) ,
70+ Constructor ( ClassDesc :: cv_input_array( ) ) ,
5671 Mut ,
57- ReturnKind :: Fallible ,
72+ Fallible ,
5873 "_InputArray" ,
5974 "core" ,
6075 vec![
0 commit comments