diff --git a/modules/core/include/opencv2/core/cvstd.hpp b/modules/core/include/opencv2/core/cvstd.hpp index afdeb2549a..f15e6a9351 100644 --- a/modules/core/include/opencv2/core/cvstd.hpp +++ b/modules/core/include/opencv2/core/cvstd.hpp @@ -364,6 +364,10 @@ public: String& operator=(const char* s); String& operator=(char c); + String& operator+=(const String& str); + String& operator+=(const char* s); + String& operator+=(char c); + size_t size() const; size_t length() const; @@ -416,6 +420,7 @@ public: String(const std::string& str); String(const std::string& str, size_t pos, size_t len = npos); String& operator=(const std::string& str); + String& operator+=(const std::string& str); operator std::string() const; friend String operator+ (const String& lhs, const std::string& rhs); @@ -544,6 +549,27 @@ String& String::operator=(char c) return *this; } +inline +String& String::operator+=(const String& str) +{ + *this = *this + str; + return *this; +} + +inline +String& String::operator+=(const char* s) +{ + *this = *this + s; + return *this; +} + +inline +String& String::operator+=(char c) +{ + *this = *this + c; + return *this; +} + inline size_t String::size() const { diff --git a/modules/core/include/opencv2/core/cvstd.inl.hpp b/modules/core/include/opencv2/core/cvstd.inl.hpp index 8642b7442e..ce18da30a3 100644 --- a/modules/core/include/opencv2/core/cvstd.inl.hpp +++ b/modules/core/include/opencv2/core/cvstd.inl.hpp @@ -103,6 +103,13 @@ String& String::operator = (const std::string& str) return *this; } +inline +String& String::operator += (const std::string& str) +{ + *this = *this + str; + return *this; +} + inline String::operator std::string() const {