[opencv] 41/251: add std::string overload for cv::read()
Nobuhiro Iwamatsu
iwamatsu at moszumanska.debian.org
Sun Aug 27 23:27:22 UTC 2017
This is an automated email from the git hooks/post-receive script.
iwamatsu pushed a commit to annotated tag 3.3.0
in repository opencv.
commit 6dd9e18b2e1cde257b89111ed8b3869f5edafaca
Author: PkLab.net <info at pklab.net>
Date: Fri May 26 19:14:58 2017 +0200
add std::string overload for cv::read()
---
modules/core/include/opencv2/core/cvstd.inl.hpp | 4 +---
modules/core/include/opencv2/core/persistence.hpp | 1 +
modules/core/src/persistence.cpp | 5 +++++
3 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/modules/core/include/opencv2/core/cvstd.inl.hpp b/modules/core/include/opencv2/core/cvstd.inl.hpp
index c8c7ba9..c77f02a 100644
--- a/modules/core/include/opencv2/core/cvstd.inl.hpp
+++ b/modules/core/include/opencv2/core/cvstd.inl.hpp
@@ -156,9 +156,7 @@ FileNode::operator std::string() const
template<> inline
void operator >> (const FileNode& n, std::string& value)
{
- String val;
- read(n, val, val);
- value = val;
+ read(n, value, std::string());
}
template<> inline
diff --git a/modules/core/include/opencv2/core/persistence.hpp b/modules/core/include/opencv2/core/persistence.hpp
index 90da60d..ac53ca3 100644
--- a/modules/core/include/opencv2/core/persistence.hpp
+++ b/modules/core/include/opencv2/core/persistence.hpp
@@ -714,6 +714,7 @@ CV_EXPORTS void read(const FileNode& node, int& value, int default_value);
CV_EXPORTS void read(const FileNode& node, float& value, float default_value);
CV_EXPORTS void read(const FileNode& node, double& value, double default_value);
CV_EXPORTS void read(const FileNode& node, String& value, const String& default_value);
+CV_EXPORTS void read(const FileNode& node, std::string& value, const std::string& default_value);
CV_EXPORTS void read(const FileNode& node, Mat& mat, const Mat& default_mat = Mat() );
CV_EXPORTS void read(const FileNode& node, SparseMat& mat, const SparseMat& default_mat = SparseMat() );
CV_EXPORTS void read(const FileNode& node, std::vector<KeyPoint>& keypoints);
diff --git a/modules/core/src/persistence.cpp b/modules/core/src/persistence.cpp
index 90ebb77..bb4d953 100644
--- a/modules/core/src/persistence.cpp
+++ b/modules/core/src/persistence.cpp
@@ -7396,6 +7396,11 @@ void read(const FileNode& node, String& value, const String& default_value)
value = !node.node ? default_value : CV_NODE_IS_STRING(node.node->tag) ? String(node.node->data.str.ptr) : String();
}
+void read(const FileNode& node, std::string& value, const std::string& default_value)
+{
+ value = !node.node ? default_value : CV_NODE_IS_STRING(node.node->tag) ? std::string(node.node->data.str.ptr) : default_value;
+}
+
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/opencv.git
More information about the debian-science-commits
mailing list