summaryrefslogtreecommitdiffstats
path: root/document
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-01-22 14:18:44 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-01-23 05:56:45 +0000
commitca8545560297ee05c5d22eb4888613adbeb6e7f8 (patch)
treee2b13d0225457c1c0a3cfb5188ecc3c9adb37e3f /document
parent694e53f832e65010f246ba9ef4ab02796700c873 (diff)
Remove cloneability.
Diffstat (limited to 'document')
-rw-r--r--document/src/tests/documenttestcase.cpp6
-rw-r--r--document/src/vespa/document/fieldvalue/serializablearray.cpp17
-rw-r--r--document/src/vespa/document/fieldvalue/serializablearray.h14
-rw-r--r--document/src/vespa/document/fieldvalue/structfieldvalue.h4
4 files changed, 21 insertions, 20 deletions
diff --git a/document/src/tests/documenttestcase.cpp b/document/src/tests/documenttestcase.cpp
index 99aebe26720..a4d9c778bec 100644
--- a/document/src/tests/documenttestcase.cpp
+++ b/document/src/tests/documenttestcase.cpp
@@ -36,10 +36,10 @@ TEST(DocumentTest, testSizeOf)
EXPECT_EQ(32u, sizeof(vespalib::GrowableByteBuffer));
EXPECT_EQ(88ul, sizeof(IdString));
EXPECT_EQ(104ul, sizeof(DocumentId));
- EXPECT_EQ(248ul, sizeof(Document));
- EXPECT_EQ(112ul, sizeof(StructFieldValue));
+ EXPECT_EQ(240ul, sizeof(Document));
+ EXPECT_EQ(104ul, sizeof(StructFieldValue));
EXPECT_EQ(24ul, sizeof(StructuredFieldValue));
- EXPECT_EQ(64ul, sizeof(SerializableArray));
+ EXPECT_EQ(56ul, sizeof(SerializableArray));
}
TEST(DocumentTest, testFieldPath)
diff --git a/document/src/vespa/document/fieldvalue/serializablearray.cpp b/document/src/vespa/document/fieldvalue/serializablearray.cpp
index cb638b2a0b7..3851d8e2354 100644
--- a/document/src/vespa/document/fieldvalue/serializablearray.cpp
+++ b/document/src/vespa/document/fieldvalue/serializablearray.cpp
@@ -48,17 +48,24 @@ SerializableArray::SerializableArray(EntryMap entries, ByteBuffer::UP buffer,
}
}
+SerializableArray::SerializableArray(SerializableArray &&) noexcept = default;
+SerializableArray& SerializableArray::operator=(SerializableArray &&) noexcept = default;
+SerializableArray::~SerializableArray() = default;
+
+namespace {
+
serializablearray::BufferMap &
-ensure(std::unique_ptr<serializablearray::BufferMap> & owned) {
+ensure(std::unique_ptr<serializablearray::BufferMap> &owned) {
if (!owned) {
owned = std::make_unique<serializablearray::BufferMap>();
}
return *owned;
}
+}
+
SerializableArray::SerializableArray(const SerializableArray& other)
- : Cloneable(),
- _entries(other._entries),
+ : _entries(other._entries),
_owned(),
_uncompSerData(other._uncompSerData.get() ? new ByteBuffer(*other._uncompSerData) : nullptr),
_compSerData(other._compSerData.get() ? new ByteBuffer(*other._compSerData) : nullptr),
@@ -97,10 +104,6 @@ void SerializableArray::clear()
_uncompressedLength = 0;
}
-SerializableArray::SerializableArray(SerializableArray &&) noexcept = default;
-SerializableArray& SerializableArray::operator=(SerializableArray &&) noexcept = default;
-SerializableArray::~SerializableArray() = default;
-
void
SerializableArray::invalidate()
{
diff --git a/document/src/vespa/document/fieldvalue/serializablearray.h b/document/src/vespa/document/fieldvalue/serializablearray.h
index 12f3f28cdf7..11f228b3224 100644
--- a/document/src/vespa/document/fieldvalue/serializablearray.h
+++ b/document/src/vespa/document/fieldvalue/serializablearray.h
@@ -17,7 +17,6 @@
#pragma once
#include <vespa/vespalib/util/compressionconfig.h>
-#include <vespa/vespalib/objects/cloneable.h>
#include <vespa/vespalib/util/buffer.h>
#include <vespa/vespalib/util/memory.h>
#include <vector>
@@ -32,7 +31,7 @@ namespace serializablearray {
class BufferMap;
}
-class SerializableArray : public vespalib::Cloneable
+class SerializableArray
{
public:
/**
@@ -85,9 +84,13 @@ public:
using CompressionInfo = vespalib::compression::CompressionInfo;
SerializableArray();
+ SerializableArray(const SerializableArray&);
+ SerializableArray& operator=(const SerializableArray&);
+ SerializableArray(SerializableArray &&) noexcept;
+ SerializableArray& operator=(SerializableArray &&) noexcept;
SerializableArray(EntryMap entries, ByteBufferUP buffer,
CompressionConfig::Type comp_type, uint32_t uncompressed_length);
- ~SerializableArray() override;
+ ~SerializableArray();
/**
* Stores a value in the array.
@@ -136,11 +139,6 @@ public:
: _uncompSerData.get();
}
- SerializableArray* clone() const override { return new SerializableArray(*this); }
- SerializableArray(const SerializableArray&);
- SerializableArray& operator=(const SerializableArray&);
- SerializableArray(SerializableArray &&) noexcept;
- SerializableArray& operator=(SerializableArray &&) noexcept;
const EntryMap & getEntries() const { return _entries; }
private:
bool shouldDecompress() const {
diff --git a/document/src/vespa/document/fieldvalue/structfieldvalue.h b/document/src/vespa/document/fieldvalue/structfieldvalue.h
index 85912fe199a..8c9d2cc6bb2 100644
--- a/document/src/vespa/document/fieldvalue/structfieldvalue.h
+++ b/document/src/vespa/document/fieldvalue/structfieldvalue.h
@@ -39,8 +39,8 @@ public:
StructFieldValue(const DataType &type);
StructFieldValue(const StructFieldValue & rhs);
StructFieldValue & operator = (const StructFieldValue & rhs);
- StructFieldValue(StructFieldValue && rhs) = default;
- StructFieldValue & operator = (StructFieldValue && rhs) = default;
+ StructFieldValue(StructFieldValue && rhs) noexcept = default;
+ StructFieldValue & operator = (StructFieldValue && rhs) noexcept = default;
~StructFieldValue() override;
void setRepo(const DocumentTypeRepo & repo) { _repo = & repo; }