diff options
author | Kevin Funk <kevin.funk@kdab.com> | 2015-08-13 20:58:42 +0200 |
---|---|---|
committer | Kevin Funk <kevin.funk@kdab.com> | 2015-08-27 07:31:06 +0000 |
commit | f72cbe39e06df893124695c05421cbe505abbd25 (patch) | |
tree | e5c555b61f77990d7e429e9255756b3cb8f9affa /src/corelib/tools/qbytearray.h | |
parent | 526d9b52ce966c0feeed95b20c024fd2b3026d3c (diff) |
QByteArray: Add append/prepend/insert overload
Use-case is fast insertion of copies of a character,
avoiding any temporary heap allocations
Change-Id: Ie5517d88429fbd4c58dbe5729de7c468d5d9a279
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/tools/qbytearray.h')
-rw-r--r-- | src/corelib/tools/qbytearray.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/corelib/tools/qbytearray.h b/src/corelib/tools/qbytearray.h index f0032227e8..cf310b3b1a 100644 --- a/src/corelib/tools/qbytearray.h +++ b/src/corelib/tools/qbytearray.h @@ -285,14 +285,17 @@ public: QByteArray rightJustified(int width, char fill = ' ', bool truncate = false) const Q_REQUIRED_RESULT; QByteArray &prepend(char c); + QByteArray &prepend(int count, char c); QByteArray &prepend(const char *s); QByteArray &prepend(const char *s, int len); QByteArray &prepend(const QByteArray &a); QByteArray &append(char c); + QByteArray &append(int count, char c); QByteArray &append(const char *s); QByteArray &append(const char *s, int len); QByteArray &append(const QByteArray &a); QByteArray &insert(int i, char c); + QByteArray &insert(int i, int count, char c); QByteArray &insert(int i, const char *s); QByteArray &insert(int i, const char *s, int len); QByteArray &insert(int i, const QByteArray &a); @@ -568,6 +571,10 @@ inline QByteArray::const_iterator QByteArray::cend() const { return d->data() + d->size; } inline QByteArray::const_iterator QByteArray::constEnd() const { return d->data() + d->size; } +inline QByteArray &QByteArray::append(int n, char ch) +{ return insert(d->size, n, ch); } +inline QByteArray &QByteArray::prepend(int n, char ch) +{ return insert(0, n, ch); } inline QByteArray &QByteArray::operator+=(char c) { return append(c); } inline QByteArray &QByteArray::operator+=(const char *s) |