diff --git a/ChangeLog b/ChangeLog index bc5e60f0..22c5f64c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-06-07 Tatsuhiro Tsujikawa + + Rewritten strconcat and strappend using operator+ instead of + append(). + * src/a2functional.h + 2009-06-07 Tatsuhiro Tsujikawa Compile bencode.cc and BencodeTest.cc only if BitTorrent support diff --git a/src/a2functional.h b/src/a2functional.h index 9809b36a..fb098e93 100644 --- a/src/a2functional.h +++ b/src/a2functional.h @@ -224,20 +224,20 @@ std::string strjoin(InputIterator first, InputIterator last, template inline std::string strconcat(const T1& a1, const T2& a2) { - return std::string(a1).append(a2); + std::string s(a1); s += a2; return s; } template inline std::string strconcat(const T1& a1, const T2& a2, const T3& a3) { - return std::string(a1).append(a2).append(a3); + std::string s(a1); s += a2; s += a3; return s; } template inline std::string strconcat(const T1& a1, const T2& a2, const T3& a3, const T4& a4) { - return std::string(a1).append(a2).append(a3).append(a4); + std::string s(a1); s += a2; s += a3; s += a4; return s; } template @@ -245,7 +245,7 @@ inline std::string strconcat(const T1& a1, const T2& a2, const T3& a3, const T4& a4, const T5& a5) { - return std::string(a1).append(a2).append(a3).append(a4).append(a5); + std::string s(a1); s += a2; s += a3; s += a4; s += a5; return s; } template inline void strappend(std::string& base, const T1& a1, const T2& a2) { - base.append(a1).append(a2); + base += a1; base += a2; } template inline void strappend(std::string& base, const T1& a1, const T2& a2, const T3& a3) { - base.append(a1).append(a2).append(a3); + base += a1; base += a2; base += a3; } template inline void strappend(std::string& base, const T1& a1, const T2& a2, const T3& a3, const T4& a4) { - base.append(a1).append(a2).append(a3).append(a4); + base += a1; base += a2; base += a3; base += a4; } template @@ -343,7 +349,7 @@ inline void strappend(std::string& base, const T1& a1, const T2& a2, const T3& a3, const T4& a4, const T5& a5) { - base.append(a1).append(a2).append(a3).append(a4).append(a5); + base += a1; base += a2; base += a3; base += a4; base += a5; } template