summaryrefslogtreecommitdiffstats
path: root/document
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2022-02-28 11:41:01 +0100
committerTor Egge <Tor.Egge@online.no>2022-02-28 11:41:01 +0100
commit075c28f6ce1f4f0f9199a9a15f8633d408accd0a (patch)
treec2db8d28e3740bc01be5af8f6dce7b5ce9ef6694 /document
parente0347064b1411fb294b2cd1a33e0b85f0d4d23e7 (diff)
Enable assignment of document::DocumentType::FieldSet.
Diffstat (limited to 'document')
-rw-r--r--document/src/vespa/document/datatype/documenttype.h2
-rw-r--r--document/src/vespa/document/fieldset/fieldsets.cpp2
-rw-r--r--document/src/vespa/document/fieldset/fieldsets.h6
3 files changed, 7 insertions, 3 deletions
diff --git a/document/src/vespa/document/datatype/documenttype.h b/document/src/vespa/document/datatype/documenttype.h
index bddc0a26e99..582cc25f1f1 100644
--- a/document/src/vespa/document/datatype/documenttype.h
+++ b/document/src/vespa/document/datatype/documenttype.h
@@ -34,6 +34,8 @@ public:
FieldSet(const FieldSet&) = default;
FieldSet(FieldSet&&) noexcept = default;
+ FieldSet& operator=(const FieldSet&) = default;
+ FieldSet& operator=(FieldSet&&) = default;
const vespalib::string & getName() const noexcept { return _name; }
const Fields & getFields() const noexcept { return _fields; }
diff --git a/document/src/vespa/document/fieldset/fieldsets.cpp b/document/src/vespa/document/fieldset/fieldsets.cpp
index 74dac80879a..0ed9ace7467 100644
--- a/document/src/vespa/document/fieldset/fieldsets.cpp
+++ b/document/src/vespa/document/fieldset/fieldsets.cpp
@@ -27,7 +27,7 @@ computeHash(const Field::Set & set) {
FieldCollection::FieldCollection(const DocumentType& type, Field::Set set)
: _set(std::move(set)),
_hash(computeHash(_set)),
- _docType(type)
+ _docType(&type)
{ }
FieldCollection::FieldCollection(const FieldCollection&) = default;
diff --git a/document/src/vespa/document/fieldset/fieldsets.h b/document/src/vespa/document/fieldset/fieldsets.h
index c92453cc67e..1a3559ecd95 100644
--- a/document/src/vespa/document/fieldset/fieldsets.h
+++ b/document/src/vespa/document/fieldset/fieldsets.h
@@ -54,17 +54,19 @@ public:
FieldCollection(const FieldCollection &);
FieldCollection(FieldCollection&&) = default;
~FieldCollection() override;
+ FieldCollection& operator=(const FieldCollection&) = default;
+ FieldCollection& operator=(FieldCollection&&) = default;
bool contains(const FieldSet& fields) const override;
Type getType() const override { return Type::SET; }
- const DocumentType& getDocumentType() const { return _docType; }
+ const DocumentType& getDocumentType() const { return *_docType; }
const Field::Set& getFields() const { return _set; }
uint64_t hash() const { return _hash; }
private:
Field::Set _set;
uint64_t _hash;
- const DocumentType& _docType;
+ const DocumentType* _docType;
};
}