From 1d8c73cf6c9d0ef1022d3a302aef0e13bc255602 Mon Sep 17 00:00:00 2001 From: Vadim Levin Date: Wed, 15 Apr 2020 14:25:39 +0300 Subject: [PATCH] feature: Added `explicit` support to header parser - It is safe to remove `explicit` keyword for constructors with 1 argument, because it is C++ specific keyword and does not affect any of the generated binding. --- modules/python/src2/hdr_parser.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/python/src2/hdr_parser.py b/modules/python/src2/hdr_parser.py index 780a263..eba7000 100755 --- a/modules/python/src2/hdr_parser.py +++ b/modules/python/src2/hdr_parser.py @@ -430,9 +430,10 @@ class CppHeaderParser(object): # filter off some common prefixes, which are meaningless for Python wrappers. # note that we do not strip "static" prefix, which does matter; # it means class methods, not instance methods - decl_str = self.batch_replace(decl_str, [("static inline", ""), ("inline", ""),\ - ("CV_EXPORTS_W", ""), ("CV_EXPORTS", ""), ("CV_CDECL", ""), ("CV_WRAP ", " "), ("CV_INLINE", ""), - ("CV_DEPRECATED", ""), ("CV_DEPRECATED_EXTERNAL", "")]).strip() + decl_str = self.batch_replace(decl_str, [("static inline", ""), ("inline", ""), ("explicit ", ""), + ("CV_EXPORTS_W", ""), ("CV_EXPORTS", ""), ("CV_CDECL", ""), + ("CV_WRAP ", " "), ("CV_INLINE", ""), + ("CV_DEPRECATED", ""), ("CV_DEPRECATED_EXTERNAL", "")]).strip() if decl_str.strip().startswith('virtual'): -- 2.7.4