diff options
Diffstat (limited to 'gdbsupport')
-rw-r--r-- | gdbsupport/gdb_unique_ptr.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gdbsupport/gdb_unique_ptr.h b/gdbsupport/gdb_unique_ptr.h index d8a87a3..51ee7a4 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 */ |