diff options
Diffstat (limited to 'document')
-rw-r--r-- | document/src/tests/fieldsettest.cpp | 4 | ||||
-rw-r--r-- | document/src/vespa/document/base/field.h | 3 | ||||
-rw-r--r-- | document/src/vespa/document/base/fieldpath.cpp | 15 |
3 files changed, 14 insertions, 8 deletions
diff --git a/document/src/tests/fieldsettest.cpp b/document/src/tests/fieldsettest.cpp index af23e713735..8f77bfd2c0d 100644 --- a/document/src/tests/fieldsettest.cpp +++ b/document/src/tests/fieldsettest.cpp @@ -280,4 +280,8 @@ TEST(FieldCollectionTest, testHash ) { EXPECT_EQ(0x1e0918531b19734ul, FieldCollection(type, Field::Set::Builder().add(&type.getField("hstringval")).build()).hash()); } +TEST(FieldTest, testSizeOf) { + EXPECT_EQ(sizeof(Field), 96); +} + } // document diff --git a/document/src/vespa/document/base/field.h b/document/src/vespa/document/base/field.h index 3a0c9b82136..eb772131392 100644 --- a/document/src/vespa/document/base/field.h +++ b/document/src/vespa/document/base/field.h @@ -12,9 +12,9 @@ #pragma once #include <vespa/document/fieldset/fieldset.h> -#include <vespa/vespalib/objects/identifiable.h> #include <vespa/vespalib/objects/fieldbase.h> #include <set> +#include <vector> namespace document { @@ -22,7 +22,6 @@ class FieldValue; class DataType; class Field final : public vespalib::FieldBase, - public vespalib::Identifiable, public FieldSet { const DataType *_dataType; diff --git a/document/src/vespa/document/base/fieldpath.cpp b/document/src/vespa/document/base/fieldpath.cpp index 2606aa269ed..9b286255518 100644 --- a/document/src/vespa/document/base/fieldpath.cpp +++ b/document/src/vespa/document/base/fieldpath.cpp @@ -67,7 +67,8 @@ FieldPathEntry::FieldPathEntry(const DataType & dataType, const DataType& fillTy setFillValue(fillType); } -void FieldPathEntry::setFillValue(const DataType & dataType) +void +FieldPathEntry::setFillValue(const DataType & dataType) { const DataType * dt = & dataType; @@ -113,12 +114,14 @@ FieldPathEntry::FieldPathEntry(const DataType & dataType, vespalib::stringref va setFillValue(*_dataType); } -const DataType &FieldPathEntry::getDataType() const +const DataType & +FieldPathEntry::getDataType() const { return _field.valid() ? _field.getDataType() : *_dataType; } -FieldValue::UP FieldPathEntry::stealFieldValueToSet() const +FieldValue::UP +FieldPathEntry::stealFieldValueToSet() const { return FieldValue::UP(_fillInVal.release()); } @@ -128,7 +131,6 @@ FieldPathEntry::visitMembers(vespalib::ObjectVisitor &visitor) const { visit(visitor, "type", _type); visit(visitor, "name", _name); - visit(visitor, "fieldRef", _field); visit(visitor, "dataType", _dataType); visit(visitor, "lookupIndex", _lookupIndex); visit(visitor, "lookupKey", _lookupKey); @@ -136,7 +138,8 @@ FieldPathEntry::visitMembers(vespalib::ObjectVisitor &visitor) const visit(visitor, "fillInVal", _fillInVal); } -vespalib::string FieldPathEntry::parseKey(vespalib::stringref & key) +vespalib::string +FieldPathEntry::parseKey(vespalib::stringref & key) { vespalib::string v; const char *c = key.data(); @@ -186,7 +189,7 @@ FieldPath::FieldPath() FieldPath::FieldPath(const FieldPath &) = default; FieldPath & FieldPath::operator=(const FieldPath &) = default; -FieldPath::~FieldPath() { } +FieldPath::~FieldPath() = default; FieldPath::iterator FieldPath::insert(iterator pos, std::unique_ptr<FieldPathEntry> entry) { return _path.insert(pos, vespalib::CloneablePtr<FieldPathEntry>(entry.release())); |