summaryrefslogtreecommitdiff
path: root/gdbsupport/gdb_unique_ptr.h
diff options
context:
space:
mode:
Diffstat (limited to 'gdbsupport/gdb_unique_ptr.h')
-rw-r--r--gdbsupport/gdb_unique_ptr.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/gdbsupport/gdb_unique_ptr.h b/gdbsupport/gdb_unique_ptr.h
index d8a87a307ba..51ee7a4bc94 100644
--- a/gdbsupport/gdb_unique_ptr.h
+++ b/gdbsupport/gdb_unique_ptr.h
@@ -21,6 +21,7 @@
#define COMMON_GDB_UNIQUE_PTR_H
#include <memory>
+#include <string>
#include "gdbsupport/gdb-xfree.h"
namespace gdb
@@ -74,4 +75,22 @@ make_unique_xstrndup (const char *str, size_t n)
return gdb::unique_xmalloc_ptr<char> (xstrndup (str, n));
}
+/* An overload of operator+= fo adding gdb::unique_xmalloc_ptr<char> to a
+ std::string. */
+
+static inline std::string &
+operator+= (std::string &lhs, const gdb::unique_xmalloc_ptr<char> &rhs)
+{
+ return lhs += rhs.get ();
+}
+
+/* An overload of operator+ for adding gdb::unique_xmalloc_ptr<char> to a
+ std::string. */
+
+static inline std::string
+operator+ (const std::string &lhs, const gdb::unique_xmalloc_ptr<char> &rhs)
+{
+ return lhs + rhs.get ();
+}
+
#endif /* COMMON_GDB_UNIQUE_PTR_H */