From 573e336b4cf1961c7291902267855040e16e8049 Mon Sep 17 00:00:00 2001 From: skyjake Date: Tue, 16 Apr 2013 18:41:51 +0300 Subject: [PATCH] libdeng2: Added an operator+= for Block with IByteArray argument --- doomsday/libdeng2/include/de/data/block.h | 3 +++ doomsday/libdeng2/src/data/block.cpp | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/doomsday/libdeng2/include/de/data/block.h b/doomsday/libdeng2/include/de/data/block.h index ae9ea1b874..54f25c7703 100644 --- a/doomsday/libdeng2/include/de/data/block.h +++ b/doomsday/libdeng2/include/de/data/block.h @@ -87,6 +87,9 @@ class DENG2_PUBLIC Block : public QByteArray, public IByteArray, public IBlock /// Appends a block after this one. Block &operator += (Block const &other); + /// Appends a byte array after this one. + Block &operator += (IByteArray const &byteArray); + /// Copies the contents of another block. Block &operator = (Block const &other); diff --git a/doomsday/libdeng2/src/data/block.cpp b/doomsday/libdeng2/src/data/block.cpp index 1055525712..f2a518a738 100644 --- a/doomsday/libdeng2/src/data/block.cpp +++ b/doomsday/libdeng2/src/data/block.cpp @@ -118,6 +118,14 @@ Block &Block::operator += (Block const &other) return *this; } +Block &Block::operator += (IByteArray const &byteArray) +{ + Offset pos = size(); + resize(size() + byteArray.size()); + byteArray.get(0, data() + pos, byteArray.size()); + return *this; +} + Block &Block::operator = (Block const &other) { *static_cast(this) = static_cast(other);