compatibility: keep Ptr<FileStorage> stubs till OpenCV 5.0
authorAlexander Alekhin <alexander.a.alekhin@gmail.com>
Fri, 9 Dec 2022 21:05:17 +0000 (21:05 +0000)
committerAlexander Alekhin <alexander.a.alekhin@gmail.com>
Fri, 16 Dec 2022 00:47:44 +0000 (00:47 +0000)
modules/core/include/opencv2/core.hpp
modules/core/src/algorithm.cpp
modules/features2d/include/opencv2/features2d.hpp

index 1223651..0445be1 100644 (file)
@@ -3101,6 +3101,10 @@ public:
     * @overload
     */
     CV_WRAP void write(FileStorage& fs, const String& name) const;
+#if CV_VERSION_MAJOR < 5
+    /** @deprecated */
+    void write(const Ptr<FileStorage>& fs, const String& name = String()) const;
+#endif
 
     /** @brief Reads algorithm parameters from a file storage
     */
index 7186585..798df39 100644 (file)
@@ -68,6 +68,14 @@ void Algorithm::write(FileStorage& fs, const String& name) const
     fs << "}";
 }
 
+#if CV_VERSION_MAJOR < 5
+void Algorithm::write(const Ptr<FileStorage>& fs, const String& name) const
+{
+    CV_Assert(fs);
+    write(*fs, name);
+}
+#endif
+
 void Algorithm::save(const String& filename) const
 {
     CV_TRACE_FUNCTION();
index 633cd5c..401fe61 100644 (file)
@@ -213,6 +213,9 @@ public:
 
     // see corresponding cv::Algorithm method
     CV_WRAP inline void write(FileStorage& fs, const String& name) const { Algorithm::write(fs, name); }
+#if CV_VERSION_MAJOR < 5
+    inline void write(const Ptr<FileStorage>& fs, const String& name) const { CV_Assert(fs); Algorithm::write(*fs, name); }
+#endif
 };
 
 /** Feature detectors in OpenCV have wrappers with a common interface that enables you to easily switch
@@ -1102,6 +1105,9 @@ public:
 
     // see corresponding cv::Algorithm method
     CV_WRAP inline void write(FileStorage& fs, const String& name) const { Algorithm::write(fs, name); }
+#if CV_VERSION_MAJOR < 5
+    inline void write(const Ptr<FileStorage>& fs, const String& name) const { CV_Assert(fs); Algorithm::write(*fs, name); }
+#endif
 
 protected:
     /**