summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2017-04-04 00:43:28 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2017-04-04 16:36:18 +0200
commit67e9b3bd5b22ae02c079e47e56ec9ad7fb7df402 (patch)
tree7ad1cac03d3dbe238537e34c75cd465d2c91f5e9
parentf65d05c33c1ff6654860900c8e464ff36263dcdc (diff)
Use override
-rw-r--r--config/src/vespa/config/configgen/map_inserter.h8
-rw-r--r--config/src/vespa/config/configgen/vector_inserter.h7
-rw-r--r--config/src/vespa/config/print/fileconfigreader.h6
-rw-r--r--config/src/vespa/config/print/fileconfigreader.hpp3
-rw-r--r--configgen/src/main/java/com/yahoo/config/codegen/CppClassBuilder.java10
-rw-r--r--document/src/vespa/document/base/documentid.h2
-rw-r--r--document/src/vespa/document/base/fieldpath.h4
-rw-r--r--document/src/vespa/document/base/idstring.h99
-rw-r--r--document/src/vespa/document/base/testdocrepo.cpp1
-rw-r--r--document/src/vespa/document/bucket/bucketidfactory.h4
-rw-r--r--document/src/vespa/document/bucket/bucketselector.cpp95
-rw-r--r--document/src/vespa/document/datatype/annotationreferencedatatype.h12
-rw-r--r--document/src/vespa/document/datatype/collectiondatatype.h5
-rw-r--r--document/src/vespa/document/datatype/datatype.h2
-rw-r--r--document/src/vespa/document/datatype/mapdatatype.h13
-rw-r--r--document/src/vespa/document/datatype/numericdatatype.h9
-rw-r--r--document/src/vespa/document/datatype/primitivedatatype.h13
-rw-r--r--document/src/vespa/document/datatype/structureddatatype.h8
-rw-r--r--document/src/vespa/document/datatype/weightedsetdatatype.cpp1
-rw-r--r--document/src/vespa/document/datatype/weightedsetdatatype.h22
-rw-r--r--document/src/vespa/document/fieldset/fieldsets.h111
-rw-r--r--document/src/vespa/document/fieldvalue/annotationreferencefieldvalue.h13
-rw-r--r--document/src/vespa/document/fieldvalue/arrayfieldvalue.cpp21
-rw-r--r--document/src/vespa/document/fieldvalue/arrayfieldvalue.h36
-rw-r--r--document/src/vespa/document/fieldvalue/bytefieldvalue.h9
-rw-r--r--document/src/vespa/document/fieldvalue/collectionfieldvalue.h4
-rw-r--r--document/src/vespa/document/fieldvalue/numericfieldvalue.h8
-rw-r--r--document/src/vespa/document/predicate/predicate.cpp2
-rw-r--r--document/src/vespa/document/predicate/predicate_builder.h16
-rw-r--r--document/src/vespa/document/predicate/predicate_printer.h14
-rw-r--r--document/src/vespa/document/predicate/predicate_slime_visitor.h20
-rw-r--r--document/src/vespa/document/select/branch.h50
-rw-r--r--document/src/vespa/document/select/result.h3
-rw-r--r--document/src/vespa/document/select/resultlist.h2
-rw-r--r--metrics/src/vespa/metrics/printutils.h2
-rw-r--r--slobrok/src/vespa/slobrok/server/remote_check.h3
-rw-r--r--slobrok/src/vespa/slobrok/server/sbenv.cpp6
-rw-r--r--slobrok/src/vespa/slobrok/server/slobrokserver.h3
-rw-r--r--staging_vespalib/src/vespa/vespalib/objects/identifiable.h38
-rw-r--r--staging_vespalib/src/vespa/vespalib/util/polymorphicarrays.h20
-rw-r--r--storageframework/src/vespa/storageframework/defaultimplementation/component/componentregisterimpl.h12
-rw-r--r--storageframework/src/vespa/storageframework/defaultimplementation/memory/memorymanager.h10
-rw-r--r--storageframework/src/vespa/storageframework/defaultimplementation/thread/threadimpl.h26
43 files changed, 296 insertions, 457 deletions
diff --git a/config/src/vespa/config/configgen/map_inserter.h b/config/src/vespa/config/configgen/map_inserter.h
index 75238df912a..8a061a6759c 100644
--- a/config/src/vespa/config/configgen/map_inserter.h
+++ b/config/src/vespa/config/configgen/map_inserter.h
@@ -1,10 +1,10 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <memory>
-#include <vespa/vespalib/stllike/string.h>
-#include <vespa/vespalib/data/slime/slime.h>
#include "value_converter.h"
+#include <vespa/vespalib/data/slime/object_traverser.h>
+#include <vespa/vespalib/stllike/string.h>
+
#include <map>
namespace config {
@@ -15,7 +15,7 @@ template<typename T, typename Converter = config::internal::ValueConverter<T> >
class MapInserter : public ::vespalib::slime::ObjectTraverser {
public:
MapInserter(std::map<vespalib::string, T> & map);
- void field(const ::vespalib::Memory & symbol, const ::vespalib::slime::Inspector & inspector);
+ void field(const ::vespalib::Memory & symbol, const ::vespalib::slime::Inspector & inspector) override;
private:
std::map<vespalib::string, T> & _map;
};
diff --git a/config/src/vespa/config/configgen/vector_inserter.h b/config/src/vespa/config/configgen/vector_inserter.h
index 36d324f3555..1de4679714c 100644
--- a/config/src/vespa/config/configgen/vector_inserter.h
+++ b/config/src/vespa/config/configgen/vector_inserter.h
@@ -1,10 +1,9 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <memory>
-#include <vespa/vespalib/stllike/string.h>
-#include <vespa/vespalib/data/slime/slime.h>
#include "value_converter.h"
+#include <vespa/vespalib/data/slime/array_traverser.h>
+#include <vespa/vespalib/stllike/string.h>
namespace config {
@@ -14,7 +13,7 @@ template<typename T, typename Converter = ::config::internal::ValueConverter<T>
class VectorInserter : public ::vespalib::slime::ArrayTraverser {
public:
VectorInserter(std::vector<T> & vector);
- void entry(size_t idx, const ::vespalib::slime::Inspector & inspector);
+ void entry(size_t idx, const ::vespalib::slime::Inspector & inspector) override;
private:
std::vector<T> & _vector;
};
diff --git a/config/src/vespa/config/print/fileconfigreader.h b/config/src/vespa/config/print/fileconfigreader.h
index 6b5f14b4318..e3221403c1c 100644
--- a/config/src/vespa/config/print/fileconfigreader.h
+++ b/config/src/vespa/config/print/fileconfigreader.h
@@ -1,10 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <vespa/vespalib/stllike/asciistream.h>
-#include <vespa/config/common/misc.h>
-#include <vespa/config/common/configvalue.h>
-#include <vespa/vespalib/util/exceptions.h>
#include "configreader.h"
namespace config {
@@ -15,7 +11,7 @@ public:
FileConfigReader(const vespalib::string & fileName);
// Implements ConfigReader
- std::unique_ptr<ConfigType> read(const ConfigFormatter & formatter);
+ std::unique_ptr<ConfigType> read(const ConfigFormatter & formatter) override;
/**
* Read config from this file using old config format.
diff --git a/config/src/vespa/config/print/fileconfigreader.hpp b/config/src/vespa/config/print/fileconfigreader.hpp
index f5ab49da240..b677e379c28 100644
--- a/config/src/vespa/config/print/fileconfigreader.hpp
+++ b/config/src/vespa/config/print/fileconfigreader.hpp
@@ -1,6 +1,9 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "fileconfigreader.h"
#include <vespa/config/common/exceptions.h>
+#include <vespa/config/common/misc.h>
+#include <vespa/vespalib/util/exceptions.h>
#include <fstream>
#include <sstream>
diff --git a/configgen/src/main/java/com/yahoo/config/codegen/CppClassBuilder.java b/configgen/src/main/java/com/yahoo/config/codegen/CppClassBuilder.java
index 7e0ddcd1270..eb17fab5fdb 100644
--- a/configgen/src/main/java/com/yahoo/config/codegen/CppClassBuilder.java
+++ b/configgen/src/main/java/com/yahoo/config/codegen/CppClassBuilder.java
@@ -296,7 +296,7 @@ public class CppClassBuilder implements ClassBuilder {
void writeHeaderFunctionDeclarations(Writer w, String className, CNode node, String indent) throws IOException {
w.write(""
+ indent + "const vespalib::string & defName() const override { return CONFIG_DEF_NAME; }\n"
- + indent + "const vespalib::string & defVersion() const override { return CONFIG_DEF_VERSION; }\n"
+ + indent + "const vespalib::string & defVersion() const { return CONFIG_DEF_VERSION; }\n"
+ indent + "const vespalib::string & defMd5() const override { return CONFIG_DEF_MD5; }\n"
+ indent + "const vespalib::string & defNamespace() const override { return CONFIG_DEF_NAMESPACE; }\n"
+ indent + "void serialize(::config::ConfigDataBuffer & __buffer) const override;\n");
@@ -560,13 +560,13 @@ public class CppClassBuilder implements ClassBuilder {
w.write("#include <" + subdir + "/" + getFileName(root, "h") + ">");
}
w.write("\n");
- w.write("#include <set>\n");
w.write("#include <vespa/config/common/configparser.h>\n");
- w.write("#include <vespa/vespalib/data/slime/convenience.h>\n");
- w.write("#include <vespa/vespalib/stllike/asciistream.h>\n");
- w.write("#include <vespa/vespalib/stllike/asciistream.h>\n");
w.write("#include <vespa/config/configgen/vector_inserter.h>\n");
w.write("#include <vespa/config/configgen/map_inserter.h>\n");
+ w.write("#include <vespa/vespalib/data/slime/convenience.h>\n");
+ w.write("#include <vespa/vespalib/data/slime/slime.h>\n");
+ w.write("#include <vespa/vespalib/stllike/asciistream.h>\n");
+ w.write("#include <set>\n");
w.write("\n\n");
writeNameSpaceBegin(w, generateCppNameSpace(root));
w.write("\n");
diff --git a/document/src/vespa/document/base/documentid.h b/document/src/vespa/document/base/documentid.h
index 858fdf56dde..f64418e5b8f 100644
--- a/document/src/vespa/document/base/documentid.h
+++ b/document/src/vespa/document/base/documentid.h
@@ -56,7 +56,7 @@ public:
vespalib::string toString() const;
void print(std::ostream& out, bool verbose,
- const std::string& indent) const;
+ const std::string& indent) const override;
bool operator==(const DocumentId& other) const { return *_id == *other._id; }
bool operator!=(const DocumentId& other) const { return ! (*_id == *other._id); }
diff --git a/document/src/vespa/document/base/fieldpath.h b/document/src/vespa/document/base/fieldpath.h
index db009f57e43..c795aa48950 100644
--- a/document/src/vespa/document/base/fieldpath.h
+++ b/document/src/vespa/document/base/fieldpath.h
@@ -84,7 +84,7 @@ public:
FieldValue * getFieldValueToSetPtr() const { return _fillInVal.get(); }
FieldValue& getFieldValueToSet() const { return *_fillInVal; }
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
/**
* Parses a string of the format {["]escaped string["]} to its unescaped value.
* @param key is the incoming value, and contains what is left when done.
@@ -156,7 +156,7 @@ public:
return _path[i];
}
- FieldPath* clone() const {
+ FieldPath* clone() const override {
return new FieldPath(*this);
}
diff --git a/document/src/vespa/document/base/idstring.h b/document/src/vespa/document/base/idstring.h
index 6cdb5f3df52..f1a96974cc9 100644
--- a/document/src/vespa/document/base/idstring.h
+++ b/document/src/vespa/document/base/idstring.h
@@ -41,8 +41,8 @@ public:
static IdString::UP createIdString(const vespalib::stringref & id) { return createIdString(id.c_str(), id.size()); }
static IdString::UP createIdString(const char *id, size_t sz);
- virtual ~IdString() {}
- IdString* clone() const = 0;
+ ~IdString() {}
+ IdString* clone() const override = 0;
virtual Type getType() const = 0;
vespalib::stringref getNamespace() const { return getComponent(0); }
@@ -87,15 +87,15 @@ private:
vespalib::string _rawId;
};
-class NullIdString : public IdString
+class NullIdString final : public IdString
{
public:
NullIdString() : IdString(2, 5, "null::") { }
private:
- IdString* clone() const { return new NullIdString(); }
- virtual LocationType getLocation() const { return 0; }
- virtual Type getType() const { return NULLID; }
- virtual vespalib::stringref getNamespaceSpecific() const { return getComponent(1); }
+ IdString* clone() const override { return new NullIdString(); }
+ LocationType getLocation() const override { return 0; }
+ Type getType() const override { return NULLID; }
+ vespalib::stringref getNamespaceSpecific() const override { return getComponent(1); }
};
/**
@@ -108,7 +108,7 @@ private:
* as the location of a doc identifier is a hash of the entire URI.
* This scheme also contains the DocumentType.
*/
-class IdIdString : public IdString {
+class IdIdString final : public IdString {
LocationType _location;
uint16_t _groupOffset;
bool _has_number;
@@ -116,19 +116,20 @@ class IdIdString : public IdString {
public:
IdIdString(const vespalib::stringref &ns);
- virtual bool hasDocType() const { return true; }
- virtual vespalib::stringref getDocType() const { return getComponent(1); }
- virtual IdIdString* clone() const { return new IdIdString(*this); }
- virtual LocationType getLocation() const { return _location; }
- virtual bool hasNumber() const { return _has_number; }
- virtual uint64_t getNumber() const { return _location; }
- virtual bool hasGroup() const { return _groupOffset != 0; }
-
- virtual vespalib::stringref getGroup() const { return vespalib::stringref(getRawId().c_str() + _groupOffset, offset(3) - _groupOffset - 1); }
+ bool hasDocType() const override { return true; }
+ vespalib::stringref getDocType() const override { return getComponent(1); }
+ IdIdString* clone() const override { return new IdIdString(*this); }
+ LocationType getLocation() const override { return _location; }
+ bool hasNumber() const override { return _has_number; }
+ uint64_t getNumber() const override { return _location; }
+ bool hasGroup() const override { return _groupOffset != 0; }
+ vespalib::stringref getGroup() const override {
+ return vespalib::stringref(getRawId().c_str() + _groupOffset, offset(3) - _groupOffset - 1);
+ }
private:
- virtual void validate() const;
- virtual Type getType() const { return ID; }
- virtual vespalib::stringref getNamespaceSpecific() const { return getComponent(3); }
+ virtual void validate() const override;
+ Type getType() const override { return ID; }
+ vespalib::stringref getNamespaceSpecific() const override { return getComponent(3); }
};
/**
@@ -140,15 +141,15 @@ private:
* By using this scheme, documents will be evenly distributed within VDS,
* as the location of a doc identifier is a hash of the entire URI.
*/
-class DocIdString : public IdString {
+class DocIdString final : public IdString {
public:
DocIdString(const vespalib::stringref & ns, const vespalib::stringref & id);
DocIdString(const vespalib::stringref & rawId);
private:
- virtual DocIdString* clone() const { return new DocIdString(*this); }
- virtual Type getType() const { return DOC; }
- virtual LocationType getLocation() const;
- virtual vespalib::stringref getNamespaceSpecific() const { return getComponent(1); }
+ DocIdString* clone() const override { return new DocIdString(*this); }
+ Type getType() const override { return DOC; }
+ LocationType getLocation() const override;
+ vespalib::stringref getNamespaceSpecific() const override { return getComponent(1); }
};
/**
@@ -161,19 +162,19 @@ private:
* name "userdoc" is purely syntactical; Vespa does not care what the source
* of the number is.
*/
-class UserDocIdString : public IdString {
+class UserDocIdString final : public IdString {
public:
UserDocIdString(const vespalib::stringref & rawId);
virtual int64_t getUserId() const { return _userId; }
- virtual bool hasNumber() const { return true; }
- uint64_t getNumber() const { return _userId; }
- virtual LocationType getLocation() const { return _userId; }
+ bool hasNumber() const override { return true; }
+ uint64_t getNumber() const override { return _userId; }
+ LocationType getLocation() const override { return _userId; }
private:
- virtual UserDocIdString* clone() const { return new UserDocIdString(*this); }
- virtual Type getType() const { return USERDOC; }
- virtual vespalib::stringref getNamespaceSpecific() const { return getComponent(2); }
+ UserDocIdString* clone() const override { return new UserDocIdString(*this); }
+ Type getType() const override { return USERDOC; }
+ vespalib::stringref getNamespaceSpecific() const override { return getComponent(2); }
int64_t _userId;
};
@@ -183,7 +184,7 @@ private:
* \ingroup base
* \brief Scheme for distributing documents based on a group and a parametrized ordering.
*/
-class OrderDocIdString : public IdString {
+class OrderDocIdString final : public IdString {
public:
OrderDocIdString(const vespalib::stringref& rawId);
@@ -191,18 +192,18 @@ public:
uint16_t getWidthBits() const { return _widthBits; }
uint16_t getDivisionBits() const { return _divisionBits; }
uint64_t getOrdering() const { return _ordering; }
- std::pair<int16_t, int64_t> getGidBitsOverride() const;
- vespalib::string getSchemeName() const;
- virtual bool hasNumber() const { return true; }
- uint64_t getNumber() const { return _location; }
- virtual bool hasGroup() const { return true; }
- virtual vespalib::stringref getGroup() const { return getComponent(1); }
+ std::pair<int16_t, int64_t> getGidBitsOverride() const override;
+ vespalib::string getSchemeName() const override;
+ bool hasNumber() const override { return true; }
+ uint64_t getNumber() const override { return _location; }
+ bool hasGroup() const override { return true; }
+ vespalib::stringref getGroup() const override { return getComponent(1); }
private:
- virtual LocationType getLocation() const { return _location; }
- virtual OrderDocIdString* clone() const { return new OrderDocIdString(*this); }
- virtual Type getType() const { return ORDERDOC; }
- virtual vespalib::stringref getNamespaceSpecific() const { return getComponent(3); }
+ LocationType getLocation() const override { return _location; }
+ OrderDocIdString* clone() const override { return new OrderDocIdString(*this); }
+ Type getType() const override { return ORDERDOC; }
+ vespalib::stringref getNamespaceSpecific() const override { return getComponent(3); }
LocationType _location;
uint16_t _widthBits;
@@ -221,9 +222,9 @@ private:
class GroupDocIdString : public IdString {
public:
GroupDocIdString(const vespalib::stringref & rawId);
- virtual bool hasGroup() const { return true; }
- virtual vespalib::stringref getGroup() const { return getComponent(1); }
- virtual LocationType getLocation() const;
+ bool hasGroup() const override { return true; }
+ vespalib::stringref getGroup() const override { return getComponent(1); }
+ LocationType getLocation() const override;
/**
* Extract the location for the group-specific part of a document ID.
@@ -232,9 +233,9 @@ public:
static LocationType locationFromGroupName(vespalib::stringref name);
private:
- virtual vespalib::stringref getNamespaceSpecific() const { return getComponent(2); }
- virtual GroupDocIdString* clone() const { return new GroupDocIdString(*this); }
- virtual Type getType() const { return GROUPDOC; }
+ vespalib::stringref getNamespaceSpecific() const override { return getComponent(2); }
+ GroupDocIdString* clone() const override { return new GroupDocIdString(*this); }
+ Type getType() const override { return GROUPDOC; }
};
} // document
diff --git a/document/src/vespa/document/base/testdocrepo.cpp b/document/src/vespa/document/base/testdocrepo.cpp
index 2a844950eb0..6b010af383d 100644
--- a/document/src/vespa/document/base/testdocrepo.cpp
+++ b/document/src/vespa/document/base/testdocrepo.cpp
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "testdocrepo.h"
-#include <vespa/document/config/config-documenttypes.h>
#include <vespa/document/datatype/documenttype.h>
#include <vespa/document/repo/configbuilder.h>
#include <vespa/config/print/fileconfigreader.h>
diff --git a/document/src/vespa/document/bucket/bucketidfactory.h b/document/src/vespa/document/bucket/bucketidfactory.h
index fb4fc919fed..f163b28efec 100644
--- a/document/src/vespa/document/bucket/bucketidfactory.h
+++ b/document/src/vespa/document/bucket/bucketidfactory.h
@@ -35,9 +35,7 @@ public:
BucketIdFactory();
BucketId getBucketId(const DocumentId&) const;
-
- void print(std::ostream& out, bool verbose,
- const std::string& indent) const;
+ void print(std::ostream& out, bool verbose, const std::string& indent) const override;
private:
void initializeMasks();
diff --git a/document/src/vespa/document/bucket/bucketselector.cpp b/document/src/vespa/document/bucket/bucketselector.cpp
index 19aec7d7bf8..8b5e7ada91b 100644
--- a/document/src/vespa/document/bucket/bucketselector.cpp
+++ b/document/src/vespa/document/bucket/bucketselector.cpp
@@ -3,13 +3,11 @@
#include "bucketselector.h"
#include "bucketidfactory.h"
#include <vespa/document/base/documentid.h>
-#include <vespa/document/base/idstring.h>
#include <vespa/document/select/node.h>
#include <vespa/document/select/valuenode.h>
#include <vespa/document/select/visitor.h>
#include <vespa/document/select/branch.h>
#include <vespa/document/select/compare.h>
-#include <algorithm>
namespace document {
@@ -31,7 +29,7 @@ using namespace document::select;
BucketVisitor(const BucketIdFactory& factory)
: _factory(factory), _buckets(), _unknown(true) {}
- void visitAndBranch(const document::select::And& node) {
+ void visitAndBranch(const document::select::And& node) override {
BucketVisitor left(_factory);
node.getLeft().visit(left);
node.getRight().visit(*this);
@@ -53,7 +51,7 @@ using namespace document::select;
return;
}
- void visitOrBranch(const document::select::Or& node) {
+ void visitOrBranch(const document::select::Or& node) override {
BucketVisitor left(_factory);
node.getLeft().visit(left);
node.getRight().visit(*this);
@@ -70,7 +68,7 @@ using namespace document::select;
_buckets.swap(result);
}
- void visitNotBranch(const document::select::Not&) {
+ void visitNotBranch(const document::select::Not&) override {
// Since selected locations doesn't include everything at that
// location, we can't reverse the selection. Any NOT branch must
// end up specifying all
@@ -158,7 +156,7 @@ using namespace document::select;
}
}
- void visitComparison(const document::select::Compare& node) {
+ void visitComparison(const document::select::Compare& node) override {
if (node.getOperator() != document::select::FunctionOperator::EQ &&
node.getOperator() != document::select::GlobOperator::GLOB)
{
@@ -181,76 +179,21 @@ using namespace document::select;
}
}
- void visitConstant(const document::select::Constant&) {
- }
-
- virtual void
- visitInvalidConstant(const document::select::InvalidConstant &)
- {
- }
-
- void visitDocumentType(const document::select::DocType&) {
- }
-
- virtual void
- visitArithmeticValueNode(const ArithmeticValueNode &)
- {
- }
-
- virtual void
- visitFunctionValueNode(const FunctionValueNode &)
- {
- }
-
- virtual void
- visitIdValueNode(const IdValueNode &)
- {
- }
-
- virtual void
- visitSearchColumnValueNode(const SearchColumnValueNode &)
- {
- }
-
- virtual void
- visitFieldValueNode(const FieldValueNode &)
- {
- }
-
- virtual void
- visitFloatValueNode(const FloatValueNode &)
- {
- }
-
- virtual void
- visitVariableValueNode(const VariableValueNode &)
- {
- }
-
- virtual void
- visitIntegerValueNode(const IntegerValueNode &)
- {
- }
-
- virtual void
- visitCurrentTimeValueNode(const CurrentTimeValueNode &)
- {
- }
-
- virtual void
- visitStringValueNode(const StringValueNode &)
- {
- }
-
- virtual void
- visitNullValueNode(const NullValueNode &)
- {
- }
-
- virtual void
- visitInvalidValueNode(const InvalidValueNode &)
- {
- }
+ void visitConstant(const document::select::Constant&) override {}
+ void visitInvalidConstant(const document::select::InvalidConstant &) override {}
+ void visitDocumentType(const document::select::DocType&) override {}
+ void visitArithmeticValueNode(const ArithmeticValueNode &) override {}
+ void visitFunctionValueNode(const FunctionValueNode &) override {}
+ void visitIdValueNode(const IdValueNode &) override {}
+ void visitSearchColumnValueNode(const SearchColumnValueNode &) override {}
+ void visitFieldValueNode(const FieldValueNode &) override {}
+ void visitFloatValueNode(const FloatValueNode &) override {}
+ void visitVariableValueNode(const VariableValueNode &) override {}
+ void visitIntegerValueNode(const IntegerValueNode &) override {}
+ void visitCurrentTimeValueNode(const CurrentTimeValueNode &) override {}
+ void visitStringValueNode(const StringValueNode &) override {}
+ void visitNullValueNode(const NullValueNode &) override {}
+ void visitInvalidValueNode(const InvalidValueNode &) override {}
};
//}
diff --git a/document/src/vespa/document/datatype/annotationreferencedatatype.h b/document/src/vespa/document/datatype/annotationreferencedatatype.h
index 498c931f715..b340a3199ab 100644
--- a/document/src/vespa/document/datatype/annotationreferencedatatype.h
+++ b/document/src/vespa/document/datatype/annotationreferencedatatype.h
@@ -3,8 +3,7 @@
#pragma once
#include "annotationtype.h"
-#include <memory>
-#include <vespa/document/datatype/datatype.h>
+#include "datatype.h"
namespace document {
@@ -18,11 +17,10 @@ public:
AnnotationReferenceDataType(const AnnotationType &type, int id);
const AnnotationType &getAnnotationType() const;
- virtual void print(std::ostream &out, bool verbose,
- const std::string &indent) const;
- virtual AnnotationReferenceDataType *clone() const;
- virtual std::unique_ptr<FieldValue> createFieldValue() const;
- virtual FieldPath::UP onBuildFieldPath(const vespalib::stringref &remainFieldName) const;
+ void print(std::ostream &out, bool verbose, const std::string &indent) const override;
+ AnnotationReferenceDataType *clone() const override;
+ std::unique_ptr<FieldValue> createFieldValue() const override;
+ FieldPath::UP onBuildFieldPath(const vespalib::stringref &remainFieldName) const override;
DECLARE_IDENTIFIABLE(AnnotationReferenceDataType);
};
diff --git a/document/src/vespa/document/datatype/collectiondatatype.h b/document/src/vespa/document/datatype/collectiondatatype.h
index 59fbe2c6d5a..e4f40bc93c4 100644
--- a/document/src/vespa/document/datatype/collectiondatatype.h
+++ b/document/src/vespa/document/datatype/collectiondatatype.h
@@ -26,10 +26,9 @@ protected:
const DataType &nestedType, int32_t id);
public:
- virtual ~CollectionDataType();
-
- bool operator==(const DataType&) const;
+ ~CollectionDataType();
+ bool operator==(const DataType&) const override;
const DataType &getNestedType() const { return *_nestedType; }
DECLARE_IDENTIFIABLE_ABSTRACT(CollectionDataType);
diff --git a/document/src/vespa/document/datatype/datatype.h b/document/src/vespa/document/datatype/datatype.h
index fbcfd767b0c..19e8998fd96 100644
--- a/document/src/vespa/document/datatype/datatype.h
+++ b/document/src/vespa/document/datatype/datatype.h
@@ -110,7 +110,7 @@ public:
* Create a field value using this datatype.
*/
virtual std::unique_ptr<FieldValue> createFieldValue() const = 0;
- virtual DataType* clone() const = 0;
+ virtual DataType* clone() const override = 0;
/**
* Whether another datatype is a supertype of this one. Document types may
diff --git a/document/src/vespa/document/datatype/mapdatatype.h b/document/src/vespa/document/datatype/mapdatatype.h
index d48f2d80f38..c3bcf6479a9 100644
--- a/document/src/vespa/document/datatype/mapdatatype.h
+++ b/document/src/vespa/document/datatype/mapdatatype.h
@@ -7,7 +7,7 @@
*/
#pragma once
-#include <vespa/document/datatype/datatype.h>
+#include "datatype.h"
namespace document {
@@ -23,14 +23,13 @@ public:
const DataType& getKeyType() const { return *_keyType; }
const DataType& getValueType() const { return *_valueType; }
- virtual std::unique_ptr<FieldValue> createFieldValue() const;
- virtual void print(std::ostream&, bool verbose,
- const std::string& indent) const;
- virtual bool operator==(const DataType& other) const;
- virtual MapDataType* clone() const { return new MapDataType(*this); }
+ std::unique_ptr<FieldValue> createFieldValue() const override;
+ void print(std::ostream&, bool verbose, const std::string& indent) const override;
+ bool operator==(const DataType& other) const override;
+ MapDataType* clone() const override { return new MapDataType(*this); }
FieldPath::UP onBuildFieldPath(
- const vespalib::stringref &remainFieldName) const;
+ const vespalib::stringref &remainFieldName) const override;
static FieldPath::UP buildFieldPathImpl(
const DataType& dataType,
const vespalib::stringref &remainFieldName,
diff --git a/document/src/vespa/document/datatype/numericdatatype.h b/document/src/vespa/document/datatype/numericdatatype.h
index cde5ac108ba..02cf037fa78 100644
--- a/document/src/vespa/document/datatype/numericdatatype.h
+++ b/document/src/vespa/document/datatype/numericdatatype.h
@@ -11,7 +11,7 @@
*/
#pragma once
-#include <vespa/document/datatype/primitivedatatype.h>
+#include "primitivedatatype.h"
namespace document {
@@ -19,11 +19,8 @@ class NumericDataType : public PrimitiveDataType {
public:
NumericDataType(Type type);
- // Implementation of PrimitiveDataType
- virtual NumericDataType* clone() const
- { return new NumericDataType(*this); }
- virtual void print(std::ostream&, bool verbose,
- const std::string& indent) const;
+ NumericDataType* clone() const override { return new NumericDataType(*this); }
+ void print(std::ostream&, bool verbose, const std::string& indent) const override;
DECLARE_IDENTIFIABLE_ABSTRACT(NumericDataType);
};
diff --git a/document/src/vespa/document/datatype/primitivedatatype.h b/document/src/vespa/document/datatype/primitivedatatype.h
index e3b105a8597..7212ac0c797 100644
--- a/document/src/vespa/document/datatype/primitivedatatype.h
+++ b/document/src/vespa/document/datatype/primitivedatatype.h
@@ -15,21 +15,18 @@
*/
#pragma once
-#include <vespa/document/datatype/datatype.h>
+#include "datatype.h"
namespace document {
class PrimitiveDataType : public DataType {
- virtual FieldPath::UP onBuildFieldPath(
- const vespalib::stringref & remainFieldName) const;
+ FieldPath::UP onBuildFieldPath(const vespalib::stringref & remainFieldName) const override;
public:
PrimitiveDataType(Type _type);
- // Implementation of DataType
- virtual std::unique_ptr<FieldValue> createFieldValue() const;
- virtual PrimitiveDataType* clone() const
- { return new PrimitiveDataType(*this); }
- virtual void print(std::ostream&, bool verbose, const std::string& indent) const;
+ std::unique_ptr<FieldValue> createFieldValue() const override;
+ PrimitiveDataType* clone() const override { return new PrimitiveDataType(*this); }
+ void print(std::ostream&, bool verbose, const std::string& indent) const override;
DECLARE_IDENTIFIABLE_ABSTRACT(PrimitiveDataType);
};
diff --git a/document/src/vespa/document/datatype/structureddatatype.h b/document/src/vespa/document/datatype/structureddatatype.h
index 5e93c1da73d..2c7956a8cb9 100644
--- a/document/src/vespa/document/datatype/structureddatatype.h
+++ b/document/src/vespa/document/datatype/structureddatatype.h
@@ -10,8 +10,8 @@
*/
#pragma once
+#include "datatype.h"
#include <vespa/document/base/field.h>
-#include <vespa/document/datatype/datatype.h>
namespace document {
@@ -38,9 +38,8 @@ public:
virtual Field::Set getFieldSet() const = 0;
- // Implementation of DataType
- virtual StructuredDataType* clone() const = 0;
- virtual bool operator==(const DataType& type) const;
+ virtual StructuredDataType* clone() const override = 0;
+ bool operator==(const DataType& type) const override;
static int32_t createId(const vespalib::stringref &name);
@@ -49,4 +48,3 @@ public:
};
}
-
diff --git a/document/src/vespa/document/datatype/weightedsetdatatype.cpp b/document/src/vespa/document/datatype/weightedsetdatatype.cpp
index 96dcca60976..f27c2cd01ad 100644
--- a/document/src/vespa/document/datatype/weightedsetdatatype.cpp
+++ b/document/src/vespa/document/datatype/weightedsetdatatype.cpp
@@ -1,7 +1,6 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "weightedsetdatatype.h"
-
#include "primitivedatatype.h"
#include <vespa/document/fieldvalue/weightedsetfieldvalue.h>
#include <vespa/vespalib/stllike/asciistream.h>
diff --git a/document/src/vespa/document/datatype/weightedsetdatatype.h b/document/src/vespa/document/datatype/weightedsetdatatype.h
index fcb8b982463..0d4954d1d80 100644
--- a/document/src/vespa/document/datatype/weightedsetdatatype.h
+++ b/document/src/vespa/document/datatype/weightedsetdatatype.h
@@ -11,7 +11,7 @@
*/
#pragma once
-#include <vespa/document/datatype/collectiondatatype.h>
+#include "collectiondatatype.h"
namespace document {
@@ -21,10 +21,8 @@ class WeightedSetDataType : public CollectionDataType {
public:
WeightedSetDataType() {}
- WeightedSetDataType(const DataType& nestedType,
- bool createIfNonExistent, bool removeIfZero);
- WeightedSetDataType(const DataType& nestedType,
- bool createIfNonExistent, bool removeIfZero, int id);
+ WeightedSetDataType(const DataType& nestedType, bool createIfNonExistent, bool removeIfZero);
+ WeightedSetDataType(const DataType& nestedType, bool createIfNonExistent, bool removeIfZero, int id);
/**
* @return Whether values of this datatype will autogenerate entries if
@@ -38,15 +36,11 @@ public:
*/
bool removeIfZero() const { return _removeIfZero; };
- // CollectionDataType implementation
- virtual std::unique_ptr<FieldValue> createFieldValue() const;
- virtual void print(std::ostream&, bool verbose,
- const std::string& indent) const;
- virtual bool operator==(const DataType& other) const;
- virtual WeightedSetDataType* clone() const
- { return new WeightedSetDataType(*this); }
-
- FieldPath::UP onBuildFieldPath(const vespalib::stringref &remainFieldName) const;
+ std::unique_ptr<FieldValue> createFieldValue() const override;
+ void print(std::ostream&, bool verbose, const std::string& indent) const override;
+ bool operator==(const DataType& other) const override;
+ WeightedSetDataType* clone() const override { return new WeightedSetDataType(*this); }
+ FieldPath::UP onBuildFieldPath(const vespalib::stringref &remainFieldName) const override;
DECLARE_IDENTIFIABLE(WeightedSetDataType);
};
diff --git a/document/src/vespa/document/fieldset/fieldsets.h b/document/src/vespa/document/fieldset/fieldsets.h
index 1212b10d0b1..5b34ae9e979 100644
--- a/document/src/vespa/document/fieldset/fieldsets.h
+++ b/document/src/vespa/document/fieldset/fieldsets.h
@@ -5,97 +5,46 @@
namespace document {
-class AllFields : public FieldSet
+class AllFields final : public FieldSet
{
public:
- virtual bool contains(const FieldSet&) const {
- return true;
- }
-
- /**
- * @return Returns the type of field set this is.
- */
- virtual Type getType() const {
- return ALL;
- }
-
- virtual FieldSet* clone() const {
- return new AllFields();
- }
+ bool contains(const FieldSet&) const override { return true; }
+ Type getType() const override { return ALL; }
+ FieldSet* clone() const override { return new AllFields(); }
};
-class NoFields : public FieldSet
+class NoFields final : public FieldSet
{
public:
- virtual bool contains(const FieldSet& f) const {
- return f.getType() == NONE;
- }
-
- /**
- * @return Returns the type of field set this is.
- */
- virtual Type getType() const {
- return NONE;
- }
-
- virtual FieldSet* clone() const {
- return new NoFields();
- }
+ bool contains(const FieldSet& f) const override { return f.getType() == NONE; }
+ Type getType() const override { return NONE; }
+ FieldSet* clone() const override { return new NoFields(); }
};
-class DocIdOnly : public FieldSet
+class DocIdOnly final : public FieldSet
{
public:
- virtual bool contains(const FieldSet& fields) const {
+ bool contains(const FieldSet& fields) const override {
return fields.getType() == DOCID || fields.getType() == NONE;
}
-
- /**
- * @return Returns the type of field set this is.
- */
- virtual Type getType() const {
- return DOCID;
- }
-
- virtual FieldSet* clone() const {
- return new DocIdOnly();
- }
-
+ Type getType() const override { return DOCID; }
+ FieldSet* clone() const override { return new DocIdOnly(); }
};
-class HeaderFields : public FieldSet
+class HeaderFields final : public FieldSet
{
public:
- virtual bool contains(const FieldSet& fields) const;
-
- /**
- * @return Returns the type of field set this is.
- */
- virtual Type getType() const {
- return HEADER;
- }
-
- virtual FieldSet* clone() const {
- return new HeaderFields();
- }
-
+ bool contains(const FieldSet& fields) const override;
+ Type getType() const override { return HEADER; }
+ FieldSet* clone() const override { return new HeaderFields(); }
};
-class BodyFields : public FieldSet
+class BodyFields final : public FieldSet
{
public:
- virtual bool contains(const FieldSet& fields) const;
-
- /**
- * @return Returns the type of field set this is.
- */
- virtual Type getType() const {
- return BODY;
- }
-
- virtual FieldSet* clone() const {
- return new BodyFields();
- }
+ bool contains(const FieldSet& fields) const override;
+ Type getType() const override { return BODY; }
+ FieldSet* clone() const override { return new BodyFields(); }
};
class FieldCollection : public FieldSet
@@ -103,19 +52,11 @@ class FieldCollection : public FieldSet
public:
typedef std::unique_ptr<FieldCollection> UP;
- FieldCollection(const DocumentType& docType)
- : _docType(docType) {};
-
+ FieldCollection(const DocumentType& docType) : _docType(docType) {};
FieldCollection(const DocumentType& docType, const Field::Set& set);
- virtual bool contains(const FieldSet& fields) const;
-
- /**
- * @return Returns the type of field set this is.
- */
- virtual Type getType() const {
- return SET;
- }
+ bool contains(const FieldSet& fields) const override;
+ Type getType() const override { return SET; }
/**
* @return Returns the document type the collection is associated with.
@@ -139,15 +80,11 @@ public:
*/
const Field::Set& getFields() const { return _set; }
- virtual FieldSet* clone() const {
- return new FieldCollection(*this);
- }
+ FieldSet* clone() const override { return new FieldCollection(*this); }
private:
Field::Set _set;
const DocumentType& _docType;
};
-
}
-
diff --git a/document/src/vespa/document/fieldvalue/annotationreferencefieldvalue.h b/document/src/vespa/document/fieldvalue/annotationreferencefieldvalue.h
index e6c9e329792..bdfc3a5c2ce 100644
--- a/document/src/vespa/document/fieldvalue/annotationreferencefieldvalue.h
+++ b/document/src/vespa/document/fieldvalue/annotationreferencefieldvalue.h
@@ -25,13 +25,12 @@ public:
int32_t getAnnotationIndex() const { return _annotation_index; }
- virtual int compare(const FieldValue& other) const;
- virtual void print(std::ostream &out, bool verbose,
- const std::string &indent) const;
- virtual AnnotationReferenceFieldValue *clone() const;
- virtual const DataType *getDataType() const { return _type; }
- virtual void printXml(XmlOutputStream &out) const;
- virtual bool hasChanged() const;
+ int compare(const FieldValue& other) const override;
+ void print(std::ostream &out, bool verbose, const std::string &indent) const override;
+ AnnotationReferenceFieldValue *clone() const override;
+ const DataType *getDataType() const override { return _type; }
+ void printXml(XmlOutputStream &out) const override;
+ bool hasChanged() const override;
};
} // namespace document
diff --git a/document/src/vespa/document/fieldvalue/arrayfieldvalue.cpp b/document/src/vespa/document/fieldvalue/arrayfieldvalue.cpp
index bc507316e19..d71d841f851 100644
--- a/document/src/vespa/document/fieldvalue/arrayfieldvalue.cpp
+++ b/document/src/vespa/document/fieldvalue/arrayfieldvalue.cpp
@@ -1,18 +1,9 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/document/fieldvalue/arrayfieldvalue.h>
-#include <vespa/document/fieldvalue/intfieldvalue.h>
-#include <vespa/document/fieldvalue/floatfieldvalue.h>
-#include <vespa/document/fieldvalue/stringfieldvalue.h>
-#include <vespa/document/fieldvalue/rawfieldvalue.h>
-#include <vespa/document/fieldvalue/longfieldvalue.h>
-#include <vespa/document/fieldvalue/doublefieldvalue.h>
-#include <vespa/document/fieldvalue/bytefieldvalue.h>
-#include <vespa/document/fieldvalue/predicatefieldvalue.h>
-
-#include <vespa/document/util/bytebuffer.h>
-#include <vespa/document/util/serializable.h>
+#include "arrayfieldvalue.h"
+#include "intfieldvalue.h"
+#include "stringfieldvalue.h"
+#include "predicatefieldvalue.h"
#include <vespa/document/util/serializableexceptions.h>
-#include <vespa/vespalib/util/exceptions.h>
#include <vespa/log/log.h>
LOG_SETUP(".document.fieldvalue.array");
@@ -297,8 +288,8 @@ class FieldValueFactory : public ComplexArrayT<FieldValue>::Factory
{
public:
FieldValueFactory(DataType::UP dataType) : _dataType(dataType.release()) { }
- FieldValue * create() { return _dataType->createFieldValue().release(); }
- virtual FieldValueFactory * clone() const { return new FieldValueFactory(*this); }
+ FieldValue * create() override { return _dataType->createFieldValue().release(); }
+ FieldValueFactory * clone() const override { return new FieldValueFactory(*this); }
private:
DataType::CP _dataType;
};
diff --git a/document/src/vespa/document/fieldvalue/arrayfieldvalue.h b/document/src/vespa/document/fieldvalue/arrayfieldvalue.h
index 203b053812f..0ee300e75db 100644
--- a/document/src/vespa/document/fieldvalue/arrayfieldvalue.h
+++ b/document/src/vespa/document/fieldvalue/arrayfieldvalue.h
@@ -12,8 +12,8 @@
*/
#pragma once
+#include "collectionfieldvalue.h"
#include <vespa/document/datatype/arraydatatype.h>
-#include <vespa/document/fieldvalue/collectionfieldvalue.h>
namespace document {
@@ -21,17 +21,17 @@ class ArrayFieldValue : public CollectionFieldValue {
private:
IArray::UP _array;
- virtual bool addValue(const FieldValue&);
- virtual bool containsValue(const FieldValue& val) const;
- virtual bool removeValue(const FieldValue& val);
+ bool addValue(const FieldValue&) override;
+ bool containsValue(const FieldValue& val) const override;
+ bool removeValue(const FieldValue& val) override;
IteratorHandler::ModificationStatus iterateSubset(
int startPos, int endPos, const vespalib::stringref & variable,
FieldPath::const_iterator nextPos,
FieldPath::const_iterator end_,
IteratorHandler& handler) const;
- virtual IteratorHandler::ModificationStatus onIterateNested(
+ IteratorHandler::ModificationStatus onIterateNested(
FieldPath::const_iterator start, FieldPath::const_iterator end,
- IteratorHandler & handler) const;
+ IteratorHandler & handler) const override;
public:
typedef IArray::const_iterator const_iterator;
typedef IArray::iterator iterator;
@@ -44,7 +44,7 @@ public:
*/
ArrayFieldValue(const DataType &arrayType);
ArrayFieldValue(const ArrayFieldValue&);
- virtual ~ArrayFieldValue();
+ ~ArrayFieldValue();
ArrayFieldValue& operator=(const ArrayFieldValue&);
@@ -58,22 +58,18 @@ public:
void remove(uint32_t index);
bool remove(const FieldValue& val) { return removeValue(val); }
- // CollectionFieldValue implementation
- virtual bool isEmpty() const { return _array->empty(); }
- virtual size_t size() const { return _array->size(); }
- virtual void clear() { _array->clear(); }
+ bool isEmpty() const override { return _array->empty(); }
+ size_t size() const override { return _array->size(); }
+ void clear() override { _array->clear(); }
void reserve(size_t sz) { _array->reserve(sz); }
void resize(size_t sz) { _array->resize(sz); }
- // FieldValue implementation
- virtual FieldValue& assign(const FieldValue&);
- virtual ArrayFieldValue* clone() const
- { return new ArrayFieldValue(*this); }
- virtual int compare(const FieldValue&) const;
- virtual void printXml(XmlOutputStream& out) const;
- virtual void print(std::ostream& out, bool verbose,
- const std::string& indent) const;
- virtual bool hasChanged() const;
+ FieldValue& assign(const FieldValue&) override;
+ ArrayFieldValue* clone() const override { return new ArrayFieldValue(*this); }
+ int compare(const FieldValue&) const override;
+ void printXml(XmlOutputStream& out) const override;
+ void print(std::ostream& out, bool verbose, const std::string& indent) const override;
+ bool hasChanged() const override;
void swap(ArrayFieldValue & other) { _array.swap(other._array); }
// Iterator functionality
diff --git a/document/src/vespa/document/fieldvalue/bytefieldvalue.h b/document/src/vespa/document/fieldvalue/bytefieldvalue.h
index 84102ab1350..6d5f7f14a83 100644
--- a/document/src/vespa/document/fieldvalue/bytefieldvalue.h
+++ b/document/src/vespa/document/fieldvalue/bytefieldvalue.h
@@ -7,8 +7,8 @@
*/
#pragma once
+#include "numericfieldvalue.h"
#include <vespa/document/datatype/numericdatatype.h>
-#include <vespa/document/fieldvalue/numericfieldvalue.h>
namespace document {
@@ -22,11 +22,8 @@ public:
void accept(FieldValueVisitor &visitor) override { visitor.visit(*this); }
void accept(ConstFieldValueVisitor &visitor) const override { visitor.visit(*this); }
-
- virtual const DataType *getDataType() const { return DataType::BYTE; }
-
- virtual ByteFieldValue* clone() const { return new ByteFieldValue(*this); }
-
+ const DataType *getDataType() const override { return DataType::BYTE; }
+ ByteFieldValue* clone() const override { return new ByteFieldValue(*this); }
using NumericFieldValue<Number>::operator=;
DECLARE_IDENTIFIABLE(ByteFieldValue);
diff --git a/document/src/vespa/document/fieldvalue/collectionfieldvalue.h b/document/src/vespa/document/fieldvalue/collectionfieldvalue.h
index 3524b67afab..4be3768b58e 100644
--- a/document/src/vespa/document/fieldvalue/collectionfieldvalue.h
+++ b/document/src/vespa/document/fieldvalue/collectionfieldvalue.h
@@ -10,8 +10,8 @@
*/
#pragma once
+#include "fieldvalue.h"
#include <vespa/document/datatype/collectiondatatype.h>
-#include <vespa/document/fieldvalue/fieldvalue.h>
namespace document {
@@ -38,7 +38,7 @@ public:
return *this;
}
- virtual const DataType *getDataType() const { return _type; }
+ const DataType *getDataType() const override { return _type; }
FieldValue::UP createNested() const {
return getNestedType().createFieldValue();
diff --git a/document/src/vespa/document/fieldvalue/numericfieldvalue.h b/document/src/vespa/document/fieldvalue/numericfieldvalue.h
index 1d3b373fdfc..38abb8c2d8b 100644
--- a/document/src/vespa/document/fieldvalue/numericfieldvalue.h
+++ b/document/src/vespa/document/fieldvalue/numericfieldvalue.h
@@ -10,7 +10,7 @@
*/
#pragma once
-#include <vespa/document/fieldvalue/fieldvalue.h>
+#include "fieldvalue.h"
#include <vespa/vespalib/stllike/hash_fun.h>
namespace document {
@@ -19,7 +19,7 @@ class NumericFieldValueBase : public FieldValue
{
public:
DECLARE_IDENTIFIABLE_ABSTRACT(NumericFieldValueBase);
- virtual void printXml(XmlOutputStream& out) const;
+ void printXml(XmlOutputStream& out) const override;
};
template<typename Number>
@@ -44,7 +44,7 @@ public:
FieldValue& operator=(int64_t) override;
FieldValue& operator=(float) override;
FieldValue& operator=(double) override;
- size_t hash() const { return vespalib::hash<Number>()(_value); }
+ size_t hash() const override { return vespalib::hash<Number>()(_value); }
char getAsByte() const override;
int32_t getAsInt() const override;
@@ -54,7 +54,7 @@ public:
vespalib::string getAsString() const override;
void print(std::ostream& out, bool verbose, const std::string& indent) const override;
- virtual bool hasChanged() const override { return _altered; }
+ bool hasChanged() const override { return _altered; }
};
} // document
diff --git a/document/src/vespa/document/predicate/predicate.cpp b/document/src/vespa/document/predicate/predicate.cpp
index 75648fcb4ba..aa6c1f4e337 100644
--- a/document/src/vespa/document/predicate/predicate.cpp
+++ b/document/src/vespa/document/predicate/predicate.cpp
@@ -98,7 +98,7 @@ class InsertFromArray : public ArrayTraverser {
public:
InsertFromArray(InsertIt it) : _it(it) {}
ArrayTraverser &ref() { return *this; }
- virtual void entry(size_t, const Inspector &inspector) {
+ void entry(size_t, const Inspector &inspector) override {
*_it++ = inspector.asString().make_string();
}
};
diff --git a/document/src/vespa/document/predicate/predicate_builder.h b/document/src/vespa/document/predicate/predicate_builder.h
index 31bf9eb60fd..3854eaacc66 100644
--- a/document/src/vespa/document/predicate/predicate_builder.h
+++ b/document/src/vespa/document/predicate/predicate_builder.h
@@ -12,16 +12,16 @@ class PredicateNode;
class PredicateBuilder : private PredicateSlimeVisitor {
std::vector<PredicateNode *>_nodes;
- virtual void visitFeatureSet(const vespalib::slime::Inspector &i);
- virtual void visitFeatureRange(const vespalib::slime::Inspector &i);
- virtual void visitNegation(const vespalib::slime::Inspector &i);
- virtual void visitConjunction(const vespalib::slime::Inspector &i);
- virtual void visitDisjunction(const vespalib::slime::Inspector &i);
- virtual void visitTrue(const vespalib::slime::Inspector &i);
- virtual void visitFalse(const vespalib::slime::Inspector &i);
+ void visitFeatureSet(const Inspector &i) override;
+ void visitFeatureRange(const Inspector &i) override;
+ void visitNegation(const Inspector &i) override;
+ void visitConjunction(const Inspector &i) override;
+ void visitDisjunction(const Inspector &i) override;
+ void visitTrue(const Inspector &i) override;
+ void visitFalse(const Inspector &i) override;
public:
- std::unique_ptr<PredicateNode> build(const vespalib::slime::Inspector &i);
+ std::unique_ptr<PredicateNode> build(const Inspector &i);
};
} // namespace document
diff --git a/document/src/vespa/document/predicate/predicate_printer.h b/document/src/vespa/document/predicate/predicate_printer.h
index b4e4e133ae3..09ef7254a58 100644
--- a/document/src/vespa/document/predicate/predicate_printer.h
+++ b/document/src/vespa/document/predicate/predicate_printer.h
@@ -16,13 +16,13 @@ class PredicatePrinter : PredicateSlimeVisitor {
std::unique_ptr<vespalib::asciistream> _out;
bool _negated;
- virtual void visitFeatureSet(const vespalib::slime::Inspector &i);
- virtual void visitFeatureRange(const vespalib::slime::Inspector &i);
- virtual void visitNegation(const vespalib::slime::Inspector &i);
- virtual void visitConjunction(const vespalib::slime::Inspector &i);
- virtual void visitDisjunction(const vespalib::slime::Inspector &i);
- virtual void visitTrue(const vespalib::slime::Inspector &i);
- virtual void visitFalse(const vespalib::slime::Inspector &i);
+ void visitFeatureSet(const Inspector &i) override;
+ void visitFeatureRange(const Inspector &i) override;
+ void visitNegation(const Inspector &i) override;
+ void visitConjunction(const Inspector &i) override;
+ void visitDisjunction(const Inspector &i) override;
+ void visitTrue(const Inspector &i) override;
+ void visitFalse(const Inspector &i) override;
vespalib::string str() const;
diff --git a/document/src/vespa/document/predicate/predicate_slime_visitor.h b/document/src/vespa/document/predicate/predicate_slime_visitor.h
index c35a9adb666..3d7ef1aa25a 100644
--- a/document/src/vespa/document/predicate/predicate_slime_visitor.h
+++ b/document/src/vespa/document/predicate/predicate_slime_visitor.h
@@ -9,21 +9,23 @@ namespace slime { class Inspector; }
namespace document {
class PredicateSlimeVisitor {
- virtual void visitFeatureSet(const vespalib::slime::Inspector &i) = 0;
- virtual void visitFeatureRange(const vespalib::slime::Inspector &i) = 0;
- virtual void visitNegation(const vespalib::slime::Inspector &i) = 0;
- virtual void visitConjunction(const vespalib::slime::Inspector &i) = 0;
- virtual void visitDisjunction(const vespalib::slime::Inspector &i) = 0;
- virtual void visitTrue(const vespalib::slime::Inspector &i) = 0;
- virtual void visitFalse(const vespalib::slime::Inspector &i) = 0;
+protected:
+ using Inspector = vespalib::slime::Inspector;
+ virtual void visitFeatureSet(const Inspector &i) = 0;
+ virtual void visitFeatureRange(const Inspector &i) = 0;
+ virtual void visitNegation(const Inspector &i) = 0;
+ virtual void visitConjunction(const Inspector &i) = 0;
+ virtual void visitDisjunction(const Inspector &i) = 0;
+ virtual void visitTrue(const Inspector &i) = 0;
+ virtual void visitFalse(const Inspector &i) = 0;
protected:
- void visitChildren(const vespalib::slime::Inspector &i);
+ void visitChildren(const Inspector &i);
public:
virtual ~PredicateSlimeVisitor() {}
- void visit(const vespalib::slime::Inspector &i);
+ void visit(const Inspector &i);
};
} // namespace document
diff --git a/document/src/vespa/document/select/branch.h b/document/src/vespa/document/select/branch.h
index 7d5de0e8d51..d80eb2a14d1 100644
--- a/document/src/vespa/document/select/branch.h
+++ b/document/src/vespa/document/select/branch.h
@@ -24,7 +24,7 @@ class Branch : public Node
public:
Branch(const vespalib::stringref & name) : Node(name) {}
- virtual bool isLeafNode() const { return false; }
+ bool isLeafNode() const override { return false; }
};
class And : public Branch
@@ -35,20 +35,18 @@ public:
And(std::unique_ptr<Node> left, std::unique_ptr<Node> right,
const char* name = 0);
- virtual ResultList contains(const Context& context) const
- { return (_left->contains(context) && _right->contains(context)); }
- virtual ResultList trace(const Context&, std::ostream& trace) const;
- virtual void visit(Visitor &v) const;
- virtual void print(std::ostream& out, bool verbose,
- const std::string& indent) const;
+ ResultList contains(const Context& context) const override {
+ return (_left->contains(context) && _right->contains(context));
+ }
+ ResultList trace(const Context&, std::ostream& trace) const override;
+ void visit(Visitor &v) const override;
+ void print(std::ostream& out, bool verbose, const std::string& indent) const override;
const Node& getLeft() const { return *_left; }
const Node& getRight() const { return *_right; }
- Node::UP clone() const {
- return wrapParens(new And(_left->clone(),
- _right->clone(),
- _name.c_str()));
+ Node::UP clone() const override{
+ return wrapParens(new And(_left->clone(), _right->clone(), _name.c_str()));
}
};
@@ -60,20 +58,18 @@ public:
Or(std::unique_ptr<Node> left, std::unique_ptr<Node> right,
const char* name = 0);
- virtual ResultList contains(const Context& context) const
- { return (_left->contains(context) || _right->contains(context)); }
- virtual ResultList trace(const Context&, std::ostream& trace) const;
- virtual void visit(Visitor &v) const;
- virtual void print(std::ostream& out, bool verbose,
- const std::string& indent) const;
+ ResultList contains(const Context& context) const override {
+ return (_left->contains(context) || _right->contains(context));
+ }
+ ResultList trace(const Context&, std::ostream& trace) const override;
+ void visit(Visitor &v) const override;
+ void print(std::ostream& out, bool verbose, const std::string& indent) const override;
const Node& getLeft() const { return *_left; }
const Node& getRight() const { return *_right; }
- Node::UP clone() const {
- return wrapParens(new Or(_left->clone(),
- _right->clone(),
- _name.c_str()));
+ Node::UP clone() const override {
+ return wrapParens(new Or(_left->clone(), _right->clone(), _name.c_str()));
}
};
@@ -83,16 +79,14 @@ class Not : public Branch
public:
Not(std::unique_ptr<Node> child, const char* name = 0);
- virtual ResultList contains(const Context& context) const
- { return !_child->contains(context); }
- virtual ResultList trace(const Context&, std::ostream& trace) const;
- virtual void visit(Visitor &v) const;
- virtual void print(std::ostream& out, bool verbose,
- const std::string& indent) const;
+ ResultList contains(const Context& context) const override { return !_child->contains(context); }
+ ResultList trace(const Context&, std::ostream& trace) const override;
+ void visit(Visitor &v) const override;
+ void print(std::ostream& out, bool verbose, const std::string& indent) const override;
const Node& getChild() const { return *_child; }
- Node::UP clone() const {
+ Node::UP clone() const override {
return wrapParens(new Not(_child->clone(), _name.c_str()));
}
};
diff --git a/document/src/vespa/document/select/result.h b/document/src/vespa/document/select/result.h
index 98e6195e11f..ae7b0fdcabf 100644
--- a/document/src/vespa/document/select/result.h
+++ b/document/src/vespa/document/select/result.h
@@ -31,8 +31,7 @@ public:
static Result False;
static Result True;
- void print(std::ostream& out, bool verbose,
- const std::string& indent) const;
+ void print(std::ostream& out, bool verbose, const std::string& indent) const override;
bool operator==(const Result& o) const { return (&o == this); }
bool operator!=(const Result& o) const { return (&o != this); }
diff --git a/document/src/vespa/document/select/resultlist.h b/document/src/vespa/document/select/resultlist.h
index c33151ca496..6a3cc1f78d1 100644
--- a/document/src/vespa/document/select/resultlist.h
+++ b/document/src/vespa/document/select/resultlist.h
@@ -32,7 +32,7 @@ public:
ResultList operator||(const ResultList& other) const;
ResultList operator!() const;
- void print(std::ostream& out, bool verbose, const std::string& indent) const;
+ void print(std::ostream& out, bool verbose, const std::string& indent) const override;
bool isEmpty() const { return _results.empty(); }
diff --git a/metrics/src/vespa/metrics/printutils.h b/metrics/src/vespa/metrics/printutils.h
index 93f7264c245..93c0750a2e3 100644
--- a/metrics/src/vespa/metrics/printutils.h
+++ b/metrics/src/vespa/metrics/printutils.h
@@ -10,8 +10,8 @@
#pragma once
+#include "metricmanager.h"
#include <vespa/vespalib/text/stringtokenizer.h>
-#include <vespa/metrics/metricmanager.h>
#include <vespa/vespalib/util/exceptions.h>
namespace metrics {
diff --git a/slobrok/src/vespa/slobrok/server/remote_check.h b/slobrok/src/vespa/slobrok/server/remote_check.h
index aa0326c5fbf..44962b1654d 100644
--- a/slobrok/src/vespa/slobrok/server/remote_check.h
+++ b/slobrok/src/vespa/slobrok/server/remote_check.h
@@ -1,8 +1,7 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <vespa/fnet/fnet.h>
-#include <vespa/fnet/frt/frt.h>
+#include <vespa/fnet/task.h>
namespace slobrok {
diff --git a/slobrok/src/vespa/slobrok/server/sbenv.cpp b/slobrok/src/vespa/slobrok/server/sbenv.cpp
index a766c6cfdf8..0cc0b2467e2 100644
--- a/slobrok/src/vespa/slobrok/server/sbenv.cpp
+++ b/slobrok/src/vespa/slobrok/server/sbenv.cpp
@@ -1,15 +1,9 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "sbenv.h"
-#include "rpchooks.h"
#include "selfcheck.h"
#include "remote_check.h"
-#include <vespa/fnet/fnet.h>
-#include <vespa/fnet/frt/frt.h>
-#include <memory>
-#include <string>
#include <sstream>
-#include <vespa/vespalib/util/exception.h>
#include <vespa/vespalib/net/state_server.h>
#include <vespa/vespalib/util/host_name.h>
#include <vespa/vespalib/stllike/asciistream.h>
diff --git a/slobrok/src/vespa/slobrok/server/slobrokserver.h b/slobrok/src/vespa/slobrok/server/slobrokserver.h
index a87902d0aa1..2b62f62956c 100644
--- a/slobrok/src/vespa/slobrok/server/slobrokserver.h
+++ b/slobrok/src/vespa/slobrok/server/slobrokserver.h
@@ -5,12 +5,9 @@
#include "configshim.h"
#include <vespa/vespalib/util/thread.h>
#include <vespa/vespalib/util/runnable.h>
-#include <vespa/config/config.h>
-#include <vespa/config-slobroks.h>
namespace slobrok {
-
class SlobrokServer : public vespalib::Runnable
{
private:
diff --git a/staging_vespalib/src/vespa/vespalib/objects/identifiable.h b/staging_vespalib/src/vespa/vespalib/objects/identifiable.h
index 5d68c781046..93953847814 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/identifiable.h
+++ b/staging_vespalib/src/vespa/vespalib/objects/identifiable.h
@@ -16,11 +16,6 @@
*
*/
-#include <string>
-#include <vector>
-#include <memory>
-#include <typeinfo>
-
#define CID_Identifiable 1
#include "ids.h"
@@ -34,12 +29,19 @@
#define IDENTIFIABLE_CLASSID_NS2(ns1, ns2, cclass) CID_##ns1##_##ns2##_##cclass
#define IDENTIFIABLE_CLASSID_NS3(ns1, ns2, ns3, cclass) CID_##ns1##_##ns2##_##ns3##_##cclass
-#define DECLARE_IDENTIFIABLE_BASE_COMMON(cclass) \
+#define DECLARE_IDENTIFIABLE_STATIC_BASE_COMMON(cclass) \
static vespalib::Identifiable::RuntimeInfo _RTInfo; \
static vespalib::Identifiable::RuntimeClass _RTClass; \
static const std::type_info & typeId() { return typeid(cclass); } \
static bool tryCast(const vespalib::Identifiable * v) { return dynamic_cast<const cclass *>(v) != NULL; } \
- static cclass *identifyClassAsIdentifiable() { return NULL; } /* no implementation */ \
+ static cclass *identifyClassAsIdentifiable() { return NULL; } /* no implementation */
+
+#define DECLARE_IDENTIFIABLE_BASE_COMMON(cclass) \
+ DECLARE_IDENTIFIABLE_STATIC_BASE_COMMON(cclass) \
+ const vespalib::Identifiable::RuntimeClass & getClass() const override;
+
+#define DECLARE_IDENTIFIABLE_BASE_COMMON_ROOT(cclass) \
+ DECLARE_IDENTIFIABLE_STATIC_BASE_COMMON(cclass) \
virtual const vespalib::Identifiable::RuntimeClass & getClass() const;
#define DECLARE_IDENTIFIABLE_BASE(cclass, classid) \
@@ -47,20 +49,36 @@
enum { classId=classid }; \
DECLARE_IDENTIFIABLE_BASE_COMMON(cclass)
+#define DECLARE_IDENTIFIABLE_BASE_ROOT(cclass, classid) \
+ public: \
+ enum { classId=classid }; \
+ DECLARE_IDENTIFIABLE_BASE_COMMON_ROOT(cclass)
+
#define DECLARE_IDENTIFIABLE_ABSTRACT(cclass) DECLARE_IDENTIFIABLE_BASE(cclass, IDENTIFIABLE_CLASSID(cclass))
#define DECLARE_IDENTIFIABLE_ABSTRACT_NS(ns, cclass) DECLARE_IDENTIFIABLE_BASE(ns::cclass, IDENTIFIABLE_CLASSID_NS(ns, cclass))
#define DECLARE_IDENTIFIABLE_ABSTRACT_NS2(ns1, ns2, cclass) DECLARE_IDENTIFIABLE_BASE(ns1::ns2::cclass, IDENTIFIABLE_CLASSID_NS2(ns1, ns2, cclass))
#define DECLARE_IDENTIFIABLE_ABSTRACT_NS3(ns1, ns2, ns3, cclass) DECLARE_IDENTIFIABLE_BASE(ns1::ns2::ns3::cclass, IDENTIFIABLE_CLASSID_NS3(ns1, ns2, ns3, cclass))
-#define DECLARE_IDENTIFIABLE_COMMON(cclass) \
- virtual void assign(const vespalib::Identifiable & rhs); \
+#define DECLARE_IDENTIFIABLE_STATIC_COMMON(cclass) \
static cclass * create() { return new cclass(); } \
static Identifiable * createAsIdentifiable() { return cclass::create(); }
+#define DECLARE_IDENTIFIABLE_COMMON(cclass) \
+ void assign(const vespalib::Identifiable & rhs) override; \
+ DECLARE_IDENTIFIABLE_STATIC_COMMON(cclass)
+
+#define DECLARE_IDENTIFIABLE_COMMON_ROOT(cclass) \
+ virtual void assign(const vespalib::Identifiable & rhs); \
+ DECLARE_IDENTIFIABLE_STATIC_COMMON(cclass)
+
#define DECLARE_IDENTIFIABLE(cclass) \
DECLARE_IDENTIFIABLE_BASE(cclass, IDENTIFIABLE_CLASSID(cclass)) \
DECLARE_IDENTIFIABLE_COMMON(cclass)
+#define DECLARE_IDENTIFIABLE_ROOT(cclass) \
+ DECLARE_IDENTIFIABLE_BASE_ROOT(cclass, IDENTIFIABLE_CLASSID(cclass)) \
+ DECLARE_IDENTIFIABLE_COMMON_ROOT(cclass)
+
#define DECLARE_IDENTIFIABLE_NS(ns, cclass) \
DECLARE_IDENTIFIABLE_BASE(ns::cclass, IDENTIFIABLE_CLASSID_NS(ns, cclass)) \
DECLARE_IDENTIFIABLE_COMMON(ns::cclass)
@@ -171,7 +189,7 @@ public:
stringref getName() const override { return stringref(_rt->_name); }
RuntimeInfo * _rt;
};
- DECLARE_IDENTIFIABLE(Identifiable);
+ DECLARE_IDENTIFIABLE_ROOT(Identifiable);
Identifiable() { }
Identifiable(Identifiable &&) = default;
Identifiable & operator = (Identifiable &&) = default;
diff --git a/staging_vespalib/src/vespa/vespalib/util/polymorphicarrays.h b/staging_vespalib/src/vespa/vespalib/util/polymorphicarrays.h
index f57cd84c91a..696c55f9ae3 100644
--- a/staging_vespalib/src/vespa/vespalib/util/polymorphicarrays.h
+++ b/staging_vespalib/src/vespa/vespalib/util/polymorphicarrays.h
@@ -109,10 +109,10 @@ public:
virtual ~Factory() { }
};
explicit ComplexArrayT(typename Factory::UP factory) : _array(), _factory(factory.release()) { }
- virtual ~ComplexArrayT() { }
- virtual const B & operator [] (size_t i) const { return *_array[i]; }
- virtual B & operator [] (size_t i) { return *_array[i]; }
- virtual void resize(size_t sz) {
+ ~ComplexArrayT() { }
+ const B & operator [] (size_t i) const override { return *_array[i]; }
+ B & operator [] (size_t i) override { return *_array[i]; }
+ void resize(size_t sz) override {
_array.resize(sz);
for (auto & cp : _array) {
if ( cp.get() == nullptr) {
@@ -120,12 +120,12 @@ public:
}
}
}
- virtual void reserve(size_t sz) { _array.reserve(sz); }
- virtual void clear() { _array.clear(); }
- virtual IArrayT<B> * clone() const { return new ComplexArrayT<B>(*this); }
- virtual size_t size() const { return _array.size(); }
- virtual iterator erase(iterator it) { _array.erase(_array.begin() + (it - this->begin())); return it; }
- virtual void push_back(const B & v) { _array.push_back(v.clone()); }
+ void reserve(size_t sz) override { _array.reserve(sz); }
+ void clear() override { _array.clear(); }
+ IArrayT<B> * clone() const override { return new ComplexArrayT<B>(*this); }
+ size_t size() const override { return _array.size(); }
+ iterator erase(iterator it) override { _array.erase(_array.begin() + (it - this->begin())); return it; }
+ void push_back(const B & v) override { _array.push_back(v.clone()); }
private:
typedef vespalib::CloneablePtr<B> CP;
std::vector<CP> _array;
diff --git a/storageframework/src/vespa/storageframework/defaultimplementation/component/componentregisterimpl.h b/storageframework/src/vespa/storageframework/defaultimplementation/component/componentregisterimpl.h
index 8c3ff58b4db..36381e958a1 100644
--- a/storageframework/src/vespa/storageframework/defaultimplementation/component/componentregisterimpl.h
+++ b/storageframework/src/vespa/storageframework/defaultimplementation/component/componentregisterimpl.h
@@ -68,8 +68,8 @@ public:
return *_metricManager;
}
- virtual void registerComponent(ManagedComponent&);
- virtual void requestShutdown(vespalib::stringref reason);
+ void registerComponent(ManagedComponent&) override;
+ void requestShutdown(vespalib::stringref reason) override;
void setMetricManager(metrics::MetricManager&);
void setMemoryManager(MemoryManagerInterface&);
@@ -77,13 +77,13 @@ public:
void setThreadPool(ThreadPool&);
void setUpgradeFlag(UpgradeFlags flag);
- const StatusReporter* getStatusReporter(vespalib::stringref id);
- std::vector<const StatusReporter*> getStatusReporters();
+ const StatusReporter* getStatusReporter(vespalib::stringref id) override;
+ std::vector<const StatusReporter*> getStatusReporters() override;
- void registerMetric(metrics::Metric&);
+ void registerMetric(metrics::Metric&) override;
void registerUpdateHook(vespalib::stringref name,
MetricUpdateHook& hook,
- SecondTime period);
+ SecondTime period) override;
vespalib::MonitorGuard getMetricManagerLock() override;
void registerShutdownListener(ShutdownListener&);
diff --git a/storageframework/src/vespa/storageframework/defaultimplementation/memory/memorymanager.h b/storageframework/src/vespa/storageframework/defaultimplementation/memory/memorymanager.h
index 0db8b7ab4b0..7eea530e229 100644
--- a/storageframework/src/vespa/storageframework/defaultimplementation/memory/memorymanager.h
+++ b/storageframework/src/vespa/storageframework/defaultimplementation/memory/memorymanager.h
@@ -57,19 +57,19 @@ public:
uint8_t priority,
ReduceMemoryUsageInterface* = 0);
- virtual ~MemoryTokenImpl();
+ ~MemoryTokenImpl();
- uint64_t getSize() const { return _currentlyAllocated; }
+ uint64_t getSize() const override { return _currentlyAllocated; }
uint64_t getAllocationCount() const { return _allocCount; }
const MemoryAllocationType& getType() const { return _type; }
ReduceMemoryUsageInterface* getReducer() const { return _reducer; }
uint8_t getPriority() const { return _priority; }
- virtual bool resize(uint64_t min, uint64_t max);
+ bool resize(uint64_t min, uint64_t max) override;
- virtual void print(std::ostream& out, bool verbose,
- const std::string& indent) const;
+ void print(std::ostream& out, bool verbose,
+ const std::string& indent) const override;
};
class AllocationLogic : public vespalib::Printable
diff --git a/storageframework/src/vespa/storageframework/defaultimplementation/thread/threadimpl.h b/storageframework/src/vespa/storageframework/defaultimplementation/thread/threadimpl.h
index f5dfb4237d5..b31b4be3ce9 100644
--- a/storageframework/src/vespa/storageframework/defaultimplementation/thread/threadimpl.h
+++ b/storageframework/src/vespa/storageframework/defaultimplementation/thread/threadimpl.h
@@ -18,7 +18,7 @@ class ThreadImpl : public Thread
struct BackendThread : public document::Runnable {
ThreadImpl& _impl;
BackendThread(ThreadImpl& impl) : _impl(impl) {}
- virtual void run() { _impl.run(); }
+ void run() override { _impl.run(); }
};
/**
@@ -59,32 +59,28 @@ public:
int ticksBeforeWait);
~ThreadImpl();
- virtual bool interrupted() const;
- virtual bool joined() const;
- virtual void interrupt();
- virtual void join();
- virtual void registerTick(CycleType, MilliSecTime);
- virtual uint64_t getWaitTime() const {
+ bool interrupted() const override;
+ bool joined() const override;
+ void interrupt() override;
+ void join() override;
+ void registerTick(CycleType, MilliSecTime) override;
+ uint64_t getWaitTime() const override {
return _properties.getWaitTime();
}
- virtual int getTicksBeforeWait() const {
+ int getTicksBeforeWait() const override {
return _properties.getTicksBeforeWait();
}
- virtual uint64_t getMaxProcessTime() const {
+ uint64_t getMaxProcessTime() const override {
return _properties.getMaxProcessTime();
}
- virtual void updateParameters(uint64_t waitTime,
- uint64_t maxProcessTime,
- int ticksBeforeWait);
+ void updateParameters(uint64_t waitTime, uint64_t maxProcessTime, int ticksBeforeWait) override;
void setTickData(const ThreadTickData&);
ThreadTickData getTickData() const;
- const ThreadProperties& getProperties() const
- { return _properties; }
+ const ThreadProperties& getProperties() const { return _properties; }
};
} // defaultimplementation
} // framework
} // storage
-