Gave cv::String appropriate += operators.

Note that since String is a reference to an immutable string,
this doesn't actually change the string; it just replaces *this
with a reference to the concatenated string.
pull/1859/head
Roman Donchenko 11 years ago
parent c1f59c4c76
commit fc49d33c8d
  1. 26
      modules/core/include/opencv2/core/cvstd.hpp
  2. 7
      modules/core/include/opencv2/core/cvstd.inl.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
{

@ -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
{

Loading…
Cancel
Save