add nodiscard to features2d clone funcs

pull/20675/head
Dale Phurrough 4 years ago
parent 1e0d290f2e
commit 068f33cfdf
No known key found for this signature in database
GPG Key ID: E53384A29713D41F
  1. 8
      modules/features2d/include/opencv2/features2d.hpp
  2. 17
      modules/python/src2/hdr_parser.py

@ -1082,7 +1082,7 @@ public:
that is, copies both parameters and train data. If emptyTrainData is true, the method creates an that is, copies both parameters and train data. If emptyTrainData is true, the method creates an
object copy with the current parameters but with empty train data. object copy with the current parameters but with empty train data.
*/ */
CV_WRAP virtual Ptr<DescriptorMatcher> clone( bool emptyTrainData=false ) const = 0; CV_WRAP CV_NODISCARD_STD virtual Ptr<DescriptorMatcher> clone( bool emptyTrainData=false ) const = 0;
/** @brief Creates a descriptor matcher of a given type with the default parameters (using default /** @brief Creates a descriptor matcher of a given type with the default parameters (using default
constructor). constructor).
@ -1142,7 +1142,7 @@ protected:
static bool isPossibleMatch( InputArray mask, int queryIdx, int trainIdx ); static bool isPossibleMatch( InputArray mask, int queryIdx, int trainIdx );
static bool isMaskedOut( InputArrayOfArrays masks, int queryIdx ); static bool isMaskedOut( InputArrayOfArrays masks, int queryIdx );
static Mat clone_op( Mat m ) { return m.clone(); } CV_NODISCARD_STD static Mat clone_op( Mat m ) { return m.clone(); }
void checkMasks( InputArrayOfArrays masks, int queryDescriptorsCount ) const; void checkMasks( InputArrayOfArrays masks, int queryDescriptorsCount ) const;
//! Collection of descriptors from train images. //! Collection of descriptors from train images.
@ -1183,7 +1183,7 @@ public:
*/ */
CV_WRAP static Ptr<BFMatcher> create( int normType=NORM_L2, bool crossCheck=false ) ; CV_WRAP static Ptr<BFMatcher> create( int normType=NORM_L2, bool crossCheck=false ) ;
virtual Ptr<DescriptorMatcher> clone( bool emptyTrainData=false ) const CV_OVERRIDE; CV_NODISCARD_STD virtual Ptr<DescriptorMatcher> clone( bool emptyTrainData=false ) const CV_OVERRIDE;
protected: protected:
virtual void knnMatchImpl( InputArray queryDescriptors, std::vector<std::vector<DMatch> >& matches, int k, virtual void knnMatchImpl( InputArray queryDescriptors, std::vector<std::vector<DMatch> >& matches, int k,
InputArrayOfArrays masks=noArray(), bool compactResult=false ) CV_OVERRIDE; InputArrayOfArrays masks=noArray(), bool compactResult=false ) CV_OVERRIDE;
@ -1222,7 +1222,7 @@ public:
CV_WRAP static Ptr<FlannBasedMatcher> create(); CV_WRAP static Ptr<FlannBasedMatcher> create();
virtual Ptr<DescriptorMatcher> clone( bool emptyTrainData=false ) const CV_OVERRIDE; CV_NODISCARD_STD virtual Ptr<DescriptorMatcher> clone( bool emptyTrainData=false ) const CV_OVERRIDE;
protected: protected:
static void convertToDMatches( const DescriptorCollection& descriptors, static void convertToDMatches( const DescriptorCollection& descriptors,
const Mat& indices, const Mat& distances, const Mat& indices, const Mat& distances,

@ -432,11 +432,18 @@ class CppHeaderParser(object):
# filter off some common prefixes, which are meaningless for Python wrappers. # filter off some common prefixes, which are meaningless for Python wrappers.
# note that we do not strip "static" prefix, which does matter; # note that we do not strip "static" prefix, which does matter;
# it means class methods, not instance methods # it means class methods, not instance methods
decl_str = self.batch_replace(decl_str, [("static inline", ""), ("inline", ""), ("explicit ", ""), decl_str = self.batch_replace(decl_str, [("static inline", ""),
("CV_EXPORTS_W", ""), ("CV_EXPORTS", ""), ("CV_CDECL", ""), ("inline", ""),
("CV_WRAP ", " "), ("CV_INLINE", ""), ("explicit ", ""),
("CV_DEPRECATED", ""), ("CV_DEPRECATED_EXTERNAL", "")]).strip() ("CV_EXPORTS_W", ""),
("CV_EXPORTS", ""),
("CV_CDECL", ""),
("CV_WRAP ", " "),
("CV_INLINE", ""),
("CV_DEPRECATED", ""),
("CV_DEPRECATED_EXTERNAL", ""),
("CV_NODISCARD_STD", ""),
("CV_NODISCARD", "")]).strip()
if decl_str.strip().startswith('virtual'): if decl_str.strip().startswith('virtual'):
virtual_method = True virtual_method = True

Loading…
Cancel
Save