summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2018-07-03 10:47:28 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2018-07-03 10:47:28 +0200
commit5a4b218b010252f1a77c7016a63595bb8415a78b (patch)
tree42fff7116aaa372e3e76c3b3e56c7a45e0b68423 /common
parent33d131ee7c673cdddf5583d99f7101aaf9de301c (diff)
downloadsink-5a4b218b010252f1a77c7016a63595bb8415a78b.tar.gz
sink-5a4b218b010252f1a77c7016a63595bb8415a78b.zip
Document what copies and what doesn't
Diffstat (limited to 'common')
-rw-r--r--common/bufferutils.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/common/bufferutils.h b/common/bufferutils.h
index f0460b7..5439442 100644
--- a/common/bufferutils.h
+++ b/common/bufferutils.h
@@ -6,23 +6,28 @@
6 6
7namespace Sink { 7namespace Sink {
8namespace BufferUtils { 8namespace BufferUtils {
9
10//Does not copy the data
9template <typename T> 11template <typename T>
10static QByteArray extractBuffer(const T *data) 12static QByteArray extractBuffer(const T *data)
11{ 13{
12 return QByteArray::fromRawData(reinterpret_cast<char const *>(data->Data()), data->size()); 14 return QByteArray::fromRawData(reinterpret_cast<char const *>(data->Data()), data->size());
13} 15}
14 16
17//Returns a deep copy of the data
15template <typename T> 18template <typename T>
16static QByteArray extractBufferCopy(const T *data) 19static QByteArray extractBufferCopy(const T *data)
17{ 20{
18 return QByteArray(reinterpret_cast<char const *>(data->Data()), data->size()); 21 return QByteArray(reinterpret_cast<char const *>(data->Data()), data->size());
19} 22}
20 23
24//Does not copy the data
21static QByteArray extractBuffer(const flatbuffers::FlatBufferBuilder &fbb) 25static QByteArray extractBuffer(const flatbuffers::FlatBufferBuilder &fbb)
22{ 26{
23 return QByteArray::fromRawData(reinterpret_cast<char const *>(fbb.GetBufferPointer()), fbb.GetSize()); 27 return QByteArray::fromRawData(reinterpret_cast<char const *>(fbb.GetBufferPointer()), fbb.GetSize());
24} 28}
25 29
30//Returns a deep copy of the data
26static QList<QByteArray> fromVector(const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> &vector) 31static QList<QByteArray> fromVector(const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> &vector)
27{ 32{
28 QList<QByteArray> list; 33 QList<QByteArray> list;