summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2017-04-04 16:35:02 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2017-04-04 16:36:18 +0200
commit9204052b04f33c47f62acb8d01161726268990d5 (patch)
tree49e0e9819bd9a73c316694d791b93700a694db92
parent31fa22ae90c6481c6e70eb2381d63ecc9b6c6d42 (diff)
Use override
-rw-r--r--config/src/vespa/config/print/asciiconfigreader.h4
-rw-r--r--document/src/vespa/document/datatype/arraydatatype.h16
-rw-r--r--document/src/vespa/document/fieldvalue/shortfieldvalue.h7
-rw-r--r--document/src/vespa/document/fieldvalue/structfieldvalue.cpp2
-rw-r--r--document/src/vespa/document/fieldvalue/weightedsetfieldvalue.h6
-rw-r--r--document/src/vespa/document/select/bodyfielddetector.h8
-rw-r--r--document/src/vespa/document/select/cloningvisitor.h128
-rw-r--r--document/src/vespa/document/select/invalidconstant.h14
-rw-r--r--document/src/vespa/document/select/orderingselector.cpp94
-rw-r--r--document/src/vespa/document/select/simpleparser.h10
-rw-r--r--document/src/vespa/document/select/traversingvisitor.h77
-rw-r--r--document/src/vespa/document/update/addvalueupdate.h2
-rw-r--r--document/src/vespa/document/update/assignvalueupdate.h23
-rw-r--r--document/src/vespa/document/update/clearvalueupdate.h24
-rw-r--r--document/src/vespa/document/update/documentupdate.h9
-rw-r--r--document/src/vespa/document/update/fieldpathupdate.h2
-rw-r--r--document/src/vespa/document/update/fieldupdate.h5
-rw-r--r--document/src/vespa/document/update/mapvalueupdate.h19
-rw-r--r--document/src/vespa/document/update/removefieldpathupdate.h8
-rw-r--r--document/src/vespa/document/update/removevalueupdate.h21
-rw-r--r--document/src/vespa/document/update/valueupdate.h7
-rw-r--r--document/src/vespa/document/util/compressor.h8
-rw-r--r--fastlib/src/vespa/fastlib/io/bufferedfile.h34
-rw-r--r--fastlib/src/vespa/fastlib/text/normwordfolder.h34
-rw-r--r--messagebus/src/vespa/messagebus/network/oosclient.cpp1
-rw-r--r--messagebus/src/vespa/messagebus/network/oosclient.h7
-rw-r--r--messagebus/src/vespa/messagebus/network/oosmanager.h7
-rw-r--r--messagebus/src/vespa/messagebus/network/rpcnetwork.cpp5
-rw-r--r--messagebus/src/vespa/messagebus/network/rpcnetwork.h70
-rw-r--r--messagebus/src/vespa/messagebus/network/rpcsendadapter.h4
-rw-r--r--messagebus/src/vespa/messagebus/network/rpcsendv1.cpp7
-rw-r--r--messagebus/src/vespa/messagebus/network/rpcsendv1.h5
-rw-r--r--messagebus/src/vespa/messagebus/network/rpctarget.cpp1
-rw-r--r--messagebus/src/vespa/messagebus/network/rpctarget.h8
-rw-r--r--messagebus/src/vespa/messagebus/routing/errordirective.h8
-rw-r--r--messagebus/src/vespa/messagebus/routing/policydirective.h8
-rw-r--r--messagebus/src/vespa/messagebus/routing/retrytransienterrorspolicy.h7
-rw-r--r--messagebus/src/vespa/messagebus/routing/routedirective.h8
-rw-r--r--messagebus/src/vespa/messagebus/routing/routeparser.cpp3
-rw-r--r--messagebus/src/vespa/messagebus/routing/routingnode.h3
-rw-r--r--messagebus/src/vespa/messagebus/routing/tcpdirective.h9
-rw-r--r--messagebus/src/vespa/messagebus/routing/verbatimdirective.h8
-rw-r--r--searchcommon/src/vespa/searchcommon/attribute/iattributevector.h8
-rw-r--r--searchlib/src/vespa/searchlib/aggregation/aggregationresult.h37
-rw-r--r--searchlib/src/vespa/searchlib/aggregation/expressioncountaggregationresult.h9
-rw-r--r--searchlib/src/vespa/searchlib/aggregation/fs4hit.h4
-rw-r--r--searchlib/src/vespa/searchlib/aggregation/group.h2
-rw-r--r--searchlib/src/vespa/searchlib/aggregation/grouping.cpp8
-rw-r--r--searchlib/src/vespa/searchlib/aggregation/grouping.h2
-rw-r--r--searchlib/src/vespa/searchlib/aggregation/groupinglevel.h2
-rw-r--r--searchlib/src/vespa/searchlib/aggregation/hit.h7
-rw-r--r--searchlib/src/vespa/searchlib/aggregation/hitlist.h34
-rw-r--r--searchlib/src/vespa/searchlib/aggregation/hitsaggregationresult.h24
-rw-r--r--searchlib/src/vespa/searchlib/aggregation/modifiers.h4
-rw-r--r--searchlib/src/vespa/searchlib/aggregation/vdshit.h4
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attribute_blueprint_factory.cpp48
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.cpp6
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.h10
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attributefile.h25
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attributemanager.h21
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attributevector.h41
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attrvector.h16
-rw-r--r--searchlib/src/vespa/searchlib/attribute/enumcomparator.h6
-rw-r--r--searchlib/src/vespa/searchlib/attribute/enumstore.h66
-rw-r--r--searchlib/src/vespa/searchlib/attribute/integerbase.h4
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multistringattribute.h13
-rw-r--r--searchlib/src/vespa/searchlib/attribute/not_implemented_attribute.h2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/postingstore.h130
-rw-r--r--searchlib/src/vespa/searchlib/attribute/predicate_attribute.h4
-rw-r--r--searchlib/src/vespa/searchlib/attribute/sourceselector.h5
-rw-r--r--searchlib/src/vespa/searchlib/attribute/stringbase.h24
-rw-r--r--searchlib/src/vespa/searchlib/bitcompression/compression.h112
-rw-r--r--searchlib/src/vespa/searchlib/bitcompression/countcompression.h49
-rw-r--r--searchlib/src/vespa/searchlib/bitcompression/posocccompression.h241
-rw-r--r--searchlib/src/vespa/searchlib/common/condensedbitvectors.cpp4
-rw-r--r--searchlib/src/vespa/searchlib/common/locationiterators.cpp20
-rw-r--r--searchlib/src/vespa/searchlib/common/serialnumfileheadercontext.h10
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/diskindex.cpp21
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/diskindex.h29
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/disktermblueprint.h8
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/zcposocc.h33
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/zcposting.h294
-rw-r--r--searchlib/src/vespa/searchlib/docstore/chunkformats.h20
-rw-r--r--searchlib/src/vespa/searchlib/docstore/document_store_visitor_progress.h11
-rw-r--r--searchlib/src/vespa/searchlib/docstore/documentstore.cpp7
-rw-r--r--searchlib/src/vespa/searchlib/engine/packetconverter.cpp4
-rw-r--r--searchlib/src/vespa/searchlib/engine/transportserver.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/expression/addfunctionnode.h8
-rw-r--r--searchlib/src/vespa/searchlib/expression/andfunctionnode.h12
-rw-r--r--searchlib/src/vespa/searchlib/expression/arrayatlookupfunctionnode.h17
-rw-r--r--searchlib/src/vespa/searchlib/expression/arrayoperationnode.h11
-rw-r--r--searchlib/src/vespa/searchlib/expression/attributenode.h2
-rw-r--r--searchlib/src/vespa/searchlib/expression/bitfunctionnode.h8
-rw-r--r--searchlib/src/vespa/searchlib/expression/bucketresultnode.h11
-rw-r--r--searchlib/src/vespa/searchlib/expression/catserializer.h32
-rw-r--r--searchlib/src/vespa/searchlib/expression/constantnode.h8
-rw-r--r--searchlib/src/vespa/searchlib/expression/dividefunctionnode.h8
-rw-r--r--searchlib/src/vespa/searchlib/expression/documentfieldnode.cpp12
-rw-r--r--searchlib/src/vespa/searchlib/expression/enumresultnode.h10
-rw-r--r--searchlib/src/vespa/searchlib/expression/expressionnode.h4
-rw-r--r--searchlib/src/vespa/searchlib/expression/fixedwidthbucketfunctionnode.h30
-rw-r--r--searchlib/src/vespa/searchlib/expression/floatbucketresultnode.h20
-rw-r--r--searchlib/src/vespa/searchlib/expression/floatresultnode.h58
-rw-r--r--searchlib/src/vespa/searchlib/expression/getdocidnamespacespecificfunctionnode.h15
-rw-r--r--searchlib/src/vespa/searchlib/expression/getymumchecksumfunctionnode.h14
-rw-r--r--searchlib/src/vespa/searchlib/expression/integerbucketresultnode.h23
-rw-r--r--searchlib/src/vespa/searchlib/expression/integerresultnode.h72
-rw-r--r--searchlib/src/vespa/searchlib/expression/interpolatedlookupfunctionnode.h17
-rw-r--r--searchlib/src/vespa/searchlib/expression/maxfunctionnode.h8
-rw-r--r--searchlib/src/vespa/searchlib/expression/minfunctionnode.h8
-rw-r--r--searchlib/src/vespa/searchlib/expression/modulofunctionnode.h8
-rw-r--r--searchlib/src/vespa/searchlib/expression/multiargfunctionnode.h2
-rw-r--r--searchlib/src/vespa/searchlib/expression/multiplyfunctionnode.h8
-rw-r--r--searchlib/src/vespa/searchlib/expression/negatefunctionnode.h2
-rw-r--r--searchlib/src/vespa/searchlib/expression/nullresultnode.h36
-rw-r--r--searchlib/src/vespa/searchlib/expression/numericfunctionnode.h44
-rw-r--r--searchlib/src/vespa/searchlib/expression/numericresultnode.h2
-rw-r--r--searchlib/src/vespa/searchlib/expression/orfunctionnode.h9
-rw-r--r--searchlib/src/vespa/searchlib/expression/positiveinfinityresultnode.h26
-rw-r--r--searchlib/src/vespa/searchlib/expression/rangebucketpredef.h13
-rw-r--r--searchlib/src/vespa/searchlib/expression/rawbucketresultnode.h10
-rw-r--r--searchlib/src/vespa/searchlib/expression/rawresultnode.h40
-rw-r--r--searchlib/src/vespa/searchlib/expression/relevancenode.h8
-rw-r--r--searchlib/src/vespa/searchlib/expression/resultnode.h8
-rw-r--r--searchlib/src/vespa/searchlib/expression/resultvector.h96
-rw-r--r--searchlib/src/vespa/searchlib/expression/singleresultnode.h6
-rw-r--r--searchlib/src/vespa/searchlib/expression/strcatserializer.h11
-rw-r--r--searchlib/src/vespa/searchlib/expression/stringbucketresultnode.h10
-rw-r--r--searchlib/src/vespa/searchlib/expression/stringresultnode.h60
-rw-r--r--searchlib/src/vespa/searchlib/expression/unaryfunctionnode.h2
-rw-r--r--searchlib/src/vespa/searchlib/expression/xorfunctionnode.h8
-rw-r--r--searchlib/src/vespa/searchlib/features/agefeature.h45
-rw-r--r--searchlib/src/vespa/searchlib/features/attributefeature.cpp23
-rw-r--r--searchlib/src/vespa/searchlib/features/attributefeature.h35
-rw-r--r--searchlib/src/vespa/searchlib/features/attributematchfeature.h42
-rw-r--r--searchlib/src/vespa/searchlib/features/closenessfeature.h40
-rw-r--r--searchlib/src/vespa/searchlib/features/dense_tensor_attribute_executor.h2
-rw-r--r--searchlib/src/vespa/searchlib/features/distancefeature.h42
-rw-r--r--searchlib/src/vespa/searchlib/features/distancetopathfeature.h40
-rw-r--r--searchlib/src/vespa/searchlib/features/element_completeness_feature.h46
-rw-r--r--searchlib/src/vespa/searchlib/features/element_similarity_feature.cpp36
-rw-r--r--searchlib/src/vespa/searchlib/features/element_similarity_feature.h21
-rw-r--r--searchlib/src/vespa/searchlib/features/fieldinfofeature.h30
-rw-r--r--searchlib/src/vespa/searchlib/features/fieldlengthfeature.h40
-rw-r--r--searchlib/src/vespa/searchlib/features/fieldmatchfeature.h48
-rw-r--r--searchlib/src/vespa/searchlib/features/fieldtermmatchfeature.h41
-rw-r--r--searchlib/src/vespa/searchlib/features/firstphasefeature.h37
-rw-r--r--searchlib/src/vespa/searchlib/features/flow_completeness_feature.h51
-rw-r--r--searchlib/src/vespa/searchlib/features/foreachfeature.cpp9
-rw-r--r--searchlib/src/vespa/searchlib/features/foreachfeature.h39
-rw-r--r--searchlib/src/vespa/searchlib/features/freshnessfeature.h37
-rw-r--r--searchlib/src/vespa/searchlib/features/item_raw_score_feature.h23
-rw-r--r--searchlib/src/vespa/searchlib/features/jarowinklerdistancefeature.h43
-rw-r--r--searchlib/src/vespa/searchlib/features/logarithmcalculator.h1
-rw-r--r--searchlib/src/vespa/searchlib/features/matchesfeature.h47
-rw-r--r--searchlib/src/vespa/searchlib/features/matchfeature.h36
-rw-r--r--searchlib/src/vespa/searchlib/features/native_dot_product_feature.h30
-rw-r--r--searchlib/src/vespa/searchlib/features/nativeattributematchfeature.h49
-rw-r--r--searchlib/src/vespa/searchlib/features/nativefieldmatchfeature.h50
-rw-r--r--searchlib/src/vespa/searchlib/features/nativeproximityfeature.h47
-rw-r--r--searchlib/src/vespa/searchlib/features/nativerankfeature.h42
-rw-r--r--searchlib/src/vespa/searchlib/features/nowfeature.h35
-rw-r--r--searchlib/src/vespa/searchlib/features/proximityfeature.h44
-rw-r--r--searchlib/src/vespa/searchlib/features/querycompletenessfeature.h46
-rw-r--r--searchlib/src/vespa/searchlib/features/queryfeature.h28
-rw-r--r--searchlib/src/vespa/searchlib/features/querytermcountfeature.h26
-rw-r--r--searchlib/src/vespa/searchlib/features/random_normal_feature.h36
-rw-r--r--searchlib/src/vespa/searchlib/features/randomfeature.h33
-rw-r--r--searchlib/src/vespa/searchlib/features/rankingexpression/feature_name_extractor.h4
-rw-r--r--searchlib/src/vespa/searchlib/features/tensor_attribute_executor.h2
-rw-r--r--searchlib/src/vespa/searchlib/features/valuefeature.h30
-rw-r--r--searchlib/src/vespa/searchlib/fef/blueprintfactory.h7
-rw-r--r--searchlib/src/vespa/searchlib/fef/filetablefactory.h2
-rw-r--r--searchlib/src/vespa/searchlib/fef/functiontablefactory.h2
-rw-r--r--searchlib/src/vespa/searchlib/fef/objectstore.h6
-rw-r--r--searchlib/src/vespa/searchlib/fef/phrasesplitter.h37
-rw-r--r--searchlib/src/vespa/searchlib/fef/rank_program.cpp9
-rw-r--r--searchlib/src/vespa/searchlib/fef/ranksetup.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/fef/simpletermfielddata.h2
-rw-r--r--searchlib/src/vespa/searchlib/fef/tablemanager.h2
-rw-r--r--searchlib/src/vespa/searchlib/fef/test/ftlib.h20
-rw-r--r--searchlib/src/vespa/searchlib/fef/test/plugin/cfgvalue.h11
-rw-r--r--searchlib/src/vespa/searchlib/fef/test/plugin/chain.h12
-rw-r--r--searchlib/src/vespa/searchlib/fef/test/plugin/double.h12
-rw-r--r--searchlib/src/vespa/searchlib/fef/test/plugin/query.h10
-rw-r--r--searchlib/src/vespa/searchlib/fef/test/plugin/staticrank.h12
-rw-r--r--searchlib/src/vespa/searchlib/fef/test/plugin/sum.h14
-rw-r--r--searchlib/src/vespa/searchlib/fef/test/queryenvironment.h25
-rw-r--r--searchlib/src/vespa/searchlib/index/dictionaryfile.cpp19
-rw-r--r--searchlib/src/vespa/searchlib/index/dictionaryfile.h10
-rw-r--r--searchlib/src/vespa/searchlib/index/docbuilder.h261
-rw-r--r--searchlib/src/vespa/searchlib/index/dummyfileheadercontext.h35
-rw-r--r--searchlib/src/vespa/searchlib/index/postinglistcountfile.h71
-rw-r--r--searchlib/src/vespa/searchlib/index/postinglistfile.h24
-rw-r--r--searchlib/src/vespa/searchlib/memoryindex/memoryindex.cpp23
-rw-r--r--searchlib/src/vespa/searchlib/memoryindex/memoryindex.h8
-rw-r--r--searchlib/src/vespa/searchlib/predicate/predicate_index.cpp5
-rw-r--r--searchlib/src/vespa/searchlib/query/query.h64
-rw-r--r--searchlib/src/vespa/searchlib/query/queryterm.h24
-rw-r--r--searchlib/src/vespa/searchlib/query/tree/querynodemixin.h6
-rw-r--r--searchlib/src/vespa/searchlib/query/tree/stackdumpcreator.cpp44
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/andnotsearch.h4
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/andsearchnostrict.h8
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/booleanmatchiteratorwrapper.h2
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/dot_product_blueprint.h14
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.h121
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/leaf_blueprints.h12
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/multisearch.h4
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/simple_phrase_blueprint.h17
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.h16
-rw-r--r--staging_vespalib/src/vespa/vespalib/objects/asciiserializer.h20
-rw-r--r--storageframework/src/vespa/storageframework/defaultimplementation/memory/memorystate.cpp5
-rw-r--r--storageframework/src/vespa/storageframework/defaultimplementation/memory/memorystate.h7
-rw-r--r--storageframework/src/vespa/storageframework/defaultimplementation/memory/nomemorymanager.h29
-rw-r--r--storageframework/src/vespa/storageframework/defaultimplementation/memory/prioritymemorylogic.h9
-rw-r--r--storageframework/src/vespa/storageframework/defaultimplementation/memory/simplememorylogic.h24
-rw-r--r--storageframework/src/vespa/storageframework/generic/component/component.h20
-rw-r--r--storageframework/src/vespa/storageframework/generic/status/htmlstatusreporter.h8
-rw-r--r--storageframework/src/vespa/storageframework/generic/status/httpurlpath.h7
-rw-r--r--storageframework/src/vespa/storageframework/generic/status/xmlstatusreporter.h16
-rw-r--r--storageframework/src/vespa/storageframework/generic/thread/thread.h5
-rw-r--r--storageframework/src/vespa/storageframework/generic/thread/tickingthread.cpp61
-rw-r--r--vdslib/src/vespa/vdslib/container/documentlist.h6
-rw-r--r--vdslib/src/vespa/vdslib/container/parameters.h10
-rw-r--r--vdslib/src/vespa/vdslib/container/visitorstatistics.h4
-rw-r--r--vdslib/src/vespa/vdslib/defs.h4
-rw-r--r--vdslib/src/vespa/vdslib/distribution/distribution.cpp1
-rw-r--r--vdslib/src/vespa/vdslib/distribution/group.h15
-rw-r--r--vdslib/src/vespa/vdslib/distribution/redundancygroupdistribution.h2
-rw-r--r--vdslib/src/vespa/vdslib/state/clusterstate.h7
-rw-r--r--vdslib/src/vespa/vdslib/state/diskstate.h5
-rw-r--r--vdslib/src/vespa/vdslib/state/node.h4
-rw-r--r--vdslib/src/vespa/vdslib/state/nodestate.h12
-rw-r--r--vdslib/src/vespa/vdslib/state/state.h5
-rw-r--r--vdslib/src/vespa/vdslib/thread/taskscheduler.h4
-rw-r--r--vespalib/src/vespa/vespalib/util/closure.h6
236 files changed, 1998 insertions, 3610 deletions
diff --git a/config/src/vespa/config/print/asciiconfigreader.h b/config/src/vespa/config/print/asciiconfigreader.h
index 135d2d4d51f..352cc8510cb 100644
--- a/config/src/vespa/config/print/asciiconfigreader.h
+++ b/config/src/vespa/config/print/asciiconfigreader.h
@@ -1,9 +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 <vespa/vespalib/stllike/asciistream.h>
#include "configreader.h"
#include "configformatter.h"
+#include <vespa/vespalib/stllike/asciistream.h>
namespace config {
@@ -16,7 +16,7 @@ class AsciiConfigReader : public ConfigReader<ConfigType>
public:
AsciiConfigReader(vespalib::asciistream & is);
std::unique_ptr<ConfigType> read();
- std::unique_ptr<ConfigType> read(const ConfigFormatter & formatter);
+ std::unique_ptr<ConfigType> read(const ConfigFormatter & formatter) override;
private:
vespalib::asciistream & _is;
};
diff --git a/document/src/vespa/document/datatype/arraydatatype.h b/document/src/vespa/document/datatype/arraydatatype.h
index 706579ae2f6..b7183b42c5c 100644
--- a/document/src/vespa/document/datatype/arraydatatype.h
+++ b/document/src/vespa/document/datatype/arraydatatype.h
@@ -7,7 +7,7 @@
*/
#pragma once
-#include <vespa/document/datatype/collectiondatatype.h>
+#include "collectiondatatype.h"
namespace document {
@@ -23,15 +23,11 @@ public:
explicit ArrayDataType(const DataType &nestedType);
ArrayDataType(const DataType &nestedType, int32_t id);
- // 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 ArrayDataType* clone() const { return new ArrayDataType(*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;
+ ArrayDataType* clone() const override { return new ArrayDataType(*this); }
+ FieldPath::UP onBuildFieldPath(const vespalib::stringref & remainFieldName) const override;
DECLARE_IDENTIFIABLE(ArrayDataType);
};
diff --git a/document/src/vespa/document/fieldvalue/shortfieldvalue.h b/document/src/vespa/document/fieldvalue/shortfieldvalue.h
index 329e33d0189..6fb848064db 100644
--- a/document/src/vespa/document/fieldvalue/shortfieldvalue.h
+++ b/document/src/vespa/document/fieldvalue/shortfieldvalue.h
@@ -7,8 +7,8 @@
*/
#pragma once
+#include "numericfieldvalue.h"
#include <vespa/document/datatype/numericdatatype.h>
-#include <vespa/document/fieldvalue/numericfieldvalue.h>
namespace document {
@@ -23,9 +23,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::SHORT; }
-
- virtual ShortFieldValue* clone() const { return new ShortFieldValue(*this); }
+ const DataType *getDataType() const override { return DataType::SHORT; }
+ ShortFieldValue* clone() const override { return new ShortFieldValue(*this); }
using NumericFieldValue<Number>::operator=;
diff --git a/document/src/vespa/document/fieldvalue/structfieldvalue.cpp b/document/src/vespa/document/fieldvalue/structfieldvalue.cpp
index bf8eb9e7eb5..079b730c8cc 100644
--- a/document/src/vespa/document/fieldvalue/structfieldvalue.cpp
+++ b/document/src/vespa/document/fieldvalue/structfieldvalue.cpp
@@ -383,7 +383,7 @@ struct StructFieldValue::FieldIterator : public StructuredIterator {
}
}
- virtual const Field* getNextField() {
+ const Field* getNextField() override {
while (_cur != _ids.end()) {
int id = *_cur++;
try {
diff --git a/document/src/vespa/document/fieldvalue/weightedsetfieldvalue.h b/document/src/vespa/document/fieldvalue/weightedsetfieldvalue.h
index 83ceb1f1238..efa1c718d64 100644
--- a/document/src/vespa/document/fieldvalue/weightedsetfieldvalue.h
+++ b/document/src/vespa/document/fieldvalue/weightedsetfieldvalue.h
@@ -74,10 +74,8 @@ public:
void reserve(size_t sz) { _map.reserve(sz); }
void resize(size_t sz) { _map.resize(sz); }
- // FieldValue implementation
- virtual FieldValue& assign(const FieldValue&);
- virtual WeightedSetFieldValue* clone() const
- { return new WeightedSetFieldValue(*this); }
+ FieldValue& assign(const FieldValue&) override;
+ WeightedSetFieldValue* clone() const override { return new WeightedSetFieldValue(*this); }
virtual int compare(const FieldValue&) const override;
virtual void printXml(XmlOutputStream& out) const override;
virtual void print(std::ostream& out, bool verbose,
diff --git a/document/src/vespa/document/select/bodyfielddetector.h b/document/src/vespa/document/select/bodyfielddetector.h
index a4716d1a175..3758766edd3 100644
--- a/document/src/vespa/document/select/bodyfielddetector.h
+++ b/document/src/vespa/document/select/bodyfielddetector.h
@@ -24,22 +24,22 @@ public:
bool foundBodyField;
bool foundHeaderField;
- virtual void visitDocumentType(const DocType&) {
+ void visitDocumentType(const DocType&) override {
// Need to deserialize header to know document type
foundHeaderField = true;
}
- void visitFieldValueNode(const FieldValueNode& expr);
+ void visitFieldValueNode(const FieldValueNode& expr) override;
};
class NeedDocumentDetector : public TraversingVisitor
{
private:
bool _needDocument;
- virtual void visitDocumentType(const DocType &) {
+ void visitDocumentType(const DocType &) override {
_needDocument = true;
}
- virtual void visitFieldValueNode(const FieldValueNode &) {
+ void visitFieldValueNode(const FieldValueNode &) override {
_needDocument = true;
}
public:
diff --git a/document/src/vespa/document/select/cloningvisitor.h b/document/src/vespa/document/select/cloningvisitor.h
index 45101f39dc8..0cfab62bb98 100644
--- a/document/src/vespa/document/select/cloningvisitor.h
+++ b/document/src/vespa/document/select/cloningvisitor.h
@@ -47,100 +47,40 @@ protected:
static const int SearchColPriority = 1000;
public:
- CloningVisitor(void);
-
- virtual
- ~CloningVisitor(void);
-
- virtual void
- visitAndBranch(const And &expr);
-
- virtual void
- visitOrBranch(const Or &expr);
-
- virtual void
- visitNotBranch(const Not &expr);
-
- virtual void
- visitComparison(const Compare &expr);
-
- virtual void
- visitArithmeticValueNode(const ArithmeticValueNode &expr);
-
- virtual void
- visitFunctionValueNode(const FunctionValueNode &expr);
-
- virtual void
- visitConstant(const Constant &expr);
-
- virtual void
- visitInvalidConstant(const InvalidConstant &expr);
-
- virtual void
- visitDocumentType(const DocType &expr);
-
- virtual void
- visitIdValueNode(const IdValueNode &expr);
-
- virtual void
- visitSearchColumnValueNode(const SearchColumnValueNode &expr);
-
- virtual void
- visitFieldValueNode(const FieldValueNode &expr);
-
- virtual void
- visitFloatValueNode(const FloatValueNode &expr);
-
- virtual void
- visitVariableValueNode(const VariableValueNode &expr);
-
- virtual void
- visitIntegerValueNode(const IntegerValueNode &expr);
-
- virtual void
- visitCurrentTimeValueNode(const CurrentTimeValueNode &expr);
-
- virtual void
- visitStringValueNode(const StringValueNode &expr);
-
- virtual void
- visitNullValueNode(const NullValueNode &expr);
-
- virtual void
- visitInvalidValueNode(const InvalidValueNode &expr);
-
- std::unique_ptr<Node> &
- getNode(void)
- {
- return _node;
- }
-
- std::unique_ptr<ValueNode> &
- getValueNode(void)
- {
- return _valueNode;
- }
-
- void
- setNodeParentheses(int priority);
-
- void
- setValueNodeParentheses(int priority);
-
- void
- setArithmeticValueNode(const ArithmeticValueNode &expr,
- std::unique_ptr<ValueNode> lhs,
- int lhsPriority,
- bool lhsConstVal,
- std::unique_ptr<ValueNode> rhs,
- int rhsPriority,
- bool rhsConstVal);
-
- void
- swap(CloningVisitor &rhs);
-
- void
- revisit(void);
+ CloningVisitor();
+ ~CloningVisitor();
+
+ void visitAndBranch(const And &expr) override;
+ void visitOrBranch(const Or &expr) override;
+ void visitNotBranch(const Not &expr) override;
+ void visitComparison(const Compare &expr) override;
+ void visitArithmeticValueNode(const ArithmeticValueNode &expr) override;
+ void visitFunctionValueNode(const FunctionValueNode &expr) override;
+ void visitConstant(const Constant &expr) override;
+ void visitInvalidConstant(const InvalidConstant &expr) override;
+ void visitDocumentType(const DocType &expr) override;
+ void visitIdValueNode(const IdValueNode &expr) override;
+ void visitSearchColumnValueNode(const SearchColumnValueNode &expr) override;
+ void visitFieldValueNode(const FieldValueNode &expr) override;
+ void visitFloatValueNode(const FloatValueNode &expr) override;
+ void visitVariableValueNode(const VariableValueNode &expr) override;
+ void visitIntegerValueNode(const IntegerValueNode &expr) override;
+ void visitCurrentTimeValueNode(const CurrentTimeValueNode &expr) override;
+ void visitStringValueNode(const StringValueNode &expr) override;
+ void visitNullValueNode(const NullValueNode &expr) override;
+ void visitInvalidValueNode(const InvalidValueNode &expr) override;
+
+ std::unique_ptr<Node> &getNode() { return _node; }
+ std::unique_ptr<ValueNode> &getValueNode() { return _valueNode; }
+
+ void setNodeParentheses(int priority);
+ void setValueNodeParentheses(int priority);
+ void setArithmeticValueNode(const ArithmeticValueNode &expr, std::unique_ptr<ValueNode> lhs,
+ int lhsPriority, bool lhsConstVal, std::unique_ptr<ValueNode> rhs,
+ int rhsPriority, bool rhsConstVal);
+
+ void swap(CloningVisitor &rhs);
+ void revisit(void);
};
}
diff --git a/document/src/vespa/document/select/invalidconstant.h b/document/src/vespa/document/select/invalidconstant.h
index 14bd681b97a..1d19d069d12 100644
--- a/document/src/vespa/document/select/invalidconstant.h
+++ b/document/src/vespa/document/select/invalidconstant.h
@@ -22,14 +22,12 @@ class InvalidConstant : public Node
public:
explicit InvalidConstant(const vespalib::stringref &value);
- virtual ResultList contains(const Context&) const
- { return ResultList(Result::Invalid); }
- virtual ResultList trace(const Context&, std::ostream& trace) const;
- virtual void print(std::ostream& out, bool verbose,
- const std::string& indent) const;
- virtual void visit(Visitor& v) const;
-
- Node::UP clone() const { return wrapParens(new InvalidConstant(_name)); }
+ ResultList contains(const Context&) const override { return ResultList(Result::Invalid); }
+ ResultList trace(const Context&, std::ostream& trace) const override;
+ void print(std::ostream& out, bool verbose, const std::string& indent) const override;
+ void visit(Visitor& v) const override;
+
+ Node::UP clone() const override { return wrapParens(new InvalidConstant(_name)); }
};
diff --git a/document/src/vespa/document/select/orderingselector.cpp b/document/src/vespa/document/select/orderingselector.cpp
index 8875b09f848..32a1f0a8adf 100644
--- a/document/src/vespa/document/select/orderingselector.cpp
+++ b/document/src/vespa/document/select/orderingselector.cpp
@@ -45,7 +45,7 @@ namespace {
return OrderingSpecification::UP();
}
- void visitAndBranch(const document::select::And& node) {
+ void visitAndBranch(const document::select::And& node) override {
OrderingVisitor left(_order);
node.getLeft().visit(left);
node.getRight().visit(*this);
@@ -64,7 +64,7 @@ namespace {
_spec = pickOrdering(*_spec, *left._spec, true);
}
- void visitOrBranch(const document::select::Or& node) {
+ void visitOrBranch(const document::select::Or& node) override {
OrderingVisitor left(_order);
node.getLeft().visit(left);
node.getRight().visit(*this);
@@ -77,8 +77,7 @@ namespace {
_spec = pickOrdering(*_spec, *left._spec, false);
}
- void visitNotBranch(const document::select::Not&) {
- }
+ void visitNotBranch(const document::select::Not&) override {}
void compare(const select::IdValueNode& node,
const select::ValueNode& valnode,
@@ -120,7 +119,7 @@ namespace {
}
}
- void visitComparison(const document::select::Compare& node) {
+ void visitComparison(const document::select::Compare& node) override {
const IdValueNode* lid(dynamic_cast<const IdValueNode*>(
&node.getLeft()));
if (lid) {
@@ -134,76 +133,21 @@ namespace {
}
}
- 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/select/simpleparser.h b/document/src/vespa/document/select/simpleparser.h
index 742a7638175..e6457c3dec7 100644
--- a/document/src/vespa/document/select/simpleparser.h
+++ b/document/src/vespa/document/select/simpleparser.h
@@ -50,7 +50,7 @@ public:
IdSpecParser(const BucketIdFactory& bucketIdFactory) :
_bucketIdFactory(bucketIdFactory)
{}
- virtual bool parse(const vespalib::stringref & s);
+ bool parse(const vespalib::stringref & s) override;
const IdValueNode & getId() const { return static_cast<const IdValueNode &>(getValue()); }
bool isUserSpec() const { return getId().getType() == IdValueNode::USER; }
private:
@@ -60,7 +60,7 @@ private:
class OperatorParser : public Parser
{
public:
- virtual bool parse(const vespalib::stringref & s);
+ bool parse(const vespalib::stringref & s) override;
const Operator * getOperator() const { return _operator; }
private:
const Operator *_operator;
@@ -69,13 +69,13 @@ private:
class StringParser : public Parser, public ValueResult
{
public:
- virtual bool parse(const vespalib::stringref & s);
+ bool parse(const vespalib::stringref & s) override;
};
class IntegerParser : public Parser, public ValueResult
{
public:
- virtual bool parse(const vespalib::stringref & s);
+ bool parse(const vespalib::stringref & s) override;
};
class SelectionParser : public Parser, public NodeResult
@@ -84,7 +84,7 @@ public:
SelectionParser(const BucketIdFactory& bucketIdFactory) :
_bucketIdFactory(bucketIdFactory)
{}
- virtual bool parse(const vespalib::stringref & s);
+ bool parse(const vespalib::stringref & s) override;
private:
const BucketIdFactory & _bucketIdFactory;
};
diff --git a/document/src/vespa/document/select/traversingvisitor.h b/document/src/vespa/document/select/traversingvisitor.h
index 9b3712571a5..12cdef43487 100644
--- a/document/src/vespa/document/select/traversingvisitor.h
+++ b/document/src/vespa/document/select/traversingvisitor.h
@@ -10,65 +10,28 @@ class
TraversingVisitor : public Visitor
{
public:
- virtual void
- visitAndBranch(const And &expr);
-
- virtual void
- visitOrBranch(const Or &expr);
-
- virtual void
- visitNotBranch(const Not &expr);
-
- virtual void
- visitComparison(const Compare &expr);
-
- virtual void
- visitArithmeticValueNode(const ArithmeticValueNode &expr);
-
- virtual void
- visitFunctionValueNode(const FunctionValueNode &expr);
-
- virtual void
- visitConstant(const Constant &);
-
- virtual void
- visitInvalidConstant(const InvalidConstant &);
-
- virtual void
- visitDocumentType(const DocType &);
-
- 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 visitAndBranch(const And &expr) override;
+
+ void visitOrBranch(const Or &expr) override;
+ void visitNotBranch(const Not &expr) override;
+ void visitComparison(const Compare &expr) override;
+ void visitArithmeticValueNode(const ArithmeticValueNode &expr) override;
+ void visitFunctionValueNode(const FunctionValueNode &expr) override;
+ void visitConstant(const Constant &) override;
+ void visitInvalidConstant(const InvalidConstant &) override;
+ void visitDocumentType(const DocType &) 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/update/addvalueupdate.h b/document/src/vespa/document/update/addvalueupdate.h
index 4263e48f9e0..1180ba4fcf1 100644
--- a/document/src/vespa/document/update/addvalueupdate.h
+++ b/document/src/vespa/document/update/addvalueupdate.h
@@ -35,7 +35,7 @@ public:
_value(value.clone()),
_weight(weight) {}
- virtual bool operator==(const ValueUpdate& other) const;
+ bool operator==(const ValueUpdate& other) const override;
/** @return the field value to add during this update. */
const FieldValue& getValue() const { return *_value; }
diff --git a/document/src/vespa/document/update/assignvalueupdate.h b/document/src/vespa/document/update/assignvalueupdate.h
index 221642df7b4..3811bad42aa 100644
--- a/document/src/vespa/document/update/assignvalueupdate.h
+++ b/document/src/vespa/document/update/assignvalueupdate.h
@@ -11,8 +11,8 @@
*/
#pragma once
+#include "valueupdate.h"
#include <vespa/document/fieldvalue/fieldvalue.h>
-#include <vespa/document/update/valueupdate.h>
namespace document {
@@ -31,7 +31,7 @@ public:
{
}
- virtual bool operator==(const ValueUpdate& other) const;
+ bool operator==(const ValueUpdate& other) const override;
/** @return The field value to assign during this update. */
bool hasValue() const { return bool(_value); }
@@ -48,20 +48,15 @@ public:
}
// ValueUpdate implementation.
- virtual void checkCompatibility(const Field& field) const;
- virtual bool applyTo(FieldValue& value) const;
- virtual void printXml(XmlOutputStream& xos) const;
- virtual void print(std::ostream& out, bool verbose,
- const std::string& indent) const;
- virtual void deserialize(const DocumentTypeRepo& repo,
- const DataType& type,
- ByteBuffer& buffer, uint16_t version);
- virtual AssignValueUpdate* clone() const
- { return new AssignValueUpdate(*this); }
+ void checkCompatibility(const Field& field) const override;
+ bool applyTo(FieldValue& value) const override;
+ void printXml(XmlOutputStream& xos) const override;
+ void print(std::ostream& out, bool verbose, const std::string& indent) const override;
+ void deserialize(const DocumentTypeRepo& repo, const DataType& type,
+ ByteBuffer& buffer, uint16_t version) override;
+ AssignValueUpdate* clone() const override { return new AssignValueUpdate(*this); }
DECLARE_IDENTIFIABLE(AssignValueUpdate);
-
};
} // document
-
diff --git a/document/src/vespa/document/update/clearvalueupdate.h b/document/src/vespa/document/update/clearvalueupdate.h
index a0cde78b6ac..ebd796e4642 100644
--- a/document/src/vespa/document/update/clearvalueupdate.h
+++ b/document/src/vespa/document/update/clearvalueupdate.h
@@ -7,7 +7,7 @@
*/
#pragma once
-#include <vespa/document/update/valueupdate.h>
+#include "valueupdate.h"
namespace document {
@@ -15,24 +15,18 @@ class ClearValueUpdate : public ValueUpdate {
ACCEPT_UPDATE_VISITOR;
public:
typedef std::unique_ptr<ClearValueUpdate> UP;
-
ClearValueUpdate() : ValueUpdate() {}
-
ClearValueUpdate(const ClearValueUpdate& update) : ValueUpdate(update) {}
-
- virtual bool operator==(const ValueUpdate& other) const;
+ bool operator==(const ValueUpdate& other) const override;
// ValueUpdate implementation
- virtual void checkCompatibility(const Field& field) const;
- virtual bool applyTo(FieldValue& value) const;
- virtual void printXml(XmlOutputStream& xos) const;
- virtual void print(std::ostream& out, bool verbose,
- const std::string& indent) const;
- virtual void deserialize(const DocumentTypeRepo& repo,
- const DataType& type,
- ByteBuffer& buffer, uint16_t version);
- virtual ClearValueUpdate* clone() const
- { return new ClearValueUpdate(*this); }
+ void checkCompatibility(const Field& field) const override;
+ bool applyTo(FieldValue& value) const override;
+ void printXml(XmlOutputStream& xos) const override;
+ void print(std::ostream& out, bool verbose, const std::string& indent) const override;
+ void deserialize(const DocumentTypeRepo& repo, const DataType& type,
+ ByteBuffer& buffer, uint16_t version) override;
+ ClearValueUpdate* clone() const override { return new ClearValueUpdate(*this); }
DECLARE_IDENTIFIABLE(ClearValueUpdate);
};
diff --git a/document/src/vespa/document/update/documentupdate.h b/document/src/vespa/document/update/documentupdate.h
index 5d5143a0cd5..5d09bd36816 100644
--- a/document/src/vespa/document/update/documentupdate.h
+++ b/document/src/vespa/document/update/documentupdate.h
@@ -25,13 +25,13 @@
*/
#pragma once
+#include "fieldupdate.h"
+#include "fieldpathupdate.h"
#include <vespa/document/base/documentid.h>
#include <vespa/document/base/field.h>
#include <vespa/document/datatype/documenttype.h>
#include <vespa/document/fieldvalue/fieldvalue.h>
#include <vespa/document/util/bytebuffer.h>
-#include <vespa/document/update/fieldupdate.h>
-#include <vespa/document/update/fieldpathupdate.h>
namespace document {
@@ -144,8 +144,7 @@ public:
const DocumentType& getType() const { return static_cast<const DocumentType &> (*_type); }
// Printable implementation
- 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;
void deserialize42(const DocumentTypeRepo&, ByteBuffer&);
void deserializeHEAD(const DocumentTypeRepo&, ByteBuffer&);
@@ -157,7 +156,7 @@ public:
void serializeHEAD(vespalib::nbostream &stream) const;
// XmlSerializable implementation
- virtual void printXml(XmlOutputStream&) const;
+ void printXml(XmlOutputStream&) const override;
// Cloneable implementation
virtual DocumentUpdate* clone() const {
diff --git a/document/src/vespa/document/update/fieldpathupdate.h b/document/src/vespa/document/update/fieldpathupdate.h
index d69309cdc39..80a63d62281 100644
--- a/document/src/vespa/document/update/fieldpathupdate.h
+++ b/document/src/vespa/document/update/fieldpathupdate.h
@@ -49,7 +49,7 @@ public:
void applyTo(Document& doc) const;
- virtual FieldPathUpdate* clone() const = 0;
+ FieldPathUpdate* clone() const override = 0;
virtual bool operator==(const FieldPathUpdate& other) const;
bool operator!=(const FieldPathUpdate& other) const {
diff --git a/document/src/vespa/document/update/fieldupdate.h b/document/src/vespa/document/update/fieldupdate.h
index d47e5579a31..d0e4fd3235e 100644
--- a/document/src/vespa/document/update/fieldupdate.h
+++ b/document/src/vespa/document/update/fieldupdate.h
@@ -79,11 +79,10 @@ public:
void applyTo(Document& doc) const;
// Printable implementation
- 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;
// XmlSerializable implementation
- void printXml(XmlOutputStream&) const;
+ void printXml(XmlOutputStream&) const override;
/**
* Deserializes the given byte buffer into an instance of an update object.
diff --git a/document/src/vespa/document/update/mapvalueupdate.h b/document/src/vespa/document/update/mapvalueupdate.h
index cf0869d271f..14bd0fc9bd3 100644
--- a/document/src/vespa/document/update/mapvalueupdate.h
+++ b/document/src/vespa/document/update/mapvalueupdate.h
@@ -42,7 +42,7 @@ public:
_key(key.clone()),
_update(update.clone()) {}
- virtual bool operator==(const ValueUpdate& other) const;
+ bool operator==(const ValueUpdate& other) const override;
/** @return The key of the field value to update. */
const FieldValue& getKey() const { return *_key; }
@@ -75,16 +75,13 @@ public:
}
// ValueUpdate implementation
- virtual void checkCompatibility(const Field& field) const;
- virtual bool applyTo(FieldValue& value) const;
- virtual void printXml(XmlOutputStream& xos) const;
- virtual void print(std::ostream& out, bool verbose,
- const std::string& indent) const;
- virtual void deserialize(const DocumentTypeRepo& repo,
- const DataType& type,
- ByteBuffer& buffer, uint16_t version);
- virtual MapValueUpdate* clone() const
- { return new MapValueUpdate(*this); }
+ void checkCompatibility(const Field& field) const override;
+ bool applyTo(FieldValue& value) const override;
+ void printXml(XmlOutputStream& xos) const override;
+ void print(std::ostream& out, bool verbose, const std::string& indent) const override;
+ void deserialize(const DocumentTypeRepo& repo, const DataType& type,
+ ByteBuffer& buffer, uint16_t version) override;
+ MapValueUpdate* clone() const override { return new MapValueUpdate(*this); }
DECLARE_IDENTIFIABLE(MapValueUpdate);
diff --git a/document/src/vespa/document/update/removefieldpathupdate.h b/document/src/vespa/document/update/removefieldpathupdate.h
index db5ebde50a7..6de2a105cbf 100644
--- a/document/src/vespa/document/update/removefieldpathupdate.h
+++ b/document/src/vespa/document/update/removefieldpathupdate.h
@@ -18,10 +18,8 @@ public:
FieldPathUpdate* clone() const override { return new RemoveFieldPathUpdate(*this); }
- bool operator==(const FieldPathUpdate& other) const;
-
- virtual void print(std::ostream& out, bool verbose,
- const std::string& indent) const;
+ bool operator==(const FieldPathUpdate& other) const override;
+ void print(std::ostream& out, bool verbose, const std::string& indent) const override;
DECLARE_IDENTIFIABLE(RemoveFieldPathUpdate);
ACCEPT_UPDATE_VISITOR;
@@ -41,7 +39,7 @@ private:
}
};
- std::unique_ptr<FieldValue::IteratorHandler> getIteratorHandler(Document&) const {
+ std::unique_ptr<FieldValue::IteratorHandler> getIteratorHandler(Document&) const override {
return std::make_unique<RemoveIteratorHandler>();
}
};
diff --git a/document/src/vespa/document/update/removevalueupdate.h b/document/src/vespa/document/update/removevalueupdate.h
index 5552796ceb4..42590104870 100644
--- a/document/src/vespa/document/update/removevalueupdate.h
+++ b/document/src/vespa/document/update/removevalueupdate.h
@@ -5,8 +5,8 @@
*/
#pragma once
+#include "valueupdate.h"
#include <vespa/document/fieldvalue/fieldvalue.h>
-#include <vespa/document/update/valueupdate.h>
namespace document {
@@ -28,7 +28,7 @@ public:
: ValueUpdate(),
_key(key.clone()) {}
- virtual bool operator==(const ValueUpdate& other) const;
+ bool operator==(const ValueUpdate& other) const override;
/**
* @return The key, whose value to remove during this update. This will be
@@ -48,16 +48,13 @@ public:
}
// ValueUpdate implementation
- virtual void checkCompatibility(const Field& field) const;
- virtual bool applyTo(FieldValue& value) const;
- virtual void printXml(XmlOutputStream& xos) const;
- virtual void print(std::ostream& out, bool verbose,
- const std::string& indent) const;
- virtual void deserialize(const DocumentTypeRepo& repo,
- const DataType& type,
- ByteBuffer& buffer, uint16_t version);
- virtual RemoveValueUpdate* clone() const
- { return new RemoveValueUpdate(*this); }
+ void checkCompatibility(const Field& field) const override;
+ bool applyTo(FieldValue& value) const override;
+ void printXml(XmlOutputStream& xos) const override;
+ void print(std::ostream& out, bool verbose, const std::string& indent) const override;
+ void deserialize(const DocumentTypeRepo& repo, const DataType& type,
+ ByteBuffer& buffer, uint16_t version) override;
+ RemoveValueUpdate* clone() const override { return new RemoveValueUpdate(*this); }
DECLARE_IDENTIFIABLE(RemoveValueUpdate);
diff --git a/document/src/vespa/document/update/valueupdate.h b/document/src/vespa/document/update/valueupdate.h
index a11838095ae..e4f32c57cf8 100644
--- a/document/src/vespa/document/update/valueupdate.h
+++ b/document/src/vespa/document/update/valueupdate.h
@@ -18,13 +18,12 @@
*/
#pragma once
-
-#include <vespa/vespalib/objects/cloneable.h>
+#include "updatevisitor.h"
#include <vespa/document/datatype/datatype.h>
#include <vespa/document/util/serializable.h>
#include <vespa/document/util/xmlserializable.h>
-#include <vespa/document/update/updatevisitor.h>
+#include <vespa/vespalib/objects/cloneable.h>
namespace document {
@@ -87,7 +86,7 @@ public:
*/
virtual bool applyTo(FieldValue& value) const = 0;
- virtual ValueUpdate* clone() const = 0;
+ ValueUpdate* clone() const override = 0;
/**
* Deserializes the given byte buffer into an instance of an update object.
diff --git a/document/src/vespa/document/util/compressor.h b/document/src/vespa/document/util/compressor.h
index cf3e831faa3..599d9424889 100644
--- a/document/src/vespa/document/util/compressor.h
+++ b/document/src/vespa/document/util/compressor.h
@@ -21,10 +21,10 @@ public:
class LZ4Compressor : public ICompressor
{
public:
- virtual bool process(const CompressionConfig& config, const void * input, size_t inputLen, void * output, size_t & outputLen);
- virtual bool unprocess(const void * input, size_t inputLen, void * output, size_t & outputLen);
- virtual size_t adjustProcessLen(uint16_t options, size_t len) const;
- virtual size_t adjustUnProcessLen(uint16_t options, size_t len) const;
+ bool process(const CompressionConfig& config, const void * input, size_t inputLen, void * output, size_t & outputLen) override;
+ bool unprocess(const void * input, size_t inputLen, void * output, size_t & outputLen) override;
+ size_t adjustProcessLen(uint16_t options, size_t len) const override;
+ size_t adjustUnProcessLen(uint16_t options, size_t len) const override;
};
/**
diff --git a/fastlib/src/vespa/fastlib/io/bufferedfile.h b/fastlib/src/vespa/fastlib/io/bufferedfile.h
index d0fb0fbf1f6..377965dff0d 100644
--- a/fastlib/src/vespa/fastlib/io/bufferedfile.h
+++ b/fastlib/src/vespa/fastlib/io/bufferedfile.h
@@ -117,7 +117,7 @@ public:
* @param src The source buffer.
* @param srclen The length of the source buffer.
*/
- virtual ssize_t Write2(const void*, size_t);
+ ssize_t Write2(const void*, size_t) override;
/**
* Write a string to a buffered file, flushing to file
* as necessary.
@@ -133,7 +133,7 @@ public:
* @param dstlen The length of the destination buffer.
* @return The number of bytes read.
*/
- ssize_t Read(void *dst, size_t dstlen);
+ ssize_t Read(void *dst, size_t dstlen) override;
/**
* Write one byte to the buffered file, flushing to
* file if necessary.
@@ -179,48 +179,46 @@ public:
*
* @return int64_t The size of the file.
*/
- int64_t GetSize (void);
+ int64_t GetSize () override;
/**
* Truncate or extend the file to a new size. Required write
* access.
*
* @return bool True if successful.
*/
- bool SetSize (int64_t s);
+ bool SetSize (int64_t s) override;
/**
* Test if the file is opened.
*
* @return bool True if the file is currently opened.
*/
- bool IsOpened (void) const;
+ bool IsOpened () const override;
/**
* Force completion of pending disk writes (flush cache).
*/
- bool Sync(void);
+ bool Sync() override;
/**
* Get the time the file was last modified.
*
* @return time_t The last modification time.
*/
- time_t GetModificationTime(void);
+ time_t GetModificationTime() override;
/**
* Turn on direct IO.
*/
- void EnableDirectIO(void);
-
- virtual void
- EnableSyncWrites(void);
+ void EnableDirectIO() override;
+ void EnableSyncWrites() override;
/**
* Flush the buffer. If in write mode, write the buffer to
* the file, then reset the buffer.
*/
- void Flush(void);
+ void Flush();
/**
* Flush the buffer, and close the file instance.
* @return The result of the Close operation.
*/
- bool Close (void);
+ bool Close () override;
/**
* Get the buffered file position, in bytes.
* This takes into account the data in the buffer, that has
@@ -228,7 +226,7 @@ public:
*
* @return int64_t The file position.
*/
- int64_t GetPosition (void);
+ int64_t GetPosition () override;
/**
* Set the position in the file. The next read or write
* will continue from this position.
@@ -236,20 +234,20 @@ public:
* @param s The position.
* @return bool True if successful.
*/
- bool SetPosition(int64_t s);
+ bool SetPosition(int64_t s) override;
/**
* Get name of buffered file.
*
* @return name of buffered file, or NULL if no file.
*/
- const char *GetFileName(void) const;
+ const char *GetFileName() const override;
/**
* Just forwarded to the real file to support FastOS_FileInterface.
*/
- virtual bool Open(unsigned int, const char*);
- virtual bool Delete();
+ bool Open(unsigned int, const char*) override;
+ bool Delete() override;
void alignEndForDirectIO();
};
diff --git a/fastlib/src/vespa/fastlib/text/normwordfolder.h b/fastlib/src/vespa/fastlib/text/normwordfolder.h
index c1240dc40bd..d368b6177db 100644
--- a/fastlib/src/vespa/fastlib/text/normwordfolder.h
+++ b/fastlib/src/vespa/fastlib/text/normwordfolder.h
@@ -2,7 +2,7 @@
#pragma once
-#include <vespa/fastlib/text/wordfolder.h>
+#include "wordfolder.h"
#include <cstdint>
/**
@@ -167,27 +167,15 @@ public:
}
public:
- Fast_NormalizeWordFolder(void);
- virtual ~Fast_NormalizeWordFolder(void);
- virtual size_t FoldedSizeAsUTF8(const char *word) const;
- virtual char *FoldUTF8WordToUTF8Quick(char *wordbufpos, const char *word) const;
- virtual const char *Tokenize(const char *buf,
- const char *bufend,
- char *dstbuf,
- char *dstbufend,
- const char*& origstart,
- size_t& tokenlen) const;
- virtual const char *Tokenize(const char *buf,
- const char *bufend,
- ucs4_t *dstbuf,
- ucs4_t *dstbufend,
- const char*& origstart,
- size_t& tokenlen) const;
- virtual const char* UCS4Tokenize(const char *buf,
- const char *bufend,
- ucs4_t *dstbuf,
- ucs4_t *dstbufend,
- const char*& origstart,
- size_t& tokenlen) const;
+ Fast_NormalizeWordFolder();
+ virtual ~Fast_NormalizeWordFolder();
+ virtual size_t FoldedSizeAsUTF8(const char *word) const;
+ virtual char *FoldUTF8WordToUTF8Quick(char *wordbufpos, const char *word) const;
+ virtual const char *Tokenize(const char *buf, const char *bufend, char *dstbuf,
+ char *dstbufend, const char*& origstart, size_t& tokenlen) const;
+ virtual const char *Tokenize(const char *buf, const char *bufend, ucs4_t *dstbuf,
+ ucs4_t *dstbufend, const char*& origstart, size_t& tokenlen) const;
+ const char* UCS4Tokenize(const char *buf, const char *bufend, ucs4_t *dstbuf,
+ ucs4_t *dstbufend, const char*& origstart, size_t& tokenlen) const override;
};
diff --git a/messagebus/src/vespa/messagebus/network/oosclient.cpp b/messagebus/src/vespa/messagebus/network/oosclient.cpp
index 28e46483c50..d0039d3d800 100644
--- a/messagebus/src/vespa/messagebus/network/oosclient.cpp
+++ b/messagebus/src/vespa/messagebus/network/oosclient.cpp
@@ -1,6 +1,7 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "oosclient.h"
+#include <vespa/fnet/frt/supervisor.h>
namespace mbus {
diff --git a/messagebus/src/vespa/messagebus/network/oosclient.h b/messagebus/src/vespa/messagebus/network/oosclient.h
index 62f799740ec..7fc76930519 100644
--- a/messagebus/src/vespa/messagebus/network/oosclient.h
+++ b/messagebus/src/vespa/messagebus/network/oosclient.h
@@ -2,7 +2,8 @@
#pragma once
-#include <vespa/fnet/frt/frt.h>
+#include <vespa/fnet/frt/invoker.h>
+#include <vespa/fnet/frt/target.h>
#include <vespa/messagebus/common.h>
#include <vector>
#include <set>
@@ -53,14 +54,14 @@ private:
/**
* From FNET_Task, performs overall server poll logic.
**/
- void PerformTask();
+ void PerformTask() override;
/**
* From FRT_IRequestWait, picks up server replies.
*
* @param req the request that has completed
**/
- void RequestDone(FRT_RPCRequest *req);
+ void RequestDone(FRT_RPCRequest *req) override;
public:
/**
diff --git a/messagebus/src/vespa/messagebus/network/oosmanager.h b/messagebus/src/vespa/messagebus/network/oosmanager.h
index e2606a25caa..836b8bf7393 100644
--- a/messagebus/src/vespa/messagebus/network/oosmanager.h
+++ b/messagebus/src/vespa/messagebus/network/oosmanager.h
@@ -1,12 +1,11 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
+#include "oosclient.h"
#include <vespa/fnet/task.h>
-#include <set>
#include <vespa/slobrok/imirrorapi.h>
-#include <string>
#include <vespa/vespalib/util/sync.h>
-#include "oosclient.h"
+#include <set>
class FRT_Supervisor;
@@ -54,7 +53,7 @@ private:
* Method invoked when this object is run as a task. This method will update the oos information held by
* this object.
*/
- void PerformTask();
+ void PerformTask() override;
public:
/**
diff --git a/messagebus/src/vespa/messagebus/network/rpcnetwork.cpp b/messagebus/src/vespa/messagebus/network/rpcnetwork.cpp
index 21a63cc9060..4919e057df1 100644
--- a/messagebus/src/vespa/messagebus/network/rpcnetwork.cpp
+++ b/messagebus/src/vespa/messagebus/network/rpcnetwork.cpp
@@ -1,10 +1,10 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "inetworkowner.h"
#include "rpcnetwork.h"
-#include <vespa/messagebus/emptyreply.h>
#include <vespa/messagebus/errorcode.h>
#include <vespa/messagebus/iprotocol.h>
#include <vespa/messagebus/tracelevel.h>
+#include <vespa/messagebus/emptyreply.h>
#include <vespa/messagebus/routing/routingnode.h>
#include <vespa/slobrok/sbregister.h>
#include <vespa/slobrok/sbmirror.h>
@@ -12,7 +12,6 @@
LOG_SETUP(".rpcnetwork");
-
namespace {
/**
@@ -37,7 +36,7 @@ public:
_gate.await();
}
- void PerformTask() {
+ void PerformTask() override {
_gate.countDown();
}
};
diff --git a/messagebus/src/vespa/messagebus/network/rpcnetwork.h b/messagebus/src/vespa/messagebus/network/rpcnetwork.h
index 674fb579b61..5edd660893f 100644
--- a/messagebus/src/vespa/messagebus/network/rpcnetwork.h
+++ b/messagebus/src/vespa/messagebus/network/rpcnetwork.h
@@ -1,18 +1,20 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <vespa/messagebus/blob.h>
-#include <vespa/messagebus/blobref.h>
-#include <vespa/messagebus/message.h>
-#include <vespa/messagebus/reply.h>
-#include <vespa/slobrok/imirrorapi.h>
-#include <vespa/vespalib/component/versionspecification.h>
#include "inetwork.h"
#include "oosmanager.h"
#include "rpcnetworkparams.h"
#include "rpcsendv1.h"
#include "rpcservicepool.h"
#include "rpctargetpool.h"
+#include <vespa/messagebus/blob.h>
+#include <vespa/messagebus/blobref.h>
+#include <vespa/messagebus/message.h>
+#include <vespa/messagebus/reply.h>
+#include <vespa/slobrok/imirrorapi.h>
+#include <vespa/vespalib/component/versionspecification.h>
+#include <vespa/fnet/transport.h>
+#include <vespa/fnet/frt/supervisor.h>
namespace slobrok {
namespace api {
@@ -39,14 +41,14 @@ private:
vespalib::Version _version;
SendContext(RPCNetwork &net, const Message &msg, const std::vector<RoutingNode*> &recipients);
- void handleVersion(const vespalib::Version *version);
+ void handleVersion(const vespalib::Version *version) override;
};
struct TargetPoolTask : public FNET_Task {
RPCTargetPool &_pool;
TargetPoolTask(FNET_Scheduler &scheduler, RPCTargetPool &pool);
- void PerformTask();
+ void PerformTask() override;
};
typedef std::map<vespalib::VersionSpecification, RPCSendAdapter*> SendAdapterMap;
@@ -210,46 +212,20 @@ public:
void replyError(const SendContext &ctx, uint32_t errCode,
const string &errMsg);
- // Implements INetwork.
- void attach(INetworkOwner &owner);
-
- // Implements INetwork.
- const string getConnectionSpec() const;
-
- // Implements INetwork.
- bool start();
-
- // Implements INetwork.
- bool waitUntilReady(double seconds) const;
-
- // Implements INetwork.
- void registerSession(const string &session);
-
- // Implements INetwork.
- void unregisterSession(const string &session);
-
- // Implements INetwork.
- bool allocServiceAddress(RoutingNode &recipient);
-
- // Implements INetwork.
- void freeServiceAddress(RoutingNode &recipient);
-
- // Implements INetwork.
- void send(const Message &msg, const std::vector<RoutingNode*> &recipients);
-
- // Implements INetwork.
- void sync();
-
- // Implements INetwork.
- void shutdown();
-
- // Implements INetwork.
- void postShutdownHook();
-
- // Implements INetwork.
- const slobrok::api::IMirrorAPI &getMirror() const;
+ void attach(INetworkOwner &owner) override;
+ const string getConnectionSpec() const override;
+ bool start() override;
+ bool waitUntilReady(double seconds) const override;
+ void registerSession(const string &session) override;
+ void unregisterSession(const string &session) override;
+ bool allocServiceAddress(RoutingNode &recipient) override;
+ void freeServiceAddress(RoutingNode &recipient) override;
+ void send(const Message &msg, const std::vector<RoutingNode*> &recipients) override;
+ void sync() override;
+ void shutdown() override;
+ void postShutdownHook() override;
+ const slobrok::api::IMirrorAPI &getMirror() const override;
- // Implements FRT_Invokable.
void invoke(FRT_RPCRequest *req);
};
diff --git a/messagebus/src/vespa/messagebus/network/rpcsendadapter.h b/messagebus/src/vespa/messagebus/network/rpcsendadapter.h
index 136f2a0f23c..2a00b9193fe 100644
--- a/messagebus/src/vespa/messagebus/network/rpcsendadapter.h
+++ b/messagebus/src/vespa/messagebus/network/rpcsendadapter.h
@@ -1,8 +1,8 @@
// 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/util/referencecounter.h>
+#include <vespa/messagebus/blobref.h>
+#include <vespa/vespalib/component/version.h>
namespace mbus {
diff --git a/messagebus/src/vespa/messagebus/network/rpcsendv1.cpp b/messagebus/src/vespa/messagebus/network/rpcsendv1.cpp
index c62b1c3f0b8..795141f42d6 100644
--- a/messagebus/src/vespa/messagebus/network/rpcsendv1.cpp
+++ b/messagebus/src/vespa/messagebus/network/rpcsendv1.cpp
@@ -1,13 +1,12 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
+#include "rpcnetwork.h"
#include <vespa/messagebus/routing/routingnode.h>
#include <vespa/messagebus/emptyreply.h>
-#include <vespa/messagebus/error.h>
#include <vespa/messagebus/errorcode.h>
#include <vespa/messagebus/tracelevel.h>
#include <vespa/vespalib/util/stringfmt.h>
-#include "rpcnetwork.h"
-#include "rpcsendv1.h"
-#include "rpctarget.h"
+#include <vespa/fnet/channel.h>
namespace {
diff --git a/messagebus/src/vespa/messagebus/network/rpcsendv1.h b/messagebus/src/vespa/messagebus/network/rpcsendv1.h
index 8ea63f39403..4d85dd6aca9 100644
--- a/messagebus/src/vespa/messagebus/network/rpcsendv1.h
+++ b/messagebus/src/vespa/messagebus/network/rpcsendv1.h
@@ -1,10 +1,11 @@
// 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/frt/frt.h>
+#include "rpcsendadapter.h"
#include <vespa/messagebus/idiscardhandler.h>
#include <vespa/messagebus/ireplyhandler.h>
-#include "rpcsendadapter.h"
+#include <vespa/fnet/frt/invokable.h>
+
namespace mbus {
diff --git a/messagebus/src/vespa/messagebus/network/rpctarget.cpp b/messagebus/src/vespa/messagebus/network/rpctarget.cpp
index b50212cd1b4..c9caa9ebe4b 100644
--- a/messagebus/src/vespa/messagebus/network/rpctarget.cpp
+++ b/messagebus/src/vespa/messagebus/network/rpctarget.cpp
@@ -1,6 +1,7 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "rpctarget.h"
#include <vespa/vespalib/util/exceptions.h>
+#include <vespa/fnet/frt/supervisor.h>
namespace mbus {
diff --git a/messagebus/src/vespa/messagebus/network/rpctarget.h b/messagebus/src/vespa/messagebus/network/rpctarget.h
index 89212c783b0..c7108f40a05 100644
--- a/messagebus/src/vespa/messagebus/network/rpctarget.h
+++ b/messagebus/src/vespa/messagebus/network/rpctarget.h
@@ -1,11 +1,11 @@
// 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/frt/frt.h>
-#include <vector>
+#include <vespa/messagebus/common.h>
+#include <vespa/fnet/frt/invoker.h>
+#include <vespa/fnet/frt/target.h>
#include <vespa/vespalib/component/version.h>
#include <vespa/vespalib/util/sync.h>
-#include <vespa/messagebus/common.h>
namespace mbus {
@@ -113,7 +113,7 @@ public:
const vespalib::Version &getVersion() const { return *_version; }
// Implements FRT_IRequestWait.
- void RequestDone(FRT_RPCRequest *req);
+ void RequestDone(FRT_RPCRequest *req) override;
};
} // namespace mbus
diff --git a/messagebus/src/vespa/messagebus/routing/errordirective.h b/messagebus/src/vespa/messagebus/routing/errordirective.h
index d55596e2871..5c125c65820 100644
--- a/messagebus/src/vespa/messagebus/routing/errordirective.h
+++ b/messagebus/src/vespa/messagebus/routing/errordirective.h
@@ -31,10 +31,10 @@ public:
*/
const string &getMessage() const { return _msg; }
- virtual Type getType() const { return TYPE_ERROR; }
- virtual bool matches(const IHopDirective &) const { return false; }
- virtual string toString() const;
- virtual string toDebugString() const;
+ Type getType() const override { return TYPE_ERROR; }
+ bool matches(const IHopDirective &) const override { return false; }
+ string toString() const override;
+ string toDebugString() const override;
};
} // mbus
diff --git a/messagebus/src/vespa/messagebus/routing/policydirective.h b/messagebus/src/vespa/messagebus/routing/policydirective.h
index 3b25bd76197..30102ff276b 100644
--- a/messagebus/src/vespa/messagebus/routing/policydirective.h
+++ b/messagebus/src/vespa/messagebus/routing/policydirective.h
@@ -41,10 +41,10 @@ public:
*/
const string &getParam() const { return _param; }
- virtual Type getType() const { return TYPE_POLICY; }
- virtual bool matches(const IHopDirective &) const { return true; }
- virtual string toString() const;
- virtual string toDebugString() const;
+ Type getType() const override { return TYPE_POLICY; }
+ bool matches(const IHopDirective &) const override { return true; }
+ string toString() const override;
+ string toDebugString() const override;
};
} // mbus
diff --git a/messagebus/src/vespa/messagebus/routing/retrytransienterrorspolicy.h b/messagebus/src/vespa/messagebus/routing/retrytransienterrorspolicy.h
index 98efe3de08c..b56844789ef 100644
--- a/messagebus/src/vespa/messagebus/routing/retrytransienterrorspolicy.h
+++ b/messagebus/src/vespa/messagebus/routing/retrytransienterrorspolicy.h
@@ -42,11 +42,8 @@ public:
*/
RetryTransientErrorsPolicy &setBaseDelay(double baseDelay);
- // Implements IRetryPolicy.
- bool canRetry(uint32_t errorCode) const;
-
- // Implements IRetryPolicy.
- double getRetryDelay(uint32_t retry) const;
+ bool canRetry(uint32_t errorCode) const override;
+ double getRetryDelay(uint32_t retry) const override;
};
} // namespace mbus
diff --git a/messagebus/src/vespa/messagebus/routing/routedirective.h b/messagebus/src/vespa/messagebus/routing/routedirective.h
index 3fe50e2efd9..d95c3d37aaf 100644
--- a/messagebus/src/vespa/messagebus/routing/routedirective.h
+++ b/messagebus/src/vespa/messagebus/routing/routedirective.h
@@ -32,10 +32,10 @@ public:
*/
const string &getName() const { return _name; }
- virtual Type getType() const { return TYPE_ROUTE; }
- virtual bool matches(const IHopDirective &dir) const;
- virtual string toString() const;
- virtual string toDebugString() const;
+ Type getType() const override { return TYPE_ROUTE; }
+ bool matches(const IHopDirective &dir) const override;
+ string toString() const override;
+ string toDebugString() const override;
};
} // mbus
diff --git a/messagebus/src/vespa/messagebus/routing/routeparser.cpp b/messagebus/src/vespa/messagebus/routing/routeparser.cpp
index 86f5e3433f1..0329f7fd9d9 100644
--- a/messagebus/src/vespa/messagebus/routing/routeparser.cpp
+++ b/messagebus/src/vespa/messagebus/routing/routeparser.cpp
@@ -5,10 +5,7 @@
#include "routeparser.h"
#include "tcpdirective.h"
#include "verbatimdirective.h"
-#include <vespa/messagebus/common.h>
-#include <stdio.h>
#include <vespa/vespalib/util/stringfmt.h>
-#include <vespa/vespalib/util/vstringfmt.h>
using vespalib::stringref;
diff --git a/messagebus/src/vespa/messagebus/routing/routingnode.h b/messagebus/src/vespa/messagebus/routing/routingnode.h
index aa854dce5ef..21a70270c9e 100644
--- a/messagebus/src/vespa/messagebus/routing/routingnode.h
+++ b/messagebus/src/vespa/messagebus/routing/routingnode.h
@@ -440,8 +440,7 @@ public:
*/
void setServiceAddress(IServiceAddress::UP serviceAddress) { _serviceAddress = std::move(serviceAddress); }
- // Inherit doc from IReplyHandler.
- virtual void handleReply(Reply::UP reply);
+ void handleReply(Reply::UP reply) override;
};
} // namespace mbus
diff --git a/messagebus/src/vespa/messagebus/routing/tcpdirective.h b/messagebus/src/vespa/messagebus/routing/tcpdirective.h
index ab8c422c387..12cb90e07f8 100644
--- a/messagebus/src/vespa/messagebus/routing/tcpdirective.h
+++ b/messagebus/src/vespa/messagebus/routing/tcpdirective.h
@@ -1,7 +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 <stdint.h>
#include "ihopdirective.h"
namespace mbus {
@@ -50,10 +49,10 @@ public:
*/
const string &getSession() const { return _session; }
- virtual Type getType() const { return TYPE_TCP; }
- virtual bool matches(const IHopDirective &dir) const;
- virtual string toString() const;
- virtual string toDebugString() const;
+ Type getType() const override { return TYPE_TCP; }
+ bool matches(const IHopDirective &dir) const override;
+ string toString() const override;
+ string toDebugString() const override;
};
} // mbus
diff --git a/messagebus/src/vespa/messagebus/routing/verbatimdirective.h b/messagebus/src/vespa/messagebus/routing/verbatimdirective.h
index 41ebae497f9..df7e7fff6c0 100644
--- a/messagebus/src/vespa/messagebus/routing/verbatimdirective.h
+++ b/messagebus/src/vespa/messagebus/routing/verbatimdirective.h
@@ -31,10 +31,10 @@ public:
*/
const string &getImage() const { return _image; }
- virtual Type getType() const { return TYPE_VERBATIM; }
- virtual bool matches(const IHopDirective &dir) const;
- virtual string toString() const;
- virtual string toDebugString() const;
+ Type getType() const override { return TYPE_VERBATIM; }
+ bool matches(const IHopDirective &dir) const override;
+ string toString() const override;
+ string toDebugString() const override;
};
} // mbus
diff --git a/searchcommon/src/vespa/searchcommon/attribute/iattributevector.h b/searchcommon/src/vespa/searchcommon/attribute/iattributevector.h
index 331e950879a..6f7e01dd7af 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/iattributevector.h
+++ b/searchcommon/src/vespa/searchcommon/attribute/iattributevector.h
@@ -2,12 +2,10 @@
#pragma once
-#include <string>
-#include <stdint.h>
-#include <vespa/vespalib/stllike/string.h>
+#include "collectiontype.h"
+#include "basictype.h"
#include <vespa/searchcommon/common/iblobconverter.h>
-#include <vespa/searchcommon/attribute/collectiontype.h>
-#include <vespa/searchcommon/attribute/basictype.h>
+#include <vespa/vespalib/stllike/string.h>
namespace search {
diff --git a/searchlib/src/vespa/searchlib/aggregation/aggregationresult.h b/searchlib/src/vespa/searchlib/aggregation/aggregationresult.h
index 1665da12d31..2cf40ee7750 100644
--- a/searchlib/src/vespa/searchlib/aggregation/aggregationresult.h
+++ b/searchlib/src/vespa/searchlib/aggregation/aggregationresult.h
@@ -14,14 +14,17 @@ using search::expression::DocId;
private: \
public:
-#define DECLARE_AGGREGATIONRESULT(cclass) \
- DECLARE_IDENTIFIABLE_NS2(search, aggregation, cclass); \
- DECLARE_NBO_SERIALIZE; \
- virtual cclass *clone() const { return new cclass(*this); } \
- private: \
- virtual void onMerge(const AggregationResult & b); \
- virtual void onAggregate(const ResultNode &result); \
- virtual void onReset(); \
+#define DECLARE_AGGREGATIONRESULT_BASE(cclass) \
+ DECLARE_IDENTIFIABLE_NS2(search, aggregation, cclass); \
+ DECLARE_NBO_SERIALIZE;
+
+#define DECLARE_AGGREGATIONRESULT(cclass) \
+ DECLARE_AGGREGATIONRESULT_BASE(cclass); \
+ cclass *clone() const override { return new cclass(*this); } \
+ private: \
+ void onMerge(const AggregationResult & b) override; \
+ void onAggregate(const ResultNode &result) override; \
+ void onReset() override; \
public:
// resultNodePrimitive : countHits | hits(INTEGER) | groups(INTEGER) | xor | sum | min | max |avg
@@ -41,12 +44,12 @@ public:
class Configure : public vespalib::ObjectOperation, public vespalib::ObjectPredicate
{
private:
- virtual void execute(vespalib::Identifiable &obj);
- virtual bool check(const vespalib::Identifiable &obj) const;
+ void execute(vespalib::Identifiable &obj) override;
+ bool check(const vespalib::Identifiable &obj) const override;
};
- virtual void visitMembers(vespalib::ObjectVisitor & visitor) const;
- virtual void selectMembers(const vespalib::ObjectPredicate & predicate, vespalib::ObjectOperation & operation);
+ void visitMembers(vespalib::ObjectVisitor & visitor) const override;
+ void selectMembers(const vespalib::ObjectPredicate & predicate, vespalib::ObjectOperation & operation) override;
void reset() { onReset(); }
void merge(const AggregationResult & b) { onMerge(b); }
@@ -60,18 +63,16 @@ public:
}
const ResultNode & getRank() const { return onGetRank(); }
- const ResultNode & getResult() const { return onGetRank(); }
+ const ResultNode & getResult() const override { return onGetRank(); }
virtual ResultNode & getResult() { return const_cast<ResultNode &>(onGetRank()); }
- virtual AggregationResult * clone() const = 0;
+ virtual AggregationResult * clone() const override = 0;
const ExpressionNode * getExpression() const { return _expressionTree->getRoot(); }
ExpressionNode * getExpression() { return _expressionTree->getRoot(); }
protected:
AggregationResult();
private:
- /// from expressionnode
- virtual void onPrepare(bool preserveAccurateTypes) { (void) preserveAccurateTypes; }
- /// from expressionnode
- virtual bool onExecute() const { return true; }
+ void onPrepare(bool preserveAccurateTypes) override { (void) preserveAccurateTypes; }
+ bool onExecute() const override { return true; }
void prepare() { if (getExpression() != NULL) { prepare(&getExpression()->getResult(), false); } }
void prepare(const ResultNode * result, bool useForInit) { if (result) { onPrepare(*result, useForInit); } }
diff --git a/searchlib/src/vespa/searchlib/aggregation/expressioncountaggregationresult.h b/searchlib/src/vespa/searchlib/aggregation/expressioncountaggregationresult.h
index fb4ee2b2a6a..5e55c146660 100644
--- a/searchlib/src/vespa/searchlib/aggregation/expressioncountaggregationresult.h
+++ b/searchlib/src/vespa/searchlib/aggregation/expressioncountaggregationresult.h
@@ -21,15 +21,14 @@ class ExpressionCountAggregationResult : public AggregationResult {
HyperLogLog<PRECISION> _hll;
expression::Int64ResultNode _rank;
- virtual const ResultNode & onGetRank() const { return _rank; }
- virtual void onPrepare(const ResultNode &, bool) { }
+ const ResultNode & onGetRank() const override { return _rank; }
+ void onPrepare(const ResultNode &, bool) override { }
public:
DECLARE_AGGREGATIONRESULT(ExpressionCountAggregationResult);
ExpressionCountAggregationResult() : AggregationResult(), _hll() { }
- virtual void visitMembers(vespalib::ObjectVisitor &) const {}
- const Sketch<PRECISION, uint32_t> &getSketch() const
- { return _hll.getSketch(); }
+ void visitMembers(vespalib::ObjectVisitor &) const override {}
+ const Sketch<PRECISION, uint32_t> &getSketch() const { return _hll.getSketch(); }
};
} // namespace aggregation
diff --git a/searchlib/src/vespa/searchlib/aggregation/fs4hit.h b/searchlib/src/vespa/searchlib/aggregation/fs4hit.h
index b5392b25e72..96e394333a2 100644
--- a/searchlib/src/vespa/searchlib/aggregation/fs4hit.h
+++ b/searchlib/src/vespa/searchlib/aggregation/fs4hit.h
@@ -23,8 +23,8 @@ public:
FS4Hit() : Hit(), _path(0), _docId(0), _globalId(), _distributionKey(-1) {}
FS4Hit(DocId docId, HitRank rank)
: Hit(rank), _path(0), _docId(docId), _globalId(), _distributionKey(-1) {}
- virtual FS4Hit *clone() const { return new FS4Hit(*this); }
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
+ FS4Hit *clone() const override { return new FS4Hit(*this); }
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
uint32_t getPath() const { return _path; }
FS4Hit &setPath(uint32_t val) { _path = val; return *this; }
uint32_t getDocId() const { return _docId; }
diff --git a/searchlib/src/vespa/searchlib/aggregation/group.h b/searchlib/src/vespa/searchlib/aggregation/group.h
index 87fd1794150..2d95c8d1161 100644
--- a/searchlib/src/vespa/searchlib/aggregation/group.h
+++ b/searchlib/src/vespa/searchlib/aggregation/group.h
@@ -175,7 +175,7 @@ private:
public:
DECLARE_IDENTIFIABLE_NS2(search, aggregation, Group);
DECLARE_NBO_SERIALIZE;
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
Group();
Group(const Group & rhs);
Group & operator =(const Group & rhs);
diff --git a/searchlib/src/vespa/searchlib/aggregation/grouping.cpp b/searchlib/src/vespa/searchlib/aggregation/grouping.cpp
index 098d7ad1b40..d376ee5fd46 100644
--- a/searchlib/src/vespa/searchlib/aggregation/grouping.cpp
+++ b/searchlib/src/vespa/searchlib/aggregation/grouping.cpp
@@ -60,7 +60,7 @@ private:
uint32_t _level;
public:
EnumConverter(Grouping & g, uint32_t level) : _grouping(g), _level(level) { }
- virtual void execute(vespalib::Identifiable &obj) {
+ void execute(vespalib::Identifiable &obj) override {
Group &group = static_cast<Group &>(obj);
uint32_t tmplevel = _level;
if (group.hasId()) {
@@ -81,7 +81,7 @@ public:
list[i]->select(enumConverter, enumConverter);
}
}
- virtual bool check(const vespalib::Identifiable &obj) const { return obj.inherits(Group::classId); }
+ bool check(const vespalib::Identifiable &obj) const override { return obj.inherits(Group::classId); }
};
class GlobalIdConverter : public vespalib::ObjectOperation, public vespalib::ObjectPredicate
@@ -90,14 +90,14 @@ private:
const IDocumentMetaStore &_metaStore;
public:
GlobalIdConverter(const IDocumentMetaStore &metaStore) : _metaStore(metaStore) {}
- virtual void execute(vespalib::Identifiable & obj) {
+ void execute(vespalib::Identifiable & obj) override {
FS4Hit & hit = static_cast<FS4Hit &>(obj);
document::GlobalId gid;
_metaStore.getGid(hit.getDocId(), gid);
hit.setGlobalId(gid);
LOG(debug, "GlobalIdConverter: lid(%u) -> gid(%s)", hit.getDocId(), hit.getGlobalId().toString().c_str());
}
- virtual bool check(const vespalib::Identifiable & obj) const {
+ bool check(const vespalib::Identifiable & obj) const override {
return obj.inherits(FS4Hit::classId);
}
};
diff --git a/searchlib/src/vespa/searchlib/aggregation/grouping.h b/searchlib/src/vespa/searchlib/aggregation/grouping.h
index 687e26b7fcd..fe373a96d5c 100644
--- a/searchlib/src/vespa/searchlib/aggregation/grouping.h
+++ b/searchlib/src/vespa/searchlib/aggregation/grouping.h
@@ -40,7 +40,7 @@ private:
public:
DECLARE_IDENTIFIABLE_NS2(search, aggregation, Grouping);
DECLARE_NBO_SERIALIZE;
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
Grouping();
Grouping(const Grouping &);
Grouping & operator = (const Grouping &);
diff --git a/searchlib/src/vespa/searchlib/aggregation/groupinglevel.h b/searchlib/src/vespa/searchlib/aggregation/groupinglevel.h
index 3c49b98e16a..30038aca0a5 100644
--- a/searchlib/src/vespa/searchlib/aggregation/groupinglevel.h
+++ b/searchlib/src/vespa/searchlib/aggregation/groupinglevel.h
@@ -66,7 +66,7 @@ private:
void group(Group & g, const ResultNode & result, const document::Document & doc, HitRank rank) const override {
groupDoc(g, result, doc, rank);
}
- virtual MultiValueGrouper * clone() const { return new MultiValueGrouper(*this); }
+ MultiValueGrouper * clone() const override { return new MultiValueGrouper(*this); }
};
int64_t _maxGroups;
int64_t _precision;
diff --git a/searchlib/src/vespa/searchlib/aggregation/hit.h b/searchlib/src/vespa/searchlib/aggregation/hit.h
index cd9758722ed..f958ec2035c 100644
--- a/searchlib/src/vespa/searchlib/aggregation/hit.h
+++ b/searchlib/src/vespa/searchlib/aggregation/hit.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 "rawrank.h"
#include <vespa/searchlib/common/identifiable.h>
#include <vespa/searchlib/common/hitrank.h>
-#include "rawrank.h"
-
namespace search {
namespace aggregation {
@@ -23,8 +22,8 @@ public:
Hit(RawRank rank) : _rank(rank) {}
RawRank getRank() const { return _rank; }
virtual Hit *clone() const = 0;
- virtual int onCmp(const Identifiable &b) const;
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
+ int onCmp(const Identifiable &b) const override;
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
};
}
diff --git a/searchlib/src/vespa/searchlib/aggregation/hitlist.h b/searchlib/src/vespa/searchlib/aggregation/hitlist.h
index 34c5bcaba46..1d701f5a004 100644
--- a/searchlib/src/vespa/searchlib/aggregation/hitlist.h
+++ b/searchlib/src/vespa/searchlib/aggregation/hitlist.h
@@ -1,9 +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 <vespa/searchlib/common/identifiable.h>
#include "fs4hit.h"
#include "vdshit.h"
+#include <vespa/searchlib/common/identifiable.h>
namespace search {
namespace aggregation {
@@ -19,35 +19,35 @@ private:
std::vector<FS4Hit> _fs4hits;
std::vector<VdsHit> _vdshits;
- virtual int64_t onGetInteger(size_t index) const { (void) index; return 0; }
- virtual double onGetFloat(size_t index) const { (void) index; return 0.0; }
- virtual ConstBufferRef onGetString(size_t index, BufferRef buf) const { (void) index; return buf; }
- virtual size_t hash() const { return 0; }
- virtual void set(const ResultNode & rhs);
- virtual void decode(const void * buf) {
+ int64_t onGetInteger(size_t index) const override { (void) index; return 0; }
+ double onGetFloat(size_t index) const override { (void) index; return 0.0; }
+ ConstBufferRef onGetString(size_t index, BufferRef buf) const override { (void) index; return buf; }
+ size_t hash() const override { return 0; }
+ void set(const ResultNode & rhs) override;
+ void decode(const void * buf) override {
_fs4hits = *static_cast<const Fs4V *>(buf);
_vdshits = *static_cast<const VdsV *>(static_cast<const void *>(static_cast<const uint8_t *>(buf)+sizeof(_fs4hits)));
}
- virtual void swap(void * buf) {
+ void swap(void * buf) override {
static_cast<Fs4V *>(buf)->swap(_fs4hits);
static_cast<VdsV *>(static_cast<void *>(static_cast<uint8_t *>(buf)+sizeof(_fs4hits)))->swap(_vdshits);
}
- virtual void encode(void * buf) const {
+ void encode(void * buf) const override {
*static_cast<Fs4V *>(buf) = _fs4hits;
*static_cast<VdsV *>(static_cast<void *>(static_cast<uint8_t *>(buf)+sizeof(_fs4hits))) = _vdshits;
}
- virtual void create(void * buf) const {
+ void create(void * buf) const override {
new (buf) Fs4V();
new (static_cast<uint8_t *>(buf)+sizeof(_fs4hits)) VdsV();
}
- virtual void destroy(void * buf) const {
+ void destroy(void * buf) const override {
static_cast<Fs4V *>(buf)->Fs4V::~Fs4V();
static_cast<VdsV *>(static_cast<void *>(static_cast<uint8_t *>(buf)+sizeof(_fs4hits)))->VdsV::~VdsV();
}
- virtual size_t getRawByteSize() const { return sizeof(_fs4hits) + sizeof(_vdshits); }
+ size_t getRawByteSize() const override { return sizeof(_fs4hits) + sizeof(_vdshits); }
public:
DECLARE_IDENTIFIABLE_NS2(search, aggregation, HitList);
- HitList * clone() const { return new HitList(*this); }
+ HitList * clone() const override { return new HitList(*this); }
DECLARE_NBO_SERIALIZE;
HitList() :
_fs4hits(),
@@ -63,10 +63,10 @@ public:
HitList & addHit(const FS4Hit & hit, uint32_t maxHits);
HitList & addHit(const VdsHit & hit, uint32_t maxHits);
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
- virtual void selectMembers(const vespalib::ObjectPredicate &predicate,
- vespalib::ObjectOperation &operation);
- void sort();
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
+ void selectMembers(const vespalib::ObjectPredicate &predicate,
+ vespalib::ObjectOperation &operation) override;
+ void sort() override;
HitList & sort2() { sort(); return *this; }
};
diff --git a/searchlib/src/vespa/searchlib/aggregation/hitsaggregationresult.h b/searchlib/src/vespa/searchlib/aggregation/hitsaggregationresult.h
index 06ea5dc0389..11565c21ca2 100644
--- a/searchlib/src/vespa/searchlib/aggregation/hitsaggregationresult.h
+++ b/searchlib/src/vespa/searchlib/aggregation/hitsaggregationresult.h
@@ -22,11 +22,10 @@ public:
};
private:
- virtual void onPrepare(const ResultNode & result, bool useForInit);
-
- virtual void onAggregate(const ResultNode &result, DocId docId, HitRank rank);
- virtual void onAggregate(const ResultNode &result, const document::Document & doc, HitRank rank);
- virtual const ResultNode & onGetRank() const;
+ void onPrepare(const ResultNode & result, bool useForInit) override;
+ void onAggregate(const ResultNode &result, DocId docId, HitRank rank) override;
+ void onAggregate(const ResultNode &result, const document::Document & doc, HitRank rank) override;
+ const ResultNode & onGetRank() const override;
SummaryClassType _summaryClass;
uint32_t _maxHits;
@@ -39,8 +38,8 @@ public:
class SetOrdered : public vespalib::ObjectOperation, public vespalib::ObjectPredicate
{
private:
- virtual void execute(vespalib::Identifiable &obj) { static_cast<HitsAggregationResult &>(obj)._isOrdered = true; }
- virtual bool check(const vespalib::Identifiable &obj) const { return obj.getClass().inherits(HitsAggregationResult::classId); }
+ void execute(vespalib::Identifiable &obj) override { static_cast<HitsAggregationResult &>(obj)._isOrdered = true; }
+ bool check(const vespalib::Identifiable &obj) const override { return obj.getClass().inherits(HitsAggregationResult::classId); }
};
DECLARE_AGGREGATIONRESULT(HitsAggregationResult);
@@ -53,7 +52,7 @@ public:
_bestHitRank(),
_summaryGenerator(0)
{}
- virtual void postMerge() { _hits.postMerge(_maxHits); }
+ void postMerge() override { _hits.postMerge(_maxHits); }
void setSummaryGenerator(SummaryGenerator & summaryGenerator) { _summaryGenerator = &summaryGenerator; }
const SummaryClassType & getSummaryClass() const { return _summaryClass; }
HitsAggregationResult setSummaryClass(const SummaryClassType & summaryClass) { _summaryClass = summaryClass; return *this; }
@@ -63,12 +62,11 @@ public:
}
HitsAggregationResult & addHit(const FS4Hit &hit) { _hits.addHit(hit, _maxHits); return *this; }
HitsAggregationResult & addHit(const VdsHit &hit) { _hits.addHit(hit, _maxHits); return *this; }
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
- virtual void selectMembers(const vespalib::ObjectPredicate &predicate,
- vespalib::ObjectOperation &operation);
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
+ void selectMembers(const vespalib::ObjectPredicate &predicate, vespalib::ObjectOperation &operation) override;
HitsAggregationResult & sort() { _hits.sort(); return *this; }
- virtual const ResultNode & getResult() const { return _hits; }
- virtual ResultNode & getResult() { return _hits; }
+ const ResultNode & getResult() const override { return _hits; }
+ ResultNode & getResult() override { return _hits; }
};
}
diff --git a/searchlib/src/vespa/searchlib/aggregation/modifiers.h b/searchlib/src/vespa/searchlib/aggregation/modifiers.h
index 048a8db43b7..86530e1b3e8 100644
--- a/searchlib/src/vespa/searchlib/aggregation/modifiers.h
+++ b/searchlib/src/vespa/searchlib/aggregation/modifiers.h
@@ -10,8 +10,8 @@ namespace aggregation {
class Attribute2DocumentAccessor : public vespalib::ObjectOperation, public vespalib::ObjectPredicate
{
private:
- virtual void execute(vespalib::Identifiable &obj);
- virtual bool check(const vespalib::Identifiable &obj) const;
+ void execute(vespalib::Identifiable &obj) override;
+ bool check(const vespalib::Identifiable &obj) const override;
};
}
diff --git a/searchlib/src/vespa/searchlib/aggregation/vdshit.h b/searchlib/src/vespa/searchlib/aggregation/vdshit.h
index f4f5db28eb6..93038b2c00b 100644
--- a/searchlib/src/vespa/searchlib/aggregation/vdshit.h
+++ b/searchlib/src/vespa/searchlib/aggregation/vdshit.h
@@ -18,8 +18,8 @@ public:
VdsHit() : Hit(), _docId(), _summary() {}
VdsHit(DocId docId, HitRank rank) : Hit(rank), _docId(docId), _summary() {}
~VdsHit();
- virtual VdsHit *clone() const { return new VdsHit(*this); }
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
+ VdsHit *clone() const override { return new VdsHit(*this); }
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
const DocId & getDocId() const { return _docId; }
const Summary & getSummary() const { return _summary; }
VdsHit & setDocId(DocId & docId) { _docId = docId; return *this; }
diff --git a/searchlib/src/vespa/searchlib/attribute/attribute_blueprint_factory.cpp b/searchlib/src/vespa/searchlib/attribute/attribute_blueprint_factory.cpp
index c4e9d9701ae..b143c33eed1 100644
--- a/searchlib/src/vespa/searchlib/attribute/attribute_blueprint_factory.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/attribute_blueprint_factory.cpp
@@ -5,9 +5,6 @@
#include "i_document_weight_attribute.h"
#include "iterator_pack.h"
#include "predicate_attribute.h"
-#include <vespa/searchlib/attribute/attributeguard.h>
-#include <vespa/searchlib/attribute/attributevector.h>
-#include <vespa/searchlib/attribute/iattributemanager.h>
#include <vespa/searchlib/common/location.h>
#include <vespa/searchlib/common/locationiterators.h>
#include <vespa/searchlib/query/queryterm.h>
@@ -122,20 +119,16 @@ public:
{
}
- virtual SearchIterator::UP
- createLeafSearch(const TermFieldMatchDataArray &tfmda, bool strict) const
- {
+ SearchIterator::UP createLeafSearch(const TermFieldMatchDataArray &tfmda, bool strict) const override {
assert(tfmda.size() == 1);
return _search_context->createIterator(tfmda[0], strict);
}
- virtual void
- fetchPostings(bool strict)
- {
+ void fetchPostings(bool strict) override {
_search_context->fetchPostings(strict);
}
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
};
void
@@ -313,7 +306,7 @@ public:
}
}
- SearchIterator::UP createLeafSearch(const TermFieldMatchDataArray &tfmda, bool) const
+ SearchIterator::UP createLeafSearch(const TermFieldMatchDataArray &tfmda, bool) const override
{
assert(tfmda.size() == 1);
if (_terms.size() == 0) {
@@ -379,8 +372,7 @@ public:
}
}
- SearchIterator::UP createLeafSearch(const TermFieldMatchDataArray &tfmda, bool strict) const
- {
+ SearchIterator::UP createLeafSearch(const TermFieldMatchDataArray &tfmda, bool strict) const override {
assert(tfmda.size() == 1);
if (_terms.size() == 0) {
return SearchIterator::UP(new search::queryeval::EmptySearch());
@@ -415,8 +407,7 @@ public:
setEstimate(HitEstimate(_dict_entry.posting_size, (_dict_entry.posting_size == 0)));
}
- SearchIterator::UP createLeafSearch(const TermFieldMatchDataArray &tfmda, bool) const
- {
+ SearchIterator::UP createLeafSearch(const TermFieldMatchDataArray &tfmda, bool) const override {
assert(tfmda.size() == 1);
if (_dict_entry.posting_size == 0) {
return SearchIterator::UP(new search::queryeval::EmptySearch());
@@ -424,8 +415,7 @@ public:
return SearchIterator::UP(new queryeval::DocumentWeightSearchIterator(*tfmda[0], _attr, _dict_entry));
}
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const
- {
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override {
search::queryeval::LeafBlueprint::visitMembers(visitor);
visit(visitor, "attribute", _attrName);
}
@@ -494,11 +484,11 @@ public:
}
}
- virtual void visit(NumberTerm & n) { visitTerm(n, true); }
- virtual void visit(LocationTerm &n) { visitLocation(n); }
- virtual void visit(PrefixTerm & n) { visitTerm(n); }
+ void visit(NumberTerm & n) override { visitTerm(n, true); }
+ void visit(LocationTerm &n) override { visitLocation(n); }
+ void visit(PrefixTerm & n) override { visitTerm(n); }
- virtual void visit(RangeTerm &n) {
+ void visit(RangeTerm &n) override {
const string stack = StackDumpCreator::create(n);
const string term = search::queryeval::termAsString(n);
search::QueryTermSimple parsed_term(term, search::QueryTermSimple::WORD);
@@ -516,19 +506,19 @@ public:
}
}
- virtual void visit(StringTerm & n) { visitTerm(n, true); }
- virtual void visit(SubstringTerm & n) {
+ void visit(StringTerm & n) override { visitTerm(n, true); }
+ void visit(SubstringTerm & n) override {
search::query::SimpleRegExpTerm re(vespalib::Regexp::make_from_substring(n.getTerm()),
n.getView(), n.getId(), n.getWeight());
visitTerm(re);
}
- virtual void visit(SuffixTerm & n) {
+ void visit(SuffixTerm & n) override {
search::query::SimpleRegExpTerm re(vespalib::Regexp::make_from_suffix(n.getTerm()),
n.getView(), n.getId(), n.getWeight());
visitTerm(re);
}
- virtual void visit(PredicateQuery &n) { visitPredicate(n); }
- virtual void visit(RegExpTerm & n) { visitTerm(n); }
+ void visit(PredicateQuery &n) override { visitPredicate(n); }
+ void visit(RegExpTerm & n) override { visitTerm(n); }
template <typename WS, typename NODE>
void createDirectWeightedSet(WS *bp, NODE &n) {
@@ -555,7 +545,7 @@ public:
setResult(std::move(result));
}
- virtual void visit(search::query::WeightedSetTerm &n) {
+ void visit(search::query::WeightedSetTerm &n) override {
bool isSingleValue = !_attr.hasMultiValue();
bool isString = (_attr.isStringType() && _attr.hasEnum());
bool isInteger = _attr.isIntegerType();
@@ -587,7 +577,7 @@ public:
}
}
- virtual void visit(search::query::DotProduct &n) {
+ void visit(search::query::DotProduct &n) override {
if (_dwa != nullptr) {
auto *bp = new DirectWeightedSetBlueprint<queryeval::DotProductSearch>(_field, *_dwa, n.getChildren().size());
createDirectWeightedSet(bp, n);
@@ -597,7 +587,7 @@ public:
}
}
- virtual void visit(search::query::WandTerm &n) {
+ void visit(search::query::WandTerm &n) override {
if (_dwa != nullptr) {
auto *bp = new DirectWandBlueprint(_field, *_dwa,
n.getTargetNumHits(), n.getScoreThreshold(), n.getThresholdBoostFactor(),
diff --git a/searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.cpp b/searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.cpp
index aeccad63cf6..56289bdf584 100644
--- a/searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.cpp
@@ -101,20 +101,20 @@ public:
result.foreach_truebit([&, end](uint32_t key) { if ( _map.find(_attr.getToken(key)) == end) { result.clearBit(key); }}, begin_id);
}
- virtual void doSeek(uint32_t docId) {
+ void doSeek(uint32_t docId) override {
Map::const_iterator pos = _map.find(_attr.getToken(docId));
if (pos != _map.end()) {
_weight = pos->second;
setDocId(docId);
}
}
- virtual void doUnpack(uint32_t docId) {
+ void doUnpack(uint32_t docId) override {
_tfmd.reset(docId);
fef::TermFieldMatchDataPosition pos;
pos.setElementWeight(_weight);
_tfmd.appendPosition(pos);
}
- virtual void visitMembers(vespalib::ObjectVisitor &) const {}
+ void visitMembers(vespalib::ObjectVisitor &) const override {}
};
//-----------------------------------------------------------------------------
diff --git a/searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.h b/searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.h
index ef3ddef9001..f30167ef2cf 100644
--- a/searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.h
+++ b/searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.h
@@ -2,10 +2,9 @@
#pragma once
+#include "attributeguard.h"
#include <vespa/searchlib/queryeval/blueprint.h>
-#include <vespa/searchlib/attribute/attributeguard.h>
#include <vespa/searchlib/queryeval/searchiterator.h>
-#include <memory>
#include <vector>
namespace search {
@@ -28,11 +27,10 @@ private:
public:
AttributeWeightedSetBlueprint(const queryeval::FieldSpec &field, const IAttributeVector & attr);
- virtual ~AttributeWeightedSetBlueprint();
+ ~AttributeWeightedSetBlueprint();
void addToken(std::unique_ptr<ISearchContext> context, int32_t weight);
- virtual queryeval::SearchIterator::UP createLeafSearch(const fef::TermFieldMatchDataArray &tfmda, bool strict) const;
-
- virtual void fetchPostings(bool strict);
+ queryeval::SearchIterator::UP createLeafSearch(const fef::TermFieldMatchDataArray &tfmda, bool strict) const override;
+ void fetchPostings(bool strict) override;
};
} // namespace search
diff --git a/searchlib/src/vespa/searchlib/attribute/attributefile.h b/searchlib/src/vespa/searchlib/attribute/attributefile.h
index 895b2472dfb..055424d779e 100644
--- a/searchlib/src/vespa/searchlib/attribute/attributefile.h
+++ b/searchlib/src/vespa/searchlib/attribute/attributefile.h
@@ -1,7 +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/searchlib/attribute/attributevector.h>
+#include "attributevector.h"
#include <vespa/searchlib/common/fileheadercontext.h>
#include <vespa/fastlib/io/bufferedfile.h>
@@ -33,10 +33,9 @@ public:
class FixedRecord : public Record
{
public:
- virtual size_t getValueCount() const { return _data.size(); }
+ size_t getValueCount() const override { return _data.size(); }
private:
- virtual void
- setValue(const void * v, size_t len) {
+ void setValue(const void * v, size_t len) override {
assert(len == sizeof(T));
(void) len;
_data.resize(1);
@@ -44,8 +43,8 @@ public:
_data[0] = * static_cast<const T *>(v);
}
- virtual bool onWrite(AttributeFile & dest) const;
- virtual bool onRead(AttributeFile & src, size_t numValues);
+ bool onWrite(AttributeFile & dest) const override;
+ bool onRead(AttributeFile & src, size_t numValues) override;
std::vector<T> _data;
};
@@ -53,19 +52,17 @@ public:
class VariableRecord : public Record
{
public:
- virtual size_t
- getValueCount() const;
+ size_t getValueCount() const override;
private:
- virtual void setValue(const void * v, size_t len);
- virtual bool onWrite(AttributeFile & dest) const;
- virtual bool onRead(AttributeFile & src, size_t numValues);
+ void setValue(const void * v, size_t len) override;
+ bool onWrite(AttributeFile & dest) const override;
+ bool onRead(AttributeFile & src, size_t numValues) override;
std::vector<char> _data;
};
protected:
typedef attribute::Config Config;
public:
AttributeFile(const vespalib::string & fileName, const Config & config);
-
~AttributeFile(void);
std::unique_ptr<Record> getRecord();
@@ -74,9 +71,7 @@ public:
void enableDirectIO();
protected:
void OpenReadOnly();
- void OpenWriteOnly(const search::common::FileHeaderContext &
- fileHeaderContext,
- uint32_t docIdLimit);
+ void OpenWriteOnly(const search::common::FileHeaderContext &fileHeaderContext, uint32_t docIdLimit);
void Close(void);
bool seekIdxPos(size_t idxPos);
private:
diff --git a/searchlib/src/vespa/searchlib/attribute/attributemanager.h b/searchlib/src/vespa/searchlib/attribute/attributemanager.h
index 4bb68e2c7ba..ebdd738c968 100644
--- a/searchlib/src/vespa/searchlib/attribute/attributemanager.h
+++ b/searchlib/src/vespa/searchlib/attribute/attributemanager.h
@@ -1,9 +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 <vespa/searchlib/attribute/attributeguard.h>
-#include <vespa/searchlib/attribute/iattributemanager.h>
-#include <vespa/searchlib/attribute/interlock.h>
+#include "attributeguard.h"
+#include "iattributemanager.h"
+#include "interlock.h"
#include <vespa/searchlib/common/indexmetainfo.h>
#include <vespa/searchcommon/attribute/config.h>
#include <vespa/vespalib/stllike/hash_map.h>
@@ -36,23 +36,16 @@ public:
**/
const VectorHolder * getAttributeRef(const string & name) const;
- // Implements IAttributeManager
- virtual AttributeGuard::UP getAttribute(const string & name) const;
-
- // Implements IAttributeManager
- virtual AttributeGuard::UP getAttributeStableEnum(const string & name) const;
+ AttributeGuard::UP getAttribute(const string & name) const override;
+ AttributeGuard::UP getAttributeStableEnum(const string & name) const override;
/**
* This will load attributes in the most memory economical way by loading largest first.
*/
bool addVector(const string & name, const Config & config);
-
bool add(const VectorHolder & vector);
- // Implements IAttributeManager
- virtual void getAttributeList(AttributeList & list) const;
-
- // Implements IAttributeManager
- virtual attribute::IAttributeContext::UP createContext() const;
+ void getAttributeList(AttributeList & list) const override;
+ attribute::IAttributeContext::UP createContext() const override;
const Snapshot & getSnapshot() const { return _snapShot; }
const string & getBaseDir() const { return _baseDir; }
diff --git a/searchlib/src/vespa/searchlib/attribute/attributevector.h b/searchlib/src/vespa/searchlib/attribute/attributevector.h
index f313c77f581..b6251dfecc6 100644
--- a/searchlib/src/vespa/searchlib/attribute/attributevector.h
+++ b/searchlib/src/vespa/searchlib/attribute/attributevector.h
@@ -400,16 +400,16 @@ public:
virtual const vespalib::string & getName() const override;
bool hasArrayType() const { return _config.collectionType().isArray(); }
- virtual bool hasEnum() const;
+ bool hasEnum() const override;
bool hasSortedEnum() const { return _hasSortedEnum; }
virtual bool hasEnum2Value() const;
- virtual uint32_t getMaxValueCount() const;
+ uint32_t getMaxValueCount() const override;
uint32_t getEnumMax() const { return _enumMax; }
// Implements IAttributeVector
- virtual uint32_t getNumDocs(void) const;
- uint32_t getCommittedDocIdLimit(void) const { return _committedDocIdLimit; }
- uint32_t & getCommittedDocIdLimitRef(void) { return _committedDocIdLimit; }
+ uint32_t getNumDocs() const override;
+ uint32_t getCommittedDocIdLimit() const { return _committedDocIdLimit; }
+ uint32_t & getCommittedDocIdLimitRef() { return _committedDocIdLimit; }
void setCommittedDocIdLimit(uint32_t committedDocIdLimit) {
_committedDocIdLimit = committedDocIdLimit;
}
@@ -460,15 +460,9 @@ public:
* retrival are type specific. They are accessed by their proper
* type.
*/
- /** Get number of values per document. */
- virtual uint32_t getValueCount(DocId doc) const = 0;
virtual uint32_t clearDoc(DocId doc) = 0;
virtual largeint_t getDefaultValue() const = 0;
- virtual EnumHandle getEnum(DocId doc) const = 0;
- virtual const char * getString(DocId doc, char * v, size_t sz) const = 0;
- virtual largeint_t getInt(DocId doc) const = 0;
- virtual double getFloat(DocId doc) const = 0;
virtual void getEnumValue(const EnumHandle *v, uint32_t *e, uint32_t sz) const = 0;
uint32_t getEnumValue(EnumHandle eh) const {
@@ -478,22 +472,25 @@ public:
}
// Implements IAttributeVector
- virtual uint32_t get(DocId doc, EnumHandle *v, uint32_t sz) const = 0;
+ virtual uint32_t get(DocId doc, EnumHandle *v, uint32_t sz) const override = 0;
+ virtual uint32_t get(DocId doc, const char **v, uint32_t sz) const override = 0;
+ virtual uint32_t get(DocId doc, largeint_t *v, uint32_t sz) const override = 0;
+ virtual uint32_t get(DocId doc, double *v, uint32_t sz) const override = 0;
+
virtual uint32_t get(DocId doc, vespalib::string *v, uint32_t sz) const = 0;
- virtual uint32_t get(DocId doc, const char **v, uint32_t sz) const = 0;
- virtual uint32_t get(DocId doc, largeint_t *v, uint32_t sz) const = 0;
- virtual uint32_t get(DocId doc, double *v, uint32_t sz) const = 0;
+
// Implements IAttributeVector
- virtual uint32_t get(DocId doc, WeightedEnum *v, uint32_t sz) const = 0;
- virtual uint32_t get(DocId doc, WeightedString *v, uint32_t sz) const = 0;
- virtual uint32_t get(DocId doc, WeightedConstChar *v, uint32_t sz) const = 0;
- virtual uint32_t get(DocId doc, WeightedInt *v, uint32_t sz) const = 0;
- virtual uint32_t get(DocId doc, WeightedFloat *v, uint32_t sz) const = 0;
+ virtual uint32_t get(DocId doc, WeightedEnum *v, uint32_t sz) const override = 0;
+ virtual uint32_t get(DocId doc, WeightedString *v, uint32_t sz) const override = 0;
+ virtual uint32_t get(DocId doc, WeightedConstChar *v, uint32_t sz) const override = 0;
+ virtual uint32_t get(DocId doc, WeightedInt *v, uint32_t sz) const override = 0;
+ virtual uint32_t get(DocId doc, WeightedFloat *v, uint32_t sz) const override = 0;
+
virtual int32_t getWeight(DocId doc, uint32_t idx) const;
// Implements IAttributeVector
- virtual bool findEnum(const char *value, EnumHandle &e) const override;
+ bool findEnum(const char *value, EnumHandle &e) const override;
///// Modify API
virtual void onCommit() = 0;
@@ -505,7 +502,7 @@ public:
////// Search API
// type-safe down-cast to attribute supporting direct document weight iterators
- virtual const IDocumentWeightAttribute *asDocumentWeightAttribute() const override;
+ const IDocumentWeightAttribute *asDocumentWeightAttribute() const override;
/**
- Search for equality
diff --git a/searchlib/src/vespa/searchlib/attribute/attrvector.h b/searchlib/src/vespa/searchlib/attribute/attrvector.h
index a13c2a98002..75ff02563f4 100644
--- a/searchlib/src/vespa/searchlib/attribute/attrvector.h
+++ b/searchlib/src/vespa/searchlib/attribute/attrvector.h
@@ -143,20 +143,20 @@ class StringDirectAttribute : public StringAttribute
private:
StringDirectAttribute(const StringDirectAttribute &);
StringDirectAttribute & operator=(const StringDirectAttribute &);
- virtual void onSave(IAttributeSaveTarget & saveTarget);
- virtual bool onLoad();
- virtual const char * getFromEnum(EnumHandle e) const { return &_buffer[e]; }
+ void onSave(IAttributeSaveTarget & saveTarget) override;
+ bool onLoad() override;
+ const char * getFromEnum(EnumHandle e) const override { return &_buffer[e]; }
protected:
StringDirectAttribute(const vespalib::string & baseFileName, const Config & c);
- virtual bool findEnum(const char * value, EnumHandle & e) const;
- virtual void getEnumValue(const EnumHandle * v, uint32_t *e, uint32_t sz) const {
+ bool findEnum(const char * value, EnumHandle & e) const override;
+ void getEnumValue(const EnumHandle * v, uint32_t *e, uint32_t sz) const override {
for (size_t i(0); i < sz; i++) {
e[i] = v[i];
}
}
- virtual void onCommit();
- virtual void onUpdateStat() { }
- virtual bool addDoc(DocId & );
+ void onCommit() override;
+ void onUpdateStat() override { }
+ bool addDoc(DocId & ) override;
protected:
std::vector<char> _buffer;
diff --git a/searchlib/src/vespa/searchlib/attribute/enumcomparator.h b/searchlib/src/vespa/searchlib/attribute/enumcomparator.h
index 1a6dcb4c4e1..5481e967f24 100644
--- a/searchlib/src/vespa/searchlib/attribute/enumcomparator.h
+++ b/searchlib/src/vespa/searchlib/attribute/enumcomparator.h
@@ -43,7 +43,7 @@ public:
}
return 1;
}
- virtual bool operator() (const EnumIndex & lhs, const EnumIndex & rhs) const {
+ bool operator() (const EnumIndex & lhs, const EnumIndex & rhs) const override {
return compare(getValue(lhs), getValue(rhs)) < 0;
}
};
@@ -95,8 +95,8 @@ public:
return ParentType::compare(lhs, rhs);
}
- virtual bool
- operator() (const EnumIndex & lhs, const EnumIndex & rhs) const
+ bool
+ operator() (const EnumIndex & lhs, const EnumIndex & rhs) const override
{
if (getUsePrefix())
return compareFoldedPrefix(getValue(lhs),
diff --git a/searchlib/src/vespa/searchlib/attribute/enumstore.h b/searchlib/src/vespa/searchlib/attribute/enumstore.h
index 439c787f88f..700cf00fd13 100644
--- a/searchlib/src/vespa/searchlib/attribute/enumstore.h
+++ b/searchlib/src/vespa/searchlib/attribute/enumstore.h
@@ -120,8 +120,7 @@ protected:
}
void printEntry(vespalib::asciistream & os, const Entry & e) const;
- virtual void
- freeUnusedEnum(Index idx, IndexSet & unused);
+ void freeUnusedEnum(Index idx, IndexSet & unused) override;
public:
EnumStoreT(uint64_t initBufferSize, bool hasPostings)
@@ -132,7 +131,7 @@ public:
bool getValue(Index idx, Type & value) const;
Type getValue(uint32_t idx) const { return getValue(Index(datastore::EntryRef(idx))); }
Type getValue(Index idx) const { return getEntry(idx).getValue(); }
- virtual uint32_t getFixedSize() const { return Entry::fixedSize(); }
+ uint32_t getFixedSize() const override { return Entry::fixedSize(); }
static uint32_t
getEntrySize(Type value)
@@ -172,60 +171,31 @@ public:
uint64_t getBufferSize() const { return _bufferSize; }
};
- virtual void
- writeValues(BufferWriter &writer,
- const Index *idxs, size_t count) const override;
-
- virtual ssize_t
- deserialize(const void *src, size_t available, size_t &initSpace);
-
- virtual ssize_t
- deserialize(const void *src, size_t available, Index &idx);
-
- virtual bool
- foldedChange(const Index &idx1, const Index &idx2);
-
- virtual bool
- findEnum(Type value, EnumStoreBase::EnumHandle &e) const;
-
- void
- addEnum(Type value, Index &newIdx);
-
- virtual bool
- findIndex(Type value, Index &idx) const;
-
- virtual void
- freeUnusedEnums(bool movePostingidx);
-
- virtual void
- freeUnusedEnums(const IndexVector &toRemove);
-
- void
- reset(Builder &builder);
-
- virtual bool
- performCompaction(uint64_t bytesNeeded);
-
- void
- printCurrentContent(vespalib::asciistream &os) const;
+ void writeValues(BufferWriter &writer, const Index *idxs, size_t count) const override;
+ ssize_t deserialize(const void *src, size_t available, size_t &initSpace) override;
+ ssize_t deserialize(const void *src, size_t available, Index &idx) override;
+ bool foldedChange(const Index &idx1, const Index &idx2) override;
+ virtual bool findEnum(Type value, EnumStoreBase::EnumHandle &e) const;
+ void addEnum(Type value, Index &newIdx);
+ virtual bool findIndex(Type value, Index &idx) const;
+ void freeUnusedEnums(bool movePostingidx) override;
+ void freeUnusedEnums(const IndexVector &toRemove) override;
+ void reset(Builder &builder);
+ bool performCompaction(uint64_t bytesNeeded) override;
+ void printCurrentContent(vespalib::asciistream &os) const;
private:
template <typename Dictionary>
- void
- reset(Builder &builder, Dictionary &dict);
+ void reset(Builder &builder, Dictionary &dict);
template <typename Dictionary>
- void
- addEnum(Type value, Index &newIdx, Dictionary &dict);
+ void addEnum(Type value, Index &newIdx, Dictionary &dict);
template <typename Dictionary>
- void
- performCompaction(Dictionary &dict);
+ void performCompaction(Dictionary &dict);
template <typename Dictionary>
- void
- printCurrentContent(vespalib::asciistream &os,
- const Dictionary &dict) const;
+ void printCurrentContent(vespalib::asciistream &os, const Dictionary &dict) const;
};
template <typename EntryType>
diff --git a/searchlib/src/vespa/searchlib/attribute/integerbase.h b/searchlib/src/vespa/searchlib/attribute/integerbase.h
index e5a9dbe1e48..401a6d7293c 100644
--- a/searchlib/src/vespa/searchlib/attribute/integerbase.h
+++ b/searchlib/src/vespa/searchlib/attribute/integerbase.h
@@ -88,8 +88,8 @@ protected:
}
static T defaultValue() { return attribute::getUndefined<T>(); }
virtual bool findEnum(T v, EnumHandle & e) const = 0;
- virtual largeint_t getDefaultValue() const { return defaultValue(); }
- virtual bool isUndefined(DocId doc) const { return get(doc) == defaultValue(); }
+ largeint_t getDefaultValue() const override { return defaultValue(); }
+ bool isUndefined(DocId doc) const override { return get(doc) == defaultValue(); }
Change _defaultValue;
private:
bool findEnum(const char *value, EnumHandle &e) const override;
diff --git a/searchlib/src/vespa/searchlib/attribute/multistringattribute.h b/searchlib/src/vespa/searchlib/attribute/multistringattribute.h
index 9bfd20e2fc7..ee4dd71ffe0 100644
--- a/searchlib/src/vespa/searchlib/attribute/multistringattribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/multistringattribute.h
@@ -58,13 +58,12 @@ public:
attribute::CollectionType::ARRAY));
~MultiValueStringAttributeT();
- virtual void
- freezeEnumDictionary(void);
+ void freezeEnumDictionary() override;
//-------------------------------------------------------------------------
// new read api
//-------------------------------------------------------------------------
- virtual const char * get(DocId doc) const {
+ const char * get(DocId doc) const override {
WeightedIndexArrayRef indices(this->_mvMapping.get(doc));
if (indices.size() == 0) {
return NULL;
@@ -81,10 +80,10 @@ public:
}
return valueCount;
}
- virtual uint32_t get(DocId doc, vespalib::string * v, uint32_t sz) const {
+ uint32_t get(DocId doc, vespalib::string * v, uint32_t sz) const override {
return getHelper(doc, v, sz);
}
- virtual uint32_t get(DocId doc, const char ** v, uint32_t sz) const {
+ uint32_t get(DocId doc, const char ** v, uint32_t sz) const override {
return getHelper(doc, v, sz);
}
@@ -98,10 +97,10 @@ public:
}
return valueCount;
}
- virtual uint32_t get(DocId doc, WeightedString * v, uint32_t sz) const {
+ uint32_t get(DocId doc, WeightedString * v, uint32_t sz) const override {
return getWeightedHelper(doc, v, sz);
}
- virtual uint32_t get(DocId doc, WeightedConstChar * v, uint32_t sz) const {
+ uint32_t get(DocId doc, WeightedConstChar * v, uint32_t sz) const override {
return getWeightedHelper(doc, v, sz);
}
diff --git a/searchlib/src/vespa/searchlib/attribute/not_implemented_attribute.h b/searchlib/src/vespa/searchlib/attribute/not_implemented_attribute.h
index a3747bcb954..a21b0414c5a 100644
--- a/searchlib/src/vespa/searchlib/attribute/not_implemented_attribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/not_implemented_attribute.h
@@ -20,7 +20,7 @@ struct NotImplementedAttribute : AttributeVector {
uint32_t get(DocId, vespalib::string *, uint32_t) const override;
uint32_t get(DocId, const char **, uint32_t) const override;
uint32_t get(DocId, EnumHandle *, uint32_t) const override;
- uint32_t get(DocId, WeightedInt *, uint32_t) const;
+ uint32_t get(DocId, WeightedInt *, uint32_t) const override;
uint32_t get(DocId, WeightedFloat *, uint32_t) const override;
uint32_t get(DocId, WeightedString *, uint32_t) const override;
uint32_t get(DocId, WeightedConstChar *, uint32_t) const override;
diff --git a/searchlib/src/vespa/searchlib/attribute/postingstore.h b/searchlib/src/vespa/searchlib/attribute/postingstore.h
index 96ab0488ea4..9aae723db73 100644
--- a/searchlib/src/vespa/searchlib/attribute/postingstore.h
+++ b/searchlib/src/vespa/searchlib/attribute/postingstore.h
@@ -50,17 +50,10 @@ protected:
static constexpr uint32_t BUFFERTYPE_BITVECTOR = 9u;
public:
- PostingStoreBase2(EnumPostingTree &dict, Status &status,
- const Config &config);
-
- virtual
- ~PostingStoreBase2();
-
- bool
- resizeBitVectors(uint32_t newSize, uint32_t newCapacity);
-
- virtual bool
- removeSparseBitVectors() = 0;
+ PostingStoreBase2(EnumPostingTree &dict, Status &status, const Config &config);
+ virtual ~PostingStoreBase2();
+ bool resizeBitVectors(uint32_t newSize, uint32_t newCapacity);
+ virtual bool removeSparseBitVectors() = 0;
};
template <typename DataT>
@@ -104,39 +97,16 @@ public:
PostingStore(EnumPostingTree &dict, Status &status, const Config &config);
-
- virtual
~PostingStore();
- virtual bool
- removeSparseBitVectors();
-
- static bool
- isBitVector(uint32_t typeId)
- {
- return typeId == BUFFERTYPE_BITVECTOR;
- }
-
- static bool
- isBTree(uint32_t typeId)
- {
- return typeId == BUFFERTYPE_BTREE;
- }
-
- bool
- isBTree(RefType ref) const
- {
- return isBTree(getTypeId(ref));
- }
+ bool removeSparseBitVectors() override;
+ static bool isBitVector(uint32_t typeId) { return typeId == BUFFERTYPE_BITVECTOR; }
+ static bool isBTree(uint32_t typeId) { return typeId == BUFFERTYPE_BTREE; }
+ bool isBTree(RefType ref) const { return isBTree(getTypeId(ref)); }
- void
- applyNew(EntryRef &ref,
- AddIter a,
- AddIter ae);
+ void applyNew(EntryRef &ref, AddIter a, AddIter ae);
- BitVectorRefPair
- allocBitVector(void)
- {
+ BitVectorRefPair allocBitVector() {
return _store.template freeListAllocator<BitVectorEntry,
btree::DefaultReclaimer<BitVectorEntry> >(BUFFERTYPE_BITVECTOR).alloc();
}
@@ -144,26 +114,12 @@ public:
/*
* Recreate btree from bitvector. Weight information is not recreated.
*/
- void
- makeDegradedTree(EntryRef &ref, const BitVector &bv);
+ void makeDegradedTree(EntryRef &ref, const BitVector &bv);
+ void dropBitVector(EntryRef &ref);
+ void makeBitVector(EntryRef &ref);
- void
- dropBitVector(EntryRef &ref);
-
- void
- makeBitVector(EntryRef &ref);
-
- void
- applyNewBitVector(EntryRef &ref,
- AddIter aOrg,
- AddIter ae);
-
- void
- apply(BitVector &bv,
- AddIter a,
- AddIter ae,
- RemoveIter r,
- RemoveIter re);
+ void applyNewBitVector(EntryRef &ref, AddIter aOrg, AddIter ae);
+ void apply(BitVector &bv, AddIter a, AddIter ae, RemoveIter r, RemoveIter re);
/**
* Apply multiple changes at once.
@@ -171,18 +127,9 @@ public:
* additions and removals should be sorted on key without duplicates.
* Overlap between additions and removals indicates updates.
*/
- void
- apply(EntryRef &ref,
- AddIter a,
- AddIter ae,
- RemoveIter r,
- RemoveIter re);
-
- void
- clear(const EntryRef ref);
-
- size_t
- size(const EntryRef ref) const {
+ void apply(EntryRef &ref, AddIter a, AddIter ae, RemoveIter r, RemoveIter re);
+ void clear(const EntryRef ref);
+ size_t size(const EntryRef ref) const {
if (!ref.valid())
return 0;
RefType iRef(ref);
@@ -194,8 +141,7 @@ public:
return clusterSize;
}
- size_t
- frozenSize(const EntryRef ref) const {
+ size_t frozenSize(const EntryRef ref) const {
if (!ref.valid())
return 0;
RefType iRef(ref);
@@ -207,45 +153,30 @@ public:
return clusterSize;
}
- Iterator
- begin(const EntryRef ref) const;
-
- ConstIterator
- beginFrozen(const EntryRef ref) const;
-
- void
- beginFrozen(const EntryRef ref, std::vector<ConstIterator> &where) const;
+ Iterator begin(const EntryRef ref) const;
+ ConstIterator beginFrozen(const EntryRef ref) const;
+ void beginFrozen(const EntryRef ref, std::vector<ConstIterator> &where) const;
template <typename FunctionType>
- VESPA_DLL_LOCAL void
- foreach_frozen_key(EntryRef ref, FunctionType func) const;
+ VESPA_DLL_LOCAL void foreach_frozen_key(EntryRef ref, FunctionType func) const;
template <typename FunctionType>
- VESPA_DLL_LOCAL void
- foreach_frozen(EntryRef ref, FunctionType func) const;
+ VESPA_DLL_LOCAL void foreach_frozen(EntryRef ref, FunctionType func) const;
- AggregatedType
- getAggregated(const EntryRef ref) const;
+ AggregatedType getAggregated(const EntryRef ref) const;
- const BitVectorEntry *
- getBitVectorEntry(RefType ref) const
- {
+ const BitVectorEntry *getBitVectorEntry(RefType ref) const {
return _store.template getBufferEntry<BitVectorEntry>(ref.bufferId(),
ref.offset());
}
- BitVectorEntry *
- getWBitVectorEntry(RefType ref)
- {
+ BitVectorEntry *getWBitVectorEntry(RefType ref) {
return _store.template getBufferEntry<BitVectorEntry>(ref.bufferId(),
ref.offset());
}
- static inline DataT
- bitVectorWeight();
-
- MemoryUsage
- getMemoryUsage() const;
+ static inline DataT bitVectorWeight();
+ MemoryUsage getMemoryUsage() const;
private:
size_t internalSize(uint32_t typeId, const RefType & iRef) const;
@@ -350,9 +281,6 @@ PostingStore<DataT>::foreach_frozen(EntryRef ref, FunctionType func) const
}
}
-
-
} // namespace attribute
} // namespace search
-
diff --git a/searchlib/src/vespa/searchlib/attribute/predicate_attribute.h b/searchlib/src/vespa/searchlib/attribute/predicate_attribute.h
index c5af5893305..7779119cc6c 100644
--- a/searchlib/src/vespa/searchlib/attribute/predicate_attribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/predicate_attribute.h
@@ -14,8 +14,8 @@ struct AttributeVectorDocIdLimitProvider : public predicate::DocIdLimitProvider
AttributeVectorDocIdLimitProvider(const AttributeVector &attribute_vector) :
_attribute_vector(attribute_vector) {}
- virtual uint32_t getDocIdLimit() const { return _attribute_vector.getNumDocs(); };
- virtual uint32_t getCommittedDocIdLimit() const {
+ uint32_t getDocIdLimit() const override { return _attribute_vector.getNumDocs(); };
+ uint32_t getCommittedDocIdLimit() const override {
return _attribute_vector.getCommittedDocIdLimit();
}
private:
diff --git a/searchlib/src/vespa/searchlib/attribute/sourceselector.h b/searchlib/src/vespa/searchlib/attribute/sourceselector.h
index 8219a0903b3..cdbf0323e5d 100644
--- a/searchlib/src/vespa/searchlib/attribute/sourceselector.h
+++ b/searchlib/src/vespa/searchlib/attribute/sourceselector.h
@@ -76,9 +76,8 @@ public:
SaveInfo::UP extractSaveInfo(const vespalib::string & baseFileName);
static LoadInfo::UP extractLoadInfo(const vespalib::string & baseFileName);
- // Inherit doc from ISourceSelector
- virtual void setSource(uint32_t docId, queryeval::Source source) = 0;
- virtual std::unique_ptr<queryeval::sourceselector::Iterator> createIterator() const = 0;
+ void setSource(uint32_t docId, queryeval::Source source) override = 0;
+ std::unique_ptr<queryeval::sourceselector::Iterator> createIterator() const override = 0;
};
} // namespace search
diff --git a/searchlib/src/vespa/searchlib/attribute/stringbase.h b/searchlib/src/vespa/searchlib/attribute/stringbase.h
index ea095341578..c1ff0134f36 100644
--- a/searchlib/src/vespa/searchlib/attribute/stringbase.h
+++ b/searchlib/src/vespa/searchlib/attribute/stringbase.h
@@ -42,19 +42,18 @@ public:
return AttributeVector::update(_changes, doc, StringChangeData(v));
}
bool apply(DocId doc, const ArithmeticValueUpdate & op);
- virtual bool applyWeight(DocId doc, const FieldValue & fv, const ArithmeticValueUpdate & wAdjust);
- virtual bool findEnum(const char * value, EnumHandle & e) const = 0;
- virtual uint32_t get(DocId doc, largeint_t * v, uint32_t sz) const;
- virtual uint32_t get(DocId doc, double * v, uint32_t sz) const;
- virtual uint32_t get(DocId doc, WeightedInt * v, uint32_t sz) const;
- virtual uint32_t get(DocId doc, WeightedFloat * v, uint32_t sz) const;
- virtual const char *get(DocId doc) const = 0;
- virtual uint32_t clearDoc(DocId doc);
- virtual largeint_t getDefaultValue() const { return 0; }
+ bool applyWeight(DocId doc, const FieldValue & fv, const ArithmeticValueUpdate & wAdjust) override;
+ bool findEnum(const char * value, EnumHandle & e) const override = 0;
+ uint32_t get(DocId doc, largeint_t * v, uint32_t sz) const override;
+ uint32_t get(DocId doc, double * v, uint32_t sz) const override;
+ uint32_t get(DocId doc, WeightedInt * v, uint32_t sz) const override;
+ uint32_t get(DocId doc, WeightedFloat * v, uint32_t sz) const override;
+ uint32_t clearDoc(DocId doc) override;
+ largeint_t getDefaultValue() const override { return 0; }
static size_t countZero(const char * bt, size_t sz);
static void generateOffsets(const char * bt, size_t sz, OffsetVector & offsets);
virtual const char * getFromEnum(EnumHandle e) const = 0;
-
+ virtual const char *get(DocId doc) const = 0;
protected:
StringAttribute(const vespalib::string & name);
StringAttribute(const vespalib::string & name, const Config & c);
@@ -64,12 +63,11 @@ protected:
typedef StringEntryType EnumEntryType;
ChangeVector _changes;
Change _defaultValue;
- virtual bool onLoad();
+ bool onLoad() override;
bool onLoadEnumerated(ReaderBase &attrReader);
- virtual bool
- onAddDoc(DocId doc);
+ virtual bool onAddDoc(DocId doc);
virtual MemoryUsage getChangeVectorMemoryUsage() const override;
private:
diff --git a/searchlib/src/vespa/searchlib/bitcompression/compression.h b/searchlib/src/vespa/searchlib/bitcompression/compression.h
index 7975c2724f9..8ffd4912b46 100644
--- a/searchlib/src/vespa/searchlib/bitcompression/compression.h
+++ b/searchlib/src/vespa/searchlib/bitcompression/compression.h
@@ -1231,94 +1231,55 @@ public:
* Check if the chunk referenced by the decode context was the
* last chunk in the file (e.g. _valE > _realValE)
*/
- virtual bool
- lastChunk(void) const
- {
- return _valE > _realValE;
- }
+ bool lastChunk() const override { return _valE > _realValE; }
/**
* Check if we're at the end of the current chunk (e.g. _valI >= _valE)
*/
- virtual bool
- endOfChunk(void) const
- {
- return _valI >= _valE;
- }
+ bool endOfChunk() const override { return _valI >= _valE; }
/**
* Get remaining units in buffer (e.g. _realValE - _valI)
*/
- virtual int32_t
- remainingUnits(void) const
- {
- return _realValE - _valI;
- }
+ int32_t remainingUnits() const override { return _realValE - _valI; }
/**
* Get unit ptr (e.g. _valI) from decode context.
*/
- virtual const void *
- getUnitPtr(void) const
- {
- return _valI;
- }
+ const void *getUnitPtr() const override { return _valI; }
- virtual void
- afterRead(const void *start,
- size_t bufferUnits,
- uint64_t bufferEndFilePos,
- bool isMore)
- {
+ void afterRead(const void *start, size_t bufferUnits, uint64_t bufferEndFilePos, bool isMore) override {
_valI = static_cast<const uint64_t *>(start);
setEnd(bufferUnits, isMore);
- _fileReadBias = (bufferEndFilePos -
- reinterpret_cast<unsigned long>(_realValE + 1)) << 3;
+ _fileReadBias = (bufferEndFilePos - reinterpret_cast<unsigned long>(_realValE + 1)) << 3;
}
- virtual uint64_t
- getBitPos(int bitOffset,
- uint64_t bufferEndFilePos) const
- {
+ uint64_t getBitPos(int bitOffset, uint64_t bufferEndFilePos) const override {
int intOffset = _realValE - _valI;
if (bitOffset == -1)
bitOffset = -64 - _preRead;
- return (bufferEndFilePos << 3) -
- (static_cast<uint64_t>(intOffset) << 6) + bitOffset;
+ return (bufferEndFilePos << 3) - (static_cast<uint64_t>(intOffset) << 6) + bitOffset;
}
- uint64_t
- getReadOffset(void) const
- {
- return _fileReadBias +
- (reinterpret_cast<unsigned long>(_valI) << 3) - _preRead;
+ uint64_t getReadOffset() const {
+ return _fileReadBias + (reinterpret_cast<unsigned long>(_valI) << 3) - _preRead;
}
- void
- defineReadOffset(uint64_t readOffset)
- {
+ void defineReadOffset(uint64_t readOffset) {
_fileReadBias = readOffset -
(reinterpret_cast<unsigned long>(_valI) << 3) +
_preRead;
}
- virtual uint64_t
- getBitPosV(void) const
- {
- return getReadOffset();
- }
+ uint64_t getBitPosV() const override { return getReadOffset(); }
- virtual void
- adjUnitPtr(int newRemainingUnits)
- {
+ void adjUnitPtr(int newRemainingUnits) override {
_valI = _realValE - newRemainingUnits;
}
- virtual void
- emptyBuffer(uint64_t newBitPosition)
- {
+ void emptyBuffer(uint64_t newBitPosition) override {
_fileReadBias = newBitPosition;
_valI = NULL;
_valE = NULL;
@@ -1326,20 +1287,14 @@ public:
_preRead = 0;
}
- virtual uint32_t
- getUnitByteSize(void) const
- {
- return sizeof(uint64_t);
- }
+ uint32_t getUnitByteSize() const override { return sizeof(uint64_t); }
/**
* Set the end of the buffer
* @param unitCount Number of bytes in buffer
* @param moreData Set if there is more data available
*/
- void
- setEnd(unsigned int unitCount, bool moreData)
- {
+ void setEnd(unsigned int unitCount, bool moreData) {
_valE = _realValE = _valI + unitCount;
if (moreData)
_valE -= END_BUFFER_SAFETY;
@@ -1347,27 +1302,18 @@ public:
_valE += END_BUFFER_SAFETY;
}
- const uint64_t *
- getCompr(void) const
- {
+ const uint64_t *getCompr(void) const {
return (_preRead == 0) ? (_valI - 1) : (_valI - 2);
}
- int
- getBitOffset(void) const
- {
+ int getBitOffset(void) const {
return (_preRead == 0) ? 0 : 64 - _preRead;
}
- virtual void
- checkPointWrite(vespalib::nbostream &out);
-
- virtual void
- checkPointRead(vespalib::nbostream &in);
+ void checkPointWrite(vespalib::nbostream &out) override;
+ void checkPointRead(vespalib::nbostream &in) override;
- static int64_t
- convertToSigned(uint64_t val)
- {
+ static int64_t convertToSigned(uint64_t val) {
if ((val & 1) != 0)
return - (val >> 1) - 1;
else
@@ -1478,9 +1424,7 @@ public:
val |= (cacheInt << preRead);
};
- virtual void
- skipBits(int bits)
- {
+ void skipBits(int bits) override {
while (bits >= 64) {
_val = 0;
ReadBits(64, _val, _cacheInt, _preRead, _valI);
@@ -1498,9 +1442,7 @@ public:
/**
* Setup for bitwise reading.
*/
- virtual void
- setupBits(int bitOffset)
- {
+ void setupBits(int bitOffset) override {
unsigned int length;
UC64_SETUPBITS(bitOffset, _val, _valI, _preRead, _cacheInt, EC);
}
@@ -1689,9 +1631,7 @@ public:
virtual void
getParams(PostingListParams &params) const;
- virtual void
- skipBits(int bits)
- {
+ void skipBits(int bits) override {
readComprBufferIfNeeded();
while (bits >= 64) {
_val = 0;
@@ -1798,9 +1738,7 @@ public:
_writeContext->writeComprBuffer(true);
}
- virtual void
- padBits(uint32_t length)
- {
+ void padBits(uint32_t length) override {
while (length > 64) {
writeBits(0, 64);
length -= 64;
diff --git a/searchlib/src/vespa/searchlib/bitcompression/countcompression.h b/searchlib/src/vespa/searchlib/bitcompression/countcompression.h
index 3dfb16b6250..c3961f7fcbd 100644
--- a/searchlib/src/vespa/searchlib/bitcompression/countcompression.h
+++ b/searchlib/src/vespa/searchlib/bitcompression/countcompression.h
@@ -1,6 +1,4 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-// Copyright (C) 2002-2003 Fast Search & Transfer ASA
-// Copyright (C) 2003 Overture Services Norway AS
#pragma once
@@ -35,26 +33,16 @@ public:
{
}
- virtual void
- checkPointWrite(vespalib::nbostream &out);
+ void checkPointWrite(vespalib::nbostream &out) override;
+ void checkPointRead(vespalib::nbostream &in) override;
+ void readCounts(PostingListCounts &counts);
+ void readWordNum(uint64_t &wordNum);
- virtual void
- checkPointRead(vespalib::nbostream &in);
-
- void
- readCounts(PostingListCounts &counts);
-
- void
- readWordNum(uint64_t &wordNum);
-
- static uint64_t
- noWordNum(void)
- {
+ static uint64_t noWordNum() {
return std::numeric_limits<uint64_t>::max();
}
- void
- copyParams(const PostingListCountFileDecodeContext &rhs);
+ void copyParams(const PostingListCountFileDecodeContext &rhs);
};
@@ -79,31 +67,18 @@ public:
{
}
- virtual void
- checkPointWrite(vespalib::nbostream &out);
-
- virtual void
- checkPointRead(vespalib::nbostream &in);
-
- void
- writeCounts(const PostingListCounts &counts);
+ void checkPointWrite(vespalib::nbostream &out) override;
+ void checkPointRead(vespalib::nbostream &in) override;
+ void writeCounts(const PostingListCounts &counts);
+ void writeWordNum(uint64_t wordNum);
- void
- writeWordNum(uint64_t wordNum);
-
- static uint64_t
- noWordNum(void)
- {
+ static uint64_t noWordNum(void) {
return std::numeric_limits<uint64_t>::max();
}
- void
- copyParams(const PostingListCountFileEncodeContext &rhs);
+ void copyParams(const PostingListCountFileEncodeContext &rhs);
};
-
} // namespace bitcompression
} // namespace search
-
-
diff --git a/searchlib/src/vespa/searchlib/bitcompression/posocccompression.h b/searchlib/src/vespa/searchlib/bitcompression/posocccompression.h
index ed9329bbc63..acc0e9f94ce 100644
--- a/searchlib/src/vespa/searchlib/bitcompression/posocccompression.h
+++ b/searchlib/src/vespa/searchlib/bitcompression/posocccompression.h
@@ -92,30 +92,15 @@ public:
CollectionType _collectionType;
vespalib::string _name;
- PosOccFieldParams(void);
-
- bool
- operator==(const PosOccFieldParams &rhs) const;
-
- static vespalib::string
- getParamsPrefix(uint32_t idx);
-
- void
- getParams(PostingListParams &params, uint32_t idx) const;
-
- void
- setParams(const PostingListParams &params, uint32_t idx);
-
- void
- setSchemaParams(const Schema &schema, uint32_t fieldId);
-
- void
- readHeader(const vespalib::GenericHeader &header,
- const vespalib::string &prefix);
-
- void
- writeHeader(vespalib::GenericHeader &header,
- const vespalib::string &prefix) const;
+ PosOccFieldParams();
+
+ bool operator==(const PosOccFieldParams &rhs) const;
+ static vespalib::string getParamsPrefix(uint32_t idx);
+ void getParams(PostingListParams &params, uint32_t idx) const;
+ void setParams(const PostingListParams &params, uint32_t idx);
+ void setSchemaParams(const Schema &schema, uint32_t fieldId);
+ void readHeader(const vespalib::GenericHeader &header, const vespalib::string &prefix);
+ void writeHeader(vespalib::GenericHeader &header, const vespalib::string &prefix) const;
};
@@ -132,58 +117,29 @@ public:
typedef index::PostingListParams PostingListParams;
typedef index::Schema Schema;
- PosOccFieldsParams(void);
-
+ PosOccFieldsParams();
PosOccFieldsParams(const PosOccFieldsParams &rhs);
- PosOccFieldsParams &
- operator=(const PosOccFieldsParams &rhs);
-
- bool
- operator==(const PosOccFieldsParams &rhs) const;
+ PosOccFieldsParams &operator=(const PosOccFieldsParams &rhs);
+ bool operator==(const PosOccFieldsParams &rhs) const;
- void
- cacheParamsRef(void)
- {
+ void cacheParamsRef() {
_numFields = _params.size();
_fieldParams = _params.empty() ? NULL : &_params[0];
}
- void
- assertCachedParamsRef(void) const
- {
+ void assertCachedParamsRef() const {
assert(_numFields == _params.size());
assert(_fieldParams == (_params.empty() ? NULL : &_params[0]));
}
- uint32_t
- getNumFields(void) const
- {
- return _numFields;
- }
-
- const PosOccFieldParams *
- getFieldParams(void) const
- {
- return _fieldParams;
- }
-
- void
- getParams(PostingListParams &params) const;
-
- void
- setParams(const PostingListParams &params);
-
- void
- setSchemaParams(const Schema &schema, const uint32_t indexId);
-
- void
- readHeader(const vespalib::GenericHeader &header,
- const vespalib::string &prefix);
-
- void
- writeHeader(vespalib::GenericHeader &header,
- const vespalib::string &prefix) const;
+ uint32_t getNumFields() const { return _numFields; }
+ const PosOccFieldParams *getFieldParams(void) const { return _fieldParams; }
+ void getParams(PostingListParams &params) const;
+ void setParams(const PostingListParams &params);
+ void setSchemaParams(const Schema &schema, const uint32_t indexId);
+ void readHeader(const vespalib::GenericHeader &header, const vespalib::string &prefix);
+ void writeHeader(vespalib::GenericHeader &header, const vespalib::string &prefix) const;
};
template <bool bigEndian>
@@ -238,34 +194,13 @@ public:
return *this;
}
- virtual void
- readHeader(const vespalib::GenericHeader &header,
- const vespalib::string &prefix);
-
- virtual const vespalib::string &
- getIdentifier(void) const;
-
- virtual void
- readFeatures(search::index::DocIdAndFeatures &features);
-
- virtual void
- skipFeatures(unsigned int count);
-
- virtual void
- unpackFeatures(const search::fef::TermFieldMatchDataArray &matchData,
- uint32_t docId);
-
- /*
- * Set parameters.
- */
- virtual void
- setParams(const PostingListParams &params);
-
- /*
- * Get current parameters.
- */
- virtual void
- getParams(PostingListParams &params) const;
+ void readHeader(const vespalib::GenericHeader &header, const vespalib::string &prefix) override;
+ const vespalib::string &getIdentifier(void) const override;
+ void readFeatures(search::index::DocIdAndFeatures &features) override;
+ void skipFeatures(unsigned int count) override;
+ void unpackFeatures(const search::fef::TermFieldMatchDataArray &matchData, uint32_t docId) override;
+ void setParams(const PostingListParams &params) override;
+ void getParams(PostingListParams &params) const override;
};
@@ -316,11 +251,8 @@ public:
return *this;
}
- virtual void
- readFeatures(search::index::DocIdAndFeatures &features);
-
- virtual void
- getParams(PostingListParams &params) const;
+ void readFeatures(search::index::DocIdAndFeatures &features) override;
+ void getParams(PostingListParams &params) const override;
};
@@ -356,31 +288,12 @@ public:
return *this;
}
- virtual void
- readHeader(const vespalib::GenericHeader &header,
- const vespalib::string &prefix);
-
- virtual void
- writeHeader(vespalib::GenericHeader &header,
- const vespalib::string &prefix) const;
-
- virtual const vespalib::string &
- getIdentifier(void) const;
-
- virtual void
- writeFeatures(const DocIdAndFeatures &features);
-
- /*
- * Set parameters.
- */
- virtual void
- setParams(const PostingListParams &params);
-
- /*
- * Get current parameters.
- */
- virtual void
- getParams(PostingListParams &params) const;
+ void readHeader(const vespalib::GenericHeader &header, const vespalib::string &prefix) override;
+ void writeHeader(vespalib::GenericHeader &header, const vespalib::string &prefix) const override;
+ const vespalib::string &getIdentifier(void) const override;
+ void writeFeatures(const DocIdAndFeatures &features) override;
+ void setParams(const PostingListParams &params) override;
+ void getParams(PostingListParams &params) const override;
};
@@ -433,34 +346,13 @@ public:
return *this;
}
- virtual void
- readHeader(const vespalib::GenericHeader &header,
- const vespalib::string &prefix);
-
- virtual const vespalib::string &
- getIdentifier(void) const;
-
- virtual void
- readFeatures(search::index::DocIdAndFeatures &features);
-
- virtual void
- skipFeatures(unsigned int count);
-
- virtual void
- unpackFeatures(const search::fef::TermFieldMatchDataArray &matchData,
- uint32_t docId);
-
- /*
- * Set parameters.
- */
- virtual void
- setParams(const PostingListParams &params);
-
- /*
- * Get current parameters.
- */
- virtual void
- getParams(PostingListParams &params) const;
+ void readHeader(const vespalib::GenericHeader &header, const vespalib::string &prefix) override;
+ const vespalib::string &getIdentifier(void) const override;
+ void readFeatures(search::index::DocIdAndFeatures &features) override;
+ void skipFeatures(unsigned int count) override;
+ void unpackFeatures(const search::fef::TermFieldMatchDataArray &matchData, uint32_t docId) override;
+ void setParams(const PostingListParams &params) override;
+ void getParams(PostingListParams &params) const override;
};
@@ -512,11 +404,8 @@ public:
return *this;
}
- virtual void
- readFeatures(search::index::DocIdAndFeatures &features);
-
- virtual void
- getParams(PostingListParams &params) const;
+ void readFeatures(search::index::DocIdAndFeatures &features) override;
+ void getParams(PostingListParams &params) const override;
};
@@ -550,41 +439,18 @@ public:
return *this;
}
- virtual void
- readHeader(const vespalib::GenericHeader &header,
- const vespalib::string &prefix);
-
- virtual void
- writeHeader(vespalib::GenericHeader &header,
- const vespalib::string &prefix) const;
+ void readHeader(const vespalib::GenericHeader &header, const vespalib::string &prefix) override;
+ void writeHeader(vespalib::GenericHeader &header, const vespalib::string &prefix) const override;
+ const vespalib::string &getIdentifier(void) const override;
+ void writeFeatures(const DocIdAndFeatures &features) override;
+ void setParams(const PostingListParams &params) override;
+ void getParams(PostingListParams &params) const override;
- virtual const vespalib::string &
- getIdentifier(void) const;
-
- virtual void
- writeFeatures(const DocIdAndFeatures &features);
-
- /*
- * Set parameters.
- */
- virtual void
- setParams(const PostingListParams &params);
-
- /*
- * Get current parameters.
- */
- virtual void
- getParams(PostingListParams &params) const;
-
- static uint32_t
- calcElementLenK(uint32_t avgElementLen)
- {
+ static uint32_t calcElementLenK(uint32_t avgElementLen) {
return (avgElementLen < 4) ? 1u : (asmlog2(avgElementLen));
}
- static uint32_t
- calcWordPosK(uint32_t numPositions, uint32_t elementLen)
- {
+ static uint32_t calcWordPosK(uint32_t numPositions, uint32_t elementLen) {
uint32_t avgDelta = elementLen / (numPositions + 1);
uint32_t wordPosK = (avgDelta < 4) ? 1 : (asmlog2(avgDelta));
return wordPosK;
@@ -613,4 +479,3 @@ extern template class EGPosOccEncodeContext<false>;
} // namespace bitcompression
} // namespace search
-
diff --git a/searchlib/src/vespa/searchlib/common/condensedbitvectors.cpp b/searchlib/src/vespa/searchlib/common/condensedbitvectors.cpp
index 6a6be19878b..5b5db982efe 100644
--- a/searchlib/src/vespa/searchlib/common/condensedbitvectors.cpp
+++ b/searchlib/src/vespa/searchlib/common/condensedbitvectors.cpp
@@ -75,8 +75,8 @@ private:
size_t getKeyCapacity() const override { return sizeof(T)*8; }
size_t getCapacity() const override { return _v.capacity(); }
- size_t getSize() const { return _v.size(); }
- void adjustDocIdLimit(uint32_t docId);
+ size_t getSize() const override { return _v.size(); }
+ void adjustDocIdLimit(uint32_t docId) override;
attribute::RcuVectorBase<T> _v;
};
diff --git a/searchlib/src/vespa/searchlib/common/locationiterators.cpp b/searchlib/src/vespa/searchlib/common/locationiterators.cpp
index fa3b4aef54e..0e99e574c76 100644
--- a/searchlib/src/vespa/searchlib/common/locationiterators.cpp
+++ b/searchlib/src/vespa/searchlib/common/locationiterators.cpp
@@ -1,11 +1,7 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/fastos/fastos.h>
-#include <vespa/vespalib/geo/zcurve.h>
-
-#include <vespa/searchlib/bitcompression/compression.h>
-
#include "locationiterators.h"
+#include <vespa/searchlib/bitcompression/compression.h>
#include <vespa/searchlib/attribute/attributevector.h>
using namespace search::common;
@@ -19,14 +15,12 @@ private:
const Location & _location;
std::vector<search::AttributeVector::largeint_t> _pos;
- virtual void doSeek(uint32_t docId);
- virtual void doUnpack(uint32_t docId);
+ void doSeek(uint32_t docId) override;
+ void doUnpack(uint32_t docId) override;
public:
- FastS_2DZLocationIterator(unsigned int numDocs,
- bool strict,
- const Location & location);
+ FastS_2DZLocationIterator(unsigned int numDocs, bool strict, const Location & location);
- virtual ~FastS_2DZLocationIterator(void);
+ ~FastS_2DZLocationIterator();
};
@@ -45,9 +39,7 @@ FastS_2DZLocationIterator(unsigned int numDocs,
};
-FastS_2DZLocationIterator::~FastS_2DZLocationIterator(void)
-{
-};
+FastS_2DZLocationIterator::~FastS_2DZLocationIterator() {}
void
diff --git a/searchlib/src/vespa/searchlib/common/serialnumfileheadercontext.h b/searchlib/src/vespa/searchlib/common/serialnumfileheadercontext.h
index 24969193347..d116d57dfa8 100644
--- a/searchlib/src/vespa/searchlib/common/serialnumfileheadercontext.h
+++ b/searchlib/src/vespa/searchlib/common/serialnumfileheadercontext.h
@@ -4,11 +4,9 @@
#include "fileheadercontext.h"
#include "serialnum.h"
-namespace search
-{
+namespace search {
-namespace common
-{
+namespace common {
class SerialNumFileHeaderContext : public FileHeaderContext
{
@@ -20,9 +18,7 @@ public:
parentFileHeaderContext,
SerialNum serialNum);
- virtual void
- addTags(vespalib::GenericHeader &header,
- const vespalib::string &name) const;
+ void addTags(vespalib::GenericHeader &header, const vespalib::string &name) const override;
};
} // namespace common
diff --git a/searchlib/src/vespa/searchlib/diskindex/diskindex.cpp b/searchlib/src/vespa/searchlib/diskindex/diskindex.cpp
index 9bc5f473e27..6a2d441396d 100644
--- a/searchlib/src/vespa/searchlib/diskindex/diskindex.cpp
+++ b/searchlib/src/vespa/searchlib/diskindex/diskindex.cpp
@@ -392,8 +392,7 @@ public:
}
template <class TermNode>
- void
- visitTerm(TermNode &n)
+ void visitTerm(TermNode &n)
{
const vespalib::string termStr = termAsString(n);
const DiskIndex::LookupResult & lookupRes = _cache.lookup(termStr, _fieldId);
@@ -406,18 +405,18 @@ public:
}
}
- virtual void visit(NumberTerm &n) {
+ void visit(NumberTerm &n) override {
handleNumberTermAsText(n);
}
- virtual void visit(LocationTerm &n) { visitTerm(n); }
- virtual void visit(PrefixTerm &n) { visitTerm(n); }
- virtual void visit(RangeTerm &n) { visitTerm(n); }
- virtual void visit(StringTerm &n) { visitTerm(n); }
- virtual void visit(SubstringTerm &n) { visitTerm(n); }
- virtual void visit(SuffixTerm &n) { visitTerm(n); }
- virtual void visit(RegExpTerm &n) { visitTerm(n); }
- virtual void visit(PredicateQuery &) { }
+ void visit(LocationTerm &n) override { visitTerm(n); }
+ void visit(PrefixTerm &n) override { visitTerm(n); }
+ void visit(RangeTerm &n) override { visitTerm(n); }
+ void visit(StringTerm &n) override { visitTerm(n); }
+ void visit(SubstringTerm &n) override { visitTerm(n); }
+ void visit(SuffixTerm &n) override { visitTerm(n); }
+ void visit(RegExpTerm &n) override { visitTerm(n); }
+ void visit(PredicateQuery &) override { }
};
diff --git a/searchlib/src/vespa/searchlib/diskindex/diskindex.h b/searchlib/src/vespa/searchlib/diskindex/diskindex.h
index 552efe35c51..9767aa59eda 100644
--- a/searchlib/src/vespa/searchlib/diskindex/diskindex.h
+++ b/searchlib/src/vespa/searchlib/diskindex/diskindex.h
@@ -145,16 +145,15 @@ public:
BitVector::UP
readBitVector(const LookupResult &lookupRes) const;
- // Inherit doc from Searchable
- virtual queryeval::Blueprint::UP
+ queryeval::Blueprint::UP
createBlueprint(const queryeval::IRequestContext & requestContext,
const queryeval::FieldSpec &field,
- const query::Node &term);
+ const query::Node &term) override;
- virtual queryeval::Blueprint::UP
+ queryeval::Blueprint::UP
createBlueprint(const queryeval::IRequestContext & requestContext,
const queryeval::FieldSpecList &fields,
- const query::Node &term);
+ const query::Node &term) override;
/**
* Get the size on disk of this index.
@@ -162,23 +161,9 @@ public:
*/
uint64_t getSize() const { return _size; }
- const index::Schema &
- getSchema(void) const
- {
- return _schema;
- }
-
- const vespalib::string &
- getIndexDir(void) const
- {
- return _indexDir;
- }
-
- const TuneFileSearch &
- getTuneFileSearch(void) const
- {
- return _tuneFileSearch;
- }
+ const index::Schema &getSchema() const { return _schema; }
+ const vespalib::string &getIndexDir() const { return _indexDir; }
+ const TuneFileSearch &getTuneFileSearch() const { return _tuneFileSearch; }
/**
* Needed for the Cache::BackingStore interface.
diff --git a/searchlib/src/vespa/searchlib/diskindex/disktermblueprint.h b/searchlib/src/vespa/searchlib/diskindex/disktermblueprint.h
index f3fdca2617a..d2b6d25540b 100644
--- a/searchlib/src/vespa/searchlib/diskindex/disktermblueprint.h
+++ b/searchlib/src/vespa/searchlib/diskindex/disktermblueprint.h
@@ -21,7 +21,7 @@ private:
bool _fetchPostingsDone;
bool _hasEquivParent;
search::index::PostingListHandle::UP _postingHandle;
- search::BitVector::UP _bitVector;
+ search::BitVector::UP _bitVector;
public:
/**
@@ -39,11 +39,9 @@ public:
// Inherit doc from Blueprint.
// For now, this DiskTermBlueprint instance must have longer lifetime than the created iterator.
- virtual search::queryeval::SearchIterator::UP
- createLeafSearch(const search::fef::TermFieldMatchDataArray & tfmda, bool strict) const;
+ search::queryeval::SearchIterator::UP createLeafSearch(const search::fef::TermFieldMatchDataArray & tfmda, bool strict) const override;
- virtual void
- fetchPostings(bool strict);
+ void fetchPostings(bool strict) override;
};
} // namespace diskindex
diff --git a/searchlib/src/vespa/searchlib/diskindex/zcposocc.h b/searchlib/src/vespa/searchlib/diskindex/zcposocc.h
index cbd6791198d..3d5936210f8 100644
--- a/searchlib/src/vespa/searchlib/diskindex/zcposocc.h
+++ b/searchlib/src/vespa/searchlib/diskindex/zcposocc.h
@@ -5,11 +5,9 @@
#include "zcposting.h"
#include <vespa/searchlib/bitcompression/posocccompression.h>
-namespace search
-{
+namespace search {
-namespace diskindex
-{
+namespace diskindex {
class Zc4PosOccSeqRead : public Zc4PostingSeqRead
{
@@ -20,12 +18,8 @@ private:
public:
Zc4PosOccSeqRead(index::PostingListCountFileSeqRead *countFile);
-
- virtual void
- setFeatureParams(const PostingListParams &params);
-
- static const vespalib::string &
- getSubIdentifier(void);
+ void setFeatureParams(const PostingListParams &params) override;
+ static const vespalib::string &getSubIdentifier();
};
@@ -38,9 +32,7 @@ private:
public:
typedef index::Schema Schema;
- Zc4PosOccSeqWrite(const Schema &schema,
- uint32_t indexId,
- index::PostingListCountFileSeqWrite *countFile);
+ Zc4PosOccSeqWrite(const Schema &schema, uint32_t indexId, index::PostingListCountFileSeqWrite *countFile);
};
@@ -50,15 +42,10 @@ private:
bitcompression::PosOccFieldsParams _fieldsParams;
bitcompression::EGPosOccDecodeContextCooked<true> _cookedDecodeContext;
bitcompression::EGPosOccDecodeContext<true> _rawDecodeContext;
-
public:
ZcPosOccSeqRead(index::PostingListCountFileSeqRead *countFile);
-
- virtual void
- setFeatureParams(const PostingListParams &params);
-
- static const vespalib::string &
- getSubIdentifier(void);
+ void setFeatureParams(const PostingListParams &params) override;
+ static const vespalib::string &getSubIdentifier(void);
};
@@ -67,13 +54,9 @@ class ZcPosOccSeqWrite : public ZcPostingSeqWrite
private:
bitcompression::PosOccFieldsParams _fieldsParams;
bitcompression::EGPosOccEncodeContext<true> _realEncodeFeatures;
-
public:
typedef index::Schema Schema;
-
- ZcPosOccSeqWrite(const Schema &schema,
- uint32_t indexId,
- index::PostingListCountFileSeqWrite *countFile);
+ ZcPosOccSeqWrite(const Schema &schema, uint32_t indexId, index::PostingListCountFileSeqWrite *countFile);
};
diff --git a/searchlib/src/vespa/searchlib/diskindex/zcposting.h b/searchlib/src/vespa/searchlib/diskindex/zcposting.h
index 447216d84cb..8ec0f2e2697 100644
--- a/searchlib/src/vespa/searchlib/diskindex/zcposting.h
+++ b/searchlib/src/vespa/searchlib/diskindex/zcposting.h
@@ -5,20 +5,16 @@
#include <vespa/searchlib/index/postinglistfile.h>
#include <vespa/searchlib/bitcompression/compression.h>
-namespace search
-{
+namespace search {
-namespace index
-{
+namespace index {
class PostingListCountFileSeqRead;
-
class PostingListCountFileSeqWrite;
}
-namespace diskindex
-{
+namespace diskindex {
class ZcBuf
{
@@ -28,66 +24,29 @@ public:
uint8_t *_mallocStart;
size_t _mallocSize;
- ZcBuf(void)
+ ZcBuf()
: _valI(NULL),
_valE(NULL),
_mallocStart(NULL),
_mallocSize(0)
- {
- }
-
- ~ZcBuf(void)
- {
- free(_mallocStart);
- }
-
-
- static size_t
- zcSlack(void)
- {
- return 4;
- }
-
- void
- clearReserve(size_t reserveSize);
+ {}
- void
- clear(void)
- {
- _valI = _mallocStart;
- }
-
- size_t
- capacity(void) const
- {
- return _valE - _mallocStart;
- }
+ ~ZcBuf() { free(_mallocStart); }
- size_t
- size(void) const
- {
- return _valI - _mallocStart;
- }
-
- size_t
- pos(void) const
- {
- return _valI - _mallocStart;
- }
+ static size_t zcSlack() { return 4; }
+ void clearReserve(size_t reserveSize);
+ void clear() { _valI = _mallocStart; }
+ size_t capacity() const { return _valE - _mallocStart; }
+ size_t size() const { return _valI - _mallocStart; }
+ size_t pos() const { return _valI - _mallocStart; }
+ void expand();
- void
- expand(void);
-
- void
- maybeExpand(void)
- {
+ void maybeExpand() {
if (__builtin_expect(_valI >= _valE, false))
expand();
}
- void
- encode(uint32_t num)
- {
+ void encode(uint32_t num) {
for (;;) {
if (num < (1 << 7)) {
*_valI++ = num;
@@ -99,9 +58,7 @@ public:
maybeExpand();
}
- uint32_t
- decode(void)
- {
+ uint32_t decode() {
uint32_t res;
uint8_t *valI = _valI;
if (__builtin_expect(valI[0] < (1 << 7), true)) {
@@ -138,9 +95,7 @@ public:
class Zc4PostingSeqRead : public index::PostingListFileSeqRead
{
Zc4PostingSeqRead(const Zc4PostingSeqRead &);
-
- Zc4PostingSeqRead &
- operator=(const Zc4PostingSeqRead &);
+ Zc4PostingSeqRead &operator=(const Zc4PostingSeqRead &);
protected:
typedef bitcompression::FeatureDecodeContextBE DecodeContext;
@@ -205,8 +160,7 @@ protected:
public:
Zc4PostingSeqRead(index::PostingListCountFileSeqRead *countFile);
- virtual
- ~Zc4PostingSeqRead(void);
+ ~Zc4PostingSeqRead();
typedef index::DocIdAndFeatures DocIdAndFeatures;
typedef index::PostingListCounts PostingListCounts;
@@ -215,71 +169,20 @@ public:
/**
* Read document id and features for common word.
*/
- virtual void
- readCommonWordDocIdAndFeatures(DocIdAndFeatures &features);
-
- /**
- * Read document id and features.
- */
- virtual void
- readDocIdAndFeatures(DocIdAndFeatures &features);
-
- /**
- * Checkpoint write. Used at semi-regular intervals during indexing
- * to allow for continued indexing after an interrupt. Implies
- * flush from memory to disk, and possibly also sync to permanent
- * storage media.
- */
- virtual void
- checkPointWrite(vespalib::nbostream &out);
-
- /**
- * Checkpoint read. Used when resuming indexing after an interrupt.
- */
- virtual void
- checkPointRead(vespalib::nbostream &in);
-
- /**
- * Read counts for a word.
- */
- virtual void
- readCounts(const PostingListCounts &counts); // Fill in for next word
-
- /**
- * Open posting list file for sequential read.
- */
- virtual bool
- open(const vespalib::string &name, const TuneFileSeqRead &tuneFileRead);
-
- /**
- * Close posting list file.
- */
- virtual bool
- close(void);
-
- /*
- * Get current parameters.
- */
- virtual void
- getParams(PostingListParams &params);
-
- /*
- * Get current feature parameters.
- */
- virtual void
- getFeatureParams(PostingListParams &params);
-
- void
- readWordStartWithSkip(void);
-
- void
- readWordStart(void);
-
- void
- readHeader(void);
-
- static const vespalib::string &
- getIdentifier(void);
+ virtual void readCommonWordDocIdAndFeatures(DocIdAndFeatures &features);
+
+ void readDocIdAndFeatures(DocIdAndFeatures &features) override;
+ void checkPointWrite(vespalib::nbostream &out) override;
+ void checkPointRead(vespalib::nbostream &in) override;
+ void readCounts(const PostingListCounts &counts) override; // Fill in for next word
+ bool open(const vespalib::string &name, const TuneFileSeqRead &tuneFileRead) override;
+ bool close() override;
+ void getParams(PostingListParams &params) override;
+ void getFeatureParams(PostingListParams &params) override;
+ void readWordStartWithSkip();
+ void readWordStart();
+ void readHeader();
+ static const vespalib::string &getIdentifier();
// Methods used when generating posting list for common word pairs.
@@ -289,8 +192,7 @@ public:
*
* @return current posting offset, measured in bits.
*/
- virtual uint64_t
- getCurrentPostingOffset(void) const;
+ uint64_t getCurrentPostingOffset() const override;
/**
* Set current posting offset, measured in bits. First posting
@@ -301,19 +203,14 @@ public:
* @param readAheadOffset end of posting list for either this or a
* later word pair, depending on disk seek cost.
*/
- virtual void
- setPostingOffset(uint64_t offset,
- uint64_t endOffset,
- uint64_t readAheadOffset);
+ void setPostingOffset(uint64_t offset, uint64_t endOffset, uint64_t readAheadOffset) override;
};
class Zc4PostingSeqWrite : public index::PostingListFileSeqWrite
{
Zc4PostingSeqWrite(const Zc4PostingSeqWrite &);
-
- Zc4PostingSeqWrite &
- operator=(const Zc4PostingSeqWrite &);
+ Zc4PostingSeqWrite &operator=(const Zc4PostingSeqWrite &);
protected:
typedef bitcompression::FeatureEncodeContextBE EncodeContext;
@@ -345,125 +242,58 @@ protected:
index::PostingListCountFileSeqWrite *const _countFile;
public:
Zc4PostingSeqWrite(index::PostingListCountFileSeqWrite *countFile);
-
- virtual
- ~Zc4PostingSeqWrite(void);
+ ~Zc4PostingSeqWrite();
typedef index::DocIdAndFeatures DocIdAndFeatures;
typedef index::PostingListCounts PostingListCounts;
typedef index::PostingListParams PostingListParams;
- /**
- * Write document id and features.
- */
- virtual void
- writeDocIdAndFeatures(const DocIdAndFeatures &features);
-
- /**
- * Flush word (during write) after it is complete to buffers, i.e.
- * prepare for next word, but not for application crash.
- */
- virtual void
- flushWord(void);
-
- /**
- * Checkpoint write. Used at semi-regular intervals during indexing
- * to allow for continued indexing after an interrupt. Implies
- * flush from memory to disk, and possibly also sync to permanent
- * storage media.
- */
- virtual void
- checkPointWrite(vespalib::nbostream &out);
+ void writeDocIdAndFeatures(const DocIdAndFeatures &features) override;
+ void flushWord() override;
+ void checkPointWrite(vespalib::nbostream &out) override;
+ void checkPointRead(vespalib::nbostream &in) override;
- /**
- * Checkpoint read. Used when resuming indexing after an interrupt.
- */
- virtual void
- checkPointRead(vespalib::nbostream &in);
+ bool open(const vespalib::string &name, const TuneFileSeqWrite &tuneFileWrite,
+ const search::common::FileHeaderContext &fileHeaderContext) override;
- /**
- * Open posting list file for sequential write.
- */
- virtual bool
- open(const vespalib::string &name,
- const TuneFileSeqWrite &tuneFileWrite,
- const search::common::FileHeaderContext &fileHeaderContext);
-
- /**
- * Close posting list file.
- */
- virtual bool
- close(void);
-
- /*
- * Set parameters.
- */
- virtual void
- setParams(const PostingListParams &params);
-
- /*
- * Get current parameters.
- */
- virtual void
- getParams(PostingListParams &params);
-
- /*
- * Set feature parameters.
- */
- virtual void
- setFeatureParams(const PostingListParams &params);
-
- /*
- * Get current feature parameters.
- */
- virtual void
- getFeatureParams(PostingListParams &params);
+ bool close() override;
+ void setParams(const PostingListParams &params) override;
+ void getParams(PostingListParams &params) override;
+ void setFeatureParams(const PostingListParams &params) override;
+ void getFeatureParams(PostingListParams &params) override;
/**
* Flush chunk to file.
*/
- void
- flushChunk(void);
-
- /**
- *
- */
- void
- calcSkipInfo(void);
+ void flushChunk();
+ void calcSkipInfo();
/**
* Flush word with skip info to disk
*/
- void
- flushWordWithSkip(bool hasMore);
+ void flushWordWithSkip(bool hasMore);
/**
* Flush word without skip info to disk.
*/
- virtual void
- flushWordNoSkip(void);
+ virtual void flushWordNoSkip();
/**
* Prepare for next word or next chunk.
*/
- void
- resetWord(void);
+ void resetWord();
/**
* Make header using feature encode write context.
*/
- void
- makeHeader(const search::common::FileHeaderContext &fileHeaderContext);
-
- void
- updateHeader(void);
+ void makeHeader(const search::common::FileHeaderContext &fileHeaderContext);
+ void updateHeader();
/**
* Read header, using temporary feature decode context.
*/
- uint32_t
- readHeader(const vespalib::string &name);
+ uint32_t readHeader(const vespalib::string &name);
};
@@ -471,25 +301,17 @@ class ZcPostingSeqRead : public Zc4PostingSeqRead
{
public:
ZcPostingSeqRead(index::PostingListCountFileSeqRead *countFile);
-
- virtual void
- readDocIdAndFeatures(DocIdAndFeatures &features);
-
- static const vespalib::string &
- getIdentifier(void);
+ void readDocIdAndFeatures(DocIdAndFeatures &features) override;
+ static const vespalib::string &getIdentifier();
};
class ZcPostingSeqWrite : public Zc4PostingSeqWrite
{
public:
ZcPostingSeqWrite(index::PostingListCountFileSeqWrite *countFile);
-
- virtual void
- flushWordNoSkip(void);
-
+ void flushWordNoSkip() override;
};
} // namespace diskindex
} // namespace search
-
diff --git a/searchlib/src/vespa/searchlib/docstore/chunkformats.h b/searchlib/src/vespa/searchlib/docstore/chunkformats.h
index 29a396389ac..09d8e865628 100644
--- a/searchlib/src/vespa/searchlib/docstore/chunkformats.h
+++ b/searchlib/src/vespa/searchlib/docstore/chunkformats.h
@@ -14,11 +14,11 @@ public:
ChunkFormatV1(vespalib::nbostream & is, uint32_t expectedCrc);
ChunkFormatV1(size_t maxSize);
private:
- virtual bool includeSerializedSize() const { return false; }
- virtual uint8_t getVersion() const { return VERSION; }
- virtual size_t getHeaderSize() const { return 0; }
- virtual uint32_t computeCrc(const void * buf, size_t sz) const;
- virtual void writeHeader(vespalib::DataBuffer & buf) const {
+ bool includeSerializedSize() const override { return false; }
+ uint8_t getVersion() const override { return VERSION; }
+ size_t getHeaderSize() const override { return 0; }
+ uint32_t computeCrc(const void * buf, size_t sz) const override;
+ void writeHeader(vespalib::DataBuffer & buf) const override {
(void) buf;
}
};
@@ -31,14 +31,14 @@ public:
ChunkFormatV2(vespalib::nbostream & is, uint32_t expectedCrc);
ChunkFormatV2(size_t maxSize);
private:
- virtual bool includeSerializedSize() const { return true; }
- virtual size_t getHeaderSize() const {
+ bool includeSerializedSize() const override { return true; }
+ size_t getHeaderSize() const override {
// MAGIC
return 4;
}
- virtual uint8_t getVersion() const { return VERSION; }
- virtual uint32_t computeCrc(const void * buf, size_t sz) const;
- virtual void writeHeader(vespalib::DataBuffer & buf) const {
+ uint8_t getVersion() const override { return VERSION; }
+ uint32_t computeCrc(const void * buf, size_t sz) const override;
+ void writeHeader(vespalib::DataBuffer & buf) const override {
buf.writeInt32(MAGIC);
}
void verifyMagic(vespalib::nbostream & is) const;
diff --git a/searchlib/src/vespa/searchlib/docstore/document_store_visitor_progress.h b/searchlib/src/vespa/searchlib/docstore/document_store_visitor_progress.h
index 125e8cb0f98..4f23941c272 100644
--- a/searchlib/src/vespa/searchlib/docstore/document_store_visitor_progress.h
+++ b/searchlib/src/vespa/searchlib/docstore/document_store_visitor_progress.h
@@ -3,20 +3,15 @@
#include "idocumentstore.h"
-namespace search
-{
+namespace search {
class DocumentStoreVisitorProgress : public IDocumentStoreVisitorProgress
{
double _progress;
public:
DocumentStoreVisitorProgress();
-
- virtual void
- updateProgress(double progress);
-
- virtual double
- getProgress() const;
+ void updateProgress(double progress) override;
+ virtual double getProgress() const;
};
} // namespace proton
diff --git a/searchlib/src/vespa/searchlib/docstore/documentstore.cpp b/searchlib/src/vespa/searchlib/docstore/documentstore.cpp
index bf360784a56..ceb82a60cbf 100644
--- a/searchlib/src/vespa/searchlib/docstore/documentstore.cpp
+++ b/searchlib/src/vespa/searchlib/docstore/documentstore.cpp
@@ -312,8 +312,7 @@ class DocumentStore::WrapVisitor : public IDataStoreVisitor
uint64_t _syncToken;
public:
- virtual void
- visit(uint32_t lid, const void *buffer, size_t sz);
+ void visit(uint32_t lid, const void *buffer, size_t sz) override;
WrapVisitor(Visitor &visitor,
const document::DocumentTypeRepo &repo,
@@ -333,9 +332,7 @@ class DocumentStore::WrapVisitorProgress : public IDataStoreVisitorProgress
{
IDocumentStoreVisitorProgress &_visitorProgress;
public:
- virtual void
- updateProgress(double progress)
- {
+ void updateProgress(double progress) override {
_visitorProgress.updateProgress(progress);
}
diff --git a/searchlib/src/vespa/searchlib/engine/packetconverter.cpp b/searchlib/src/vespa/searchlib/engine/packetconverter.cpp
index f0d190805ca..cdd61936daf 100644
--- a/searchlib/src/vespa/searchlib/engine/packetconverter.cpp
+++ b/searchlib/src/vespa/searchlib/engine/packetconverter.cpp
@@ -14,8 +14,8 @@ struct FS4PropertiesBuilder : public search::fef::IPropertiesVisitor {
uint32_t idx;
search::fs4transport::FS4Properties &props;
FS4PropertiesBuilder(search::fs4transport::FS4Properties &p) : idx(0), props(p) {}
- virtual void visitProperty(const search::fef::Property::Value &key,
- const search::fef::Property &values)
+ void visitProperty(const search::fef::Property::Value &key,
+ const search::fef::Property &values) override
{
for (uint32_t i = 0; i < values.size(); ++i) {
props.setKey(idx, key.data(), key.size());
diff --git a/searchlib/src/vespa/searchlib/engine/transportserver.cpp b/searchlib/src/vespa/searchlib/engine/transportserver.cpp
index 08a8a191f2f..4e46035b687 100644
--- a/searchlib/src/vespa/searchlib/engine/transportserver.cpp
+++ b/searchlib/src/vespa/searchlib/engine/transportserver.cpp
@@ -401,7 +401,7 @@ TransportServer::getListenPort()
vespalib::Gate done;
int port;
Cmd(TransportServer &s) : server(s), done(), port(-1) {}
- virtual void execute() {
+ void execute() override {
if (server._listener != 0) {
port = server._listener->GetPortNumber();
}
diff --git a/searchlib/src/vespa/searchlib/expression/addfunctionnode.h b/searchlib/src/vespa/searchlib/expression/addfunctionnode.h
index c2fc34e99be..9b2ce74f968 100644
--- a/searchlib/src/vespa/searchlib/expression/addfunctionnode.h
+++ b/searchlib/src/vespa/searchlib/expression/addfunctionnode.h
@@ -1,7 +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/searchlib/expression/numericfunctionnode.h>
+#include "numericfunctionnode.h"
namespace search {
namespace expression {
@@ -12,9 +12,9 @@ public:
DECLARE_EXPRESSIONNODE(AddFunctionNode);
AddFunctionNode() { }
private:
- virtual void onArgument(const ResultNode & arg, ResultNode & result) const;
- virtual ResultNode & flatten(const ResultNodeVector & v, ResultNode & result) const { return v.flattenSum(result); }
- virtual ResultNode::CP getInitialValue() const { return ResultNode::CP(new Int64ResultNode(0)); }
+ void onArgument(const ResultNode & arg, ResultNode & result) const override;
+ ResultNode & flatten(const ResultNodeVector & v, ResultNode & result) const override { return v.flattenSum(result); }
+ ResultNode::CP getInitialValue() const override { return ResultNode::CP(new Int64ResultNode(0)); }
};
}
diff --git a/searchlib/src/vespa/searchlib/expression/andfunctionnode.h b/searchlib/src/vespa/searchlib/expression/andfunctionnode.h
index cc8d89c669c..a53d5803c7a 100644
--- a/searchlib/src/vespa/searchlib/expression/andfunctionnode.h
+++ b/searchlib/src/vespa/searchlib/expression/andfunctionnode.h
@@ -1,8 +1,8 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <vespa/searchlib/expression/bitfunctionnode.h>
-#include <vespa/searchlib/expression/integerresultnode.h>
+#include "bitfunctionnode.h"
+#include "integerresultnode.h"
namespace search {
namespace expression {
@@ -13,12 +13,10 @@ public:
DECLARE_EXPRESSIONNODE(AndFunctionNode);
AndFunctionNode() { }
private:
- virtual ResultNode::CP getInitialValue() const { return ResultNode::CP(new Int64ResultNode(-1)); }
- virtual ResultNode & flatten(const ResultNodeVector & v, ResultNode & result) const { return v.flattenAnd(result); }
-
- virtual void onArgument(const ResultNode & arg, Int64ResultNode & result) const;
+ ResultNode::CP getInitialValue() const override { return ResultNode::CP(new Int64ResultNode(-1)); }
+ ResultNode & flatten(const ResultNodeVector & v, ResultNode & result) const override { return v.flattenAnd(result); }
+ void onArgument(const ResultNode & arg, Int64ResultNode & result) const override;
};
}
}
-
diff --git a/searchlib/src/vespa/searchlib/expression/arrayatlookupfunctionnode.h b/searchlib/src/vespa/searchlib/expression/arrayatlookupfunctionnode.h
index 54b4a88a559..8a50ec4e86c 100644
--- a/searchlib/src/vespa/searchlib/expression/arrayatlookupfunctionnode.h
+++ b/searchlib/src/vespa/searchlib/expression/arrayatlookupfunctionnode.h
@@ -18,22 +18,15 @@ public:
ArrayAtLookup();
~ArrayAtLookup();
-
- ArrayAtLookup(const vespalib::string &attribute,
- ExpressionNode::UP arg);
-
- ArrayAtLookup(const search::attribute::IAttributeVector &attr,
- ExpressionNode::UP indexArg);
-
+ ArrayAtLookup(const vespalib::string &attribute, ExpressionNode::UP arg);
+ ArrayAtLookup(const search::attribute::IAttributeVector &attr, ExpressionNode::UP indexArg);
ArrayAtLookup(const ArrayAtLookup &rhs);
-
ArrayAtLookup & operator= (const ArrayAtLookup &rhs);
-
void setDocId(DocId docId) { _docId = docId; }
private:
- virtual bool onExecute() const;
- virtual void onPrepareResult();
- virtual void wireAttributes(const search::attribute::IAttributeContext &attrCtx);
+ bool onExecute() const override;
+ void onPrepareResult() override;
+ void wireAttributes(const search::attribute::IAttributeContext &attrCtx) override;
enum BasicAttributeType {
BAT_INT, BAT_FLOAT, BAT_STRING
diff --git a/searchlib/src/vespa/searchlib/expression/arrayoperationnode.h b/searchlib/src/vespa/searchlib/expression/arrayoperationnode.h
index 6afcbdcccaf..4e4f94d2a6a 100644
--- a/searchlib/src/vespa/searchlib/expression/arrayoperationnode.h
+++ b/searchlib/src/vespa/searchlib/expression/arrayoperationnode.h
@@ -1,7 +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/searchlib/expression/functionnode.h>
+#include "functionnode.h"
#include <vespa/searchcommon/attribute/iattributecontext.h>
#include <vespa/vespalib/util/stringfmt.h>
@@ -11,8 +11,8 @@ namespace expression {
class ArrayOperationNode : public FunctionNode
{
public:
- typedef search::attribute::IAttributeVector IAttributeVector;
- typedef search::attribute::IAttributeContext IAttributeContext;
+ typedef attribute::IAttributeVector IAttributeVector;
+ typedef attribute::IAttributeContext IAttributeContext;
DECLARE_NBO_SERIALIZE;
DECLARE_ABSTRACT_EXPRESSIONNODE(ArrayOperationNode);
@@ -26,7 +26,7 @@ public:
void setDocId(DocId newDocId) { _docId = newDocId; }
- virtual void wireAttributes(const IAttributeContext &attrCtx);
+ void wireAttributes(const IAttributeContext &attrCtx) override;
protected:
DocId docId() const { return _docId; }
@@ -37,10 +37,9 @@ protected:
private:
vespalib::string _attributeName;
- const search::attribute::IAttributeVector * _attribute;
+ const attribute::IAttributeVector * _attribute;
DocId _docId;
};
}
}
-
diff --git a/searchlib/src/vespa/searchlib/expression/attributenode.h b/searchlib/src/vespa/searchlib/expression/attributenode.h
index a88881afbb8..f9f098f6977 100644
--- a/searchlib/src/vespa/searchlib/expression/attributenode.h
+++ b/searchlib/src/vespa/searchlib/expression/attributenode.h
@@ -67,7 +67,7 @@ public:
bool check(const vespalib::Identifiable &obj) const override { return obj.inherits(AttributeNode::classId); }
};
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
DECLARE_EXPRESSIONNODE(AttributeNode);
AttributeNode();
AttributeNode(const vespalib::stringref &name);
diff --git a/searchlib/src/vespa/searchlib/expression/bitfunctionnode.h b/searchlib/src/vespa/searchlib/expression/bitfunctionnode.h
index 1a2529d1038..87f8fa72754 100644
--- a/searchlib/src/vespa/searchlib/expression/bitfunctionnode.h
+++ b/searchlib/src/vespa/searchlib/expression/bitfunctionnode.h
@@ -1,8 +1,8 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <vespa/searchlib/expression/multiargfunctionnode.h>
-#include <vespa/searchlib/expression/integerresultnode.h>
+#include "multiargfunctionnode.h"
+#include "integerresultnode.h"
namespace search {
namespace expression {
@@ -13,10 +13,10 @@ public:
DECLARE_ABSTRACT_EXPRESSIONNODE(BitFunctionNode);
BitFunctionNode() { }
protected:
- virtual void onPrepareResult();
+ void onPrepareResult() override;
private:
virtual void onArgument(const ResultNode & arg, Int64ResultNode & result) const = 0;
- virtual void onArgument(const ResultNode & arg, ResultNode & result) const;
+ void onArgument(const ResultNode & arg, ResultNode & result) const override;
};
}
diff --git a/searchlib/src/vespa/searchlib/expression/bucketresultnode.h b/searchlib/src/vespa/searchlib/expression/bucketresultnode.h
index 36f0cff66f5..b954d4c4637 100644
--- a/searchlib/src/vespa/searchlib/expression/bucketresultnode.h
+++ b/searchlib/src/vespa/searchlib/expression/bucketresultnode.h
@@ -10,18 +10,17 @@ class BucketResultNode : public ResultNode
{
public:
DECLARE_ABSTRACT_EXPRESSIONNODE(BucketResultNode);
- virtual void set(const ResultNode & rhs) { (void) rhs; }
+ void set(const ResultNode & rhs) override { (void) rhs; }
protected:
static vespalib::FieldBase _fromField;
static vespalib::FieldBase _toField;
private:
- virtual int64_t onGetInteger(size_t index) const { (void) index; return 0; }
- virtual double onGetFloat(size_t index) const { (void) index; return 0; }
- virtual ConstBufferRef onGetString(size_t index, BufferRef buf) const { (void) index; return buf; }
- virtual size_t getRawByteSize() const { return onGetRawByteSize(); }
+ int64_t onGetInteger(size_t index) const override { (void) index; return 0; }
+ double onGetFloat(size_t index) const override { (void) index; return 0; }
+ ConstBufferRef onGetString(size_t index, BufferRef buf) const override { (void) index; return buf; }
+ size_t getRawByteSize() const override { return onGetRawByteSize(); }
virtual size_t onGetRawByteSize() const = 0;
};
}
}
-
diff --git a/searchlib/src/vespa/searchlib/expression/catserializer.h b/searchlib/src/vespa/searchlib/expression/catserializer.h
index dc25e3b30d9..37dd7623b02 100644
--- a/searchlib/src/vespa/searchlib/expression/catserializer.h
+++ b/searchlib/src/vespa/searchlib/expression/catserializer.h
@@ -1,9 +1,8 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
+#include "serializer.h"
#include <vespa/vespalib/objects/nboserializer.h>
-#include <vespa/searchlib/expression/serializer.h>
-
namespace search {
namespace expression {
@@ -14,20 +13,20 @@ class CatSerializer : public vespalib::NBOSerializer, public ResultSerializer
{
public:
CatSerializer(vespalib::nbostream & stream) : vespalib::NBOSerializer(stream) { }
- virtual CatSerializer & put(const vespalib::IFieldBase & field, const vespalib::Identifiable & value);
- virtual CatSerializer & put(const vespalib::IFieldBase & field, const vespalib::stringref & value);
- virtual ResultSerializer & putResult(const vespalib::IFieldBase & field, const RawResultNode & value);
- virtual ResultSerializer & putResult(const vespalib::IFieldBase & field, const ResultNodeVector & value);
- virtual void proxyPut(const ResultNode & value);
-
- virtual CatSerializer & get(const vespalib::IFieldBase & field, bool & value);
- virtual CatSerializer & get(const vespalib::IFieldBase & field, uint8_t & value);
- virtual CatSerializer & get(const vespalib::IFieldBase & field, uint16_t & value);
- virtual CatSerializer & get(const vespalib::IFieldBase & field, uint32_t & value);
- virtual CatSerializer & get(const vespalib::IFieldBase & field, uint64_t & value);
- virtual CatSerializer & get(const vespalib::IFieldBase & field, double & value);
- virtual CatSerializer & get(const vespalib::IFieldBase & field, float & value);
- virtual CatSerializer & get(const vespalib::IFieldBase & field, vespalib::string & value);
+ CatSerializer & put(const vespalib::IFieldBase & field, const vespalib::Identifiable & value) override;
+ CatSerializer & put(const vespalib::IFieldBase & field, const vespalib::stringref & value) override;
+ ResultSerializer & putResult(const vespalib::IFieldBase & field, const RawResultNode & value) override;
+ ResultSerializer & putResult(const vespalib::IFieldBase & field, const ResultNodeVector & value) override;
+ void proxyPut(const ResultNode & value) override;
+
+ CatSerializer & get(const vespalib::IFieldBase & field, bool & value) override;
+ CatSerializer & get(const vespalib::IFieldBase & field, uint8_t & value) override;
+ CatSerializer & get(const vespalib::IFieldBase & field, uint16_t & value) override;
+ CatSerializer & get(const vespalib::IFieldBase & field, uint32_t & value) override;
+ CatSerializer & get(const vespalib::IFieldBase & field, uint64_t & value) override;
+ CatSerializer & get(const vespalib::IFieldBase & field, double & value) override;
+ CatSerializer & get(const vespalib::IFieldBase & field, float & value) override;
+ CatSerializer & get(const vespalib::IFieldBase & field, vespalib::string & value) override;
private:
CatSerializer & nop(const vespalib::IFieldBase & field, const void * value) __attribute__((noinline));
@@ -35,4 +34,3 @@ private:
}
}
-
diff --git a/searchlib/src/vespa/searchlib/expression/constantnode.h b/searchlib/src/vespa/searchlib/expression/constantnode.h
index f5f556a5312..aa4c0bd8869 100644
--- a/searchlib/src/vespa/searchlib/expression/constantnode.h
+++ b/searchlib/src/vespa/searchlib/expression/constantnode.h
@@ -14,11 +14,11 @@ public:
DECLARE_EXPRESSIONNODE(ConstantNode);
ConstantNode() : ExpressionNode(), _result() { }
ConstantNode(ResultNode::UP r) : ExpressionNode(), _result(r.release()) { }
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
- virtual const ResultNode & getResult() const { return *_result; }
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
+ const ResultNode & getResult() const override { return *_result; }
private:
- virtual void onPrepare(bool preserveAccurateTypes) { (void) preserveAccurateTypes; }
- virtual bool onExecute() const { return true; }
+ void onPrepare(bool preserveAccurateTypes) override { (void) preserveAccurateTypes; }
+ bool onExecute() const override { return true; }
ResultNode::CP _result;
};
diff --git a/searchlib/src/vespa/searchlib/expression/dividefunctionnode.h b/searchlib/src/vespa/searchlib/expression/dividefunctionnode.h
index 8775e71f7a0..c27e6567990 100644
--- a/searchlib/src/vespa/searchlib/expression/dividefunctionnode.h
+++ b/searchlib/src/vespa/searchlib/expression/dividefunctionnode.h
@@ -1,7 +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/searchlib/expression/numericfunctionnode.h>
+#include "numericfunctionnode.h"
namespace search {
namespace expression {
@@ -12,9 +12,9 @@ public:
DECLARE_EXPRESSIONNODE(DivideFunctionNode);
DivideFunctionNode() { }
private:
- virtual void onArgument(const ResultNode & arg, ResultNode & result) const;
- virtual ResultNode & flatten(const ResultNodeVector & v, ResultNode & result) const;
- virtual ResultNode::CP getInitialValue() const;
+ void onArgument(const ResultNode & arg, ResultNode & result) const override;
+ ResultNode & flatten(const ResultNodeVector & v, ResultNode & result) const override;
+ ResultNode::CP getInitialValue() const override;
};
}
diff --git a/searchlib/src/vespa/searchlib/expression/documentfieldnode.cpp b/searchlib/src/vespa/searchlib/expression/documentfieldnode.cpp
index e4b0a1462f7..bae7a04531f 100644
--- a/searchlib/src/vespa/searchlib/expression/documentfieldnode.cpp
+++ b/searchlib/src/vespa/searchlib/expression/documentfieldnode.cpp
@@ -251,13 +251,13 @@ class String2ResultNode : public ResultNode
{
public:
String2ResultNode(const vespalib::string & s) : _s(s) { }
- virtual int64_t onGetInteger(size_t index) const { (void) index; return strtoul(_s.c_str(), NULL, 0); }
- virtual double onGetFloat(size_t index) const { (void) index; return strtod(_s.c_str(), NULL); }
- virtual ConstBufferRef onGetString(size_t index, BufferRef buf) const { (void) index; (void) buf; return ConstBufferRef(_s.c_str(), _s.size()); }
+ int64_t onGetInteger(size_t index) const override { (void) index; return strtoul(_s.c_str(), NULL, 0); }
+ double onGetFloat(size_t index) const override { (void) index; return strtod(_s.c_str(), NULL); }
+ ConstBufferRef onGetString(size_t index, BufferRef buf) const override { (void) index; (void) buf; return ConstBufferRef(_s.c_str(), _s.size()); }
private:
- virtual String2ResultNode * clone() const { return new String2ResultNode(_s); }
- virtual void set(const ResultNode&);
- virtual size_t hash() const { return 0; }
+ String2ResultNode * clone() const override { return new String2ResultNode(_s); }
+ void set(const ResultNode&) override;
+ size_t hash() const override { return 0; }
const vespalib::string & _s;
};
diff --git a/searchlib/src/vespa/searchlib/expression/enumresultnode.h b/searchlib/src/vespa/searchlib/expression/enumresultnode.h
index 10a40688445..e0e7d50b983 100644
--- a/searchlib/src/vespa/searchlib/expression/enumresultnode.h
+++ b/searchlib/src/vespa/searchlib/expression/enumresultnode.h
@@ -1,7 +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/searchlib/expression/integerresultnode.h>
+#include "integerresultnode.h"
namespace search {
namespace expression {
@@ -12,13 +12,11 @@ private:
typedef IntegerResultNodeT<int64_t> Base;
public:
DECLARE_RESULTNODE(EnumResultNode);
-
EnumResultNode(int64_t v=0) : Base(v) { }
- virtual void set(const ResultNode & rhs) { setValue(rhs.getEnum()); }
-
+ void set(const ResultNode & rhs) override { setValue(rhs.getEnum()); }
private:
- virtual int64_t onGetEnum(size_t index) const { (void) index; return getValue(); }
- virtual ConstBufferRef onGetString(size_t index, BufferRef buf) const;
+ int64_t onGetEnum(size_t index) const override { (void) index; return getValue(); }
+ ConstBufferRef onGetString(size_t index, BufferRef buf) const override;
};
}
diff --git a/searchlib/src/vespa/searchlib/expression/expressionnode.h b/searchlib/src/vespa/searchlib/expression/expressionnode.h
index 62f8869397b..3fce1a3f873 100644
--- a/searchlib/src/vespa/searchlib/expression/expressionnode.h
+++ b/searchlib/src/vespa/searchlib/expression/expressionnode.h
@@ -20,11 +20,11 @@ class ResultNode;
#define DECLARE_EXPRESSIONNODE(Class) \
DECLARE_IDENTIFIABLE_NS2(search, expression, Class) \
- virtual Class * clone() const;
+ Class * clone() const override;
#define DECLARE_EXPRESSIONNODE_NS1(ns, Class) \
DECLARE_IDENTIFIABLE_NS3(search, expression, ns, Class) \
- virtual Class * clone() const;
+ Class * clone() const override;
#define IMPLEMENT_ABSTRACT_EXPRESSIONNODE(Class, base) \
IMPLEMENT_IDENTIFIABLE_ABSTRACT_NS2(search, expression, Class, base)
diff --git a/searchlib/src/vespa/searchlib/expression/fixedwidthbucketfunctionnode.h b/searchlib/src/vespa/searchlib/expression/fixedwidthbucketfunctionnode.h
index c7c81ff536a..2e00a97f586 100644
--- a/searchlib/src/vespa/searchlib/expression/fixedwidthbucketfunctionnode.h
+++ b/searchlib/src/vespa/searchlib/expression/fixedwidthbucketfunctionnode.h
@@ -1,11 +1,11 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <vespa/searchlib/expression/unaryfunctionnode.h>
-#include <vespa/searchlib/expression/numericresultnode.h>
-#include <vespa/searchlib/expression/integerbucketresultnode.h>
-#include <vespa/searchlib/expression/floatbucketresultnode.h>
-#include <vespa/searchlib/expression/resultvector.h>
+#include "unaryfunctionnode.h"
+#include "numericresultnode.h"
+#include "integerbucketresultnode.h"
+#include "floatbucketresultnode.h"
+#include "resultvector.h"
#include <memory>
namespace search {
@@ -26,31 +26,31 @@ public:
struct IntegerBucketHandler : public BucketHandler {
int64_t width;
IntegerBucketHandler(int64_t w) : width(w) {}
- virtual void update(ResultNode &result, const ResultNode &value) const;
- virtual IntegerBucketHandler *clone() const { return new IntegerBucketHandler(*this); }
+ void update(ResultNode &result, const ResultNode &value) const override;
+ IntegerBucketHandler *clone() const override { return new IntegerBucketHandler(*this); }
};
struct IntegerVectorBucketHandler : public IntegerBucketHandler {
IntegerVectorBucketHandler(int64_t w) : IntegerBucketHandler(w) { }
- virtual void update(ResultNode &result, const ResultNode &value) const;
- virtual IntegerVectorBucketHandler *clone() const { return new IntegerVectorBucketHandler(*this); }
+ void update(ResultNode &result, const ResultNode &value) const override;
+ IntegerVectorBucketHandler *clone() const override { return new IntegerVectorBucketHandler(*this); }
};
// update float result bucket based on float value
struct FloatBucketHandler : public BucketHandler {
double width;
FloatBucketHandler(double w) : width(w) {}
- virtual void update(ResultNode &result, const ResultNode &value) const;
- virtual FloatBucketHandler *clone() const { return new FloatBucketHandler(*this); }
+ void update(ResultNode &result, const ResultNode &value) const override;
+ FloatBucketHandler *clone() const override { return new FloatBucketHandler(*this); }
};
struct FloatVectorBucketHandler : public FloatBucketHandler {
FloatVectorBucketHandler(double w) : FloatBucketHandler(w) { }
- virtual void update(ResultNode &result, const ResultNode &value) const;
- virtual FloatVectorBucketHandler *clone() const { return new FloatVectorBucketHandler(*this); }
+ void update(ResultNode &result, const ResultNode &value) const override;
+ FloatVectorBucketHandler *clone() const override { return new FloatVectorBucketHandler(*this); }
};
private:
- virtual void onPrepareResult();
- virtual bool onExecute() const;
+ void onPrepareResult() override;
+ bool onExecute() const override;
NumericResultNode::CP _width;
BucketHandler::CP _bucketHandler;
diff --git a/searchlib/src/vespa/searchlib/expression/floatbucketresultnode.h b/searchlib/src/vespa/searchlib/expression/floatbucketresultnode.h
index aae60dfeb86..fb309352913 100644
--- a/searchlib/src/vespa/searchlib/expression/floatbucketresultnode.h
+++ b/searchlib/src/vespa/searchlib/expression/floatbucketresultnode.h
@@ -12,16 +12,16 @@ private:
double _from;
double _to;
static FloatBucketResultNode _nullResult;
- virtual size_t onGetRawByteSize() const { return sizeof(_from) + sizeof(_to); }
- virtual void create(void * buf) const { (void) buf; }
- virtual void destroy(void * buf) const { (void) buf; }
- virtual void encode(void * buf) const {
+ size_t onGetRawByteSize() const override { return sizeof(_from) + sizeof(_to); }
+ void create(void * buf) const override { (void) buf; }
+ void destroy(void * buf) const override { (void) buf; }
+ void encode(void * buf) const override {
double * v(static_cast<double *>(buf));
v[0] = _from;
v[1] = _to;
}
- virtual size_t hash(const void * buf) const { return static_cast<const size_t *>(buf)[0]; }
- virtual void decode(const void * buf) {
+ size_t hash(const void * buf) const override { return static_cast<const size_t *>(buf)[0]; }
+ void decode(const void * buf) override {
const double * v(static_cast<const double *>(buf));
_from = v[0];
_to = v[1];
@@ -35,17 +35,17 @@ public:
DECLARE_NBO_SERIALIZE;
FloatBucketResultNode() : _from(0.0), _to(0.0) {}
FloatBucketResultNode(double from, double to) : _from(from), _to(to) {}
- virtual size_t hash() const;
- virtual int onCmp(const Identifiable & b) const;
+ size_t hash() const override;
+ int onCmp(const Identifiable & b) const override;
int contains(const FloatBucketResultNode & b) const;
int contains(double v) const { return (v < _from) ? 1 : (v >= _to) ? -1 : 0; }
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
FloatBucketResultNode &setRange(double from, double to) {
_from = from;
_to = to;
return *this;
}
- virtual const FloatBucketResultNode& getNullBucket() const override { return getNull(); }
+ const FloatBucketResultNode& getNullBucket() const override { return getNull(); }
static const FloatBucketResultNode & getNull() { return _nullResult; }
};
diff --git a/searchlib/src/vespa/searchlib/expression/floatresultnode.h b/searchlib/src/vespa/searchlib/expression/floatresultnode.h
index 6aa35c97b46..818564bc4db 100644
--- a/searchlib/src/vespa/searchlib/expression/floatresultnode.h
+++ b/searchlib/src/vespa/searchlib/expression/floatresultnode.h
@@ -1,55 +1,55 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <vespa/searchlib/expression/numericresultnode.h>
+#include "numericresultnode.h"
#include <vespa/vespalib/util/sort.h>
namespace search {
namespace expression {
-class FloatResultNode : public NumericResultNode
+class FloatResultNode final : public NumericResultNode
{
public:
DECLARE_EXPRESSIONNODE(FloatResultNode);
DECLARE_NBO_SERIALIZE;
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
FloatResultNode(double v=0) : _value(v) { }
- virtual size_t hash() const { size_t tmpHash(0); memcpy(&tmpHash, &_value, sizeof(tmpHash)); return tmpHash; }
- virtual int onCmp(const Identifiable & b) const;
- virtual void add(const ResultNode & b);
- virtual void negate();
- virtual void multiply(const ResultNode & b);
- virtual void divide(const ResultNode & b);
- virtual void modulo(const ResultNode & b);
- virtual void min(const ResultNode & b);
- virtual void max(const ResultNode & b);
- virtual void set(const ResultNode & rhs);
+ size_t hash() const override { size_t tmpHash(0); memcpy(&tmpHash, &_value, sizeof(tmpHash)); return tmpHash; }
+ int onCmp(const Identifiable & b) const override;
+ void add(const ResultNode & b) override;
+ void negate() override;
+ void multiply(const ResultNode & b) override;
+ void divide(const ResultNode & b) override;
+ void modulo(const ResultNode & b) override;
+ void min(const ResultNode & b) override;
+ void max(const ResultNode & b) override;
+ void set(const ResultNode & rhs) override;
double get() const { return _value; }
void set(double value) { _value = value; }
- virtual const BucketResultNode& getNullBucket() const override;
+ const BucketResultNode& getNullBucket() const override;
private:
- virtual int cmpMem(const void * a, const void *b) const {
+ int cmpMem(const void * a, const void *b) const override {
const double & ai(*static_cast<const double *>(a));
const double & bi(*static_cast<const double *>(b));
return ai < bi ? -1 : ai == bi ? 0 : 1;
}
- virtual void create(void * buf) const { (void) buf; }
- virtual void destroy(void * buf) const { (void) buf; }
- virtual void decode(const void * buf) { _value = *static_cast<const double *>(buf); }
- virtual void encode(void * buf) const { *static_cast<double *>(buf) = _value; }
- virtual void swap(void * buf) { std::swap(*static_cast<double *>(buf), _value); }
- virtual size_t hash(const void * buf) const { size_t tmpHash(0); memcpy(&tmpHash, buf, sizeof(tmpHash)); return tmpHash; }
- virtual uint64_t radixAsc(const void * buf) const { return vespalib::convertForSort<double, true>::convert(*static_cast<const double *>(buf)); }
- virtual uint64_t radixDesc(const void * buf) const { return vespalib::convertForSort<double, false>::convert(*static_cast<const double *>(buf)); }
+ void create(void * buf) const override { (void) buf; }
+ void destroy(void * buf) const override { (void) buf; }
+ void decode(const void * buf) override { _value = *static_cast<const double *>(buf); }
+ void encode(void * buf) const override { *static_cast<double *>(buf) = _value; }
+ void swap(void * buf) override { std::swap(*static_cast<double *>(buf), _value); }
+ size_t hash(const void * buf) const override { size_t tmpHash(0); memcpy(&tmpHash, buf, sizeof(tmpHash)); return tmpHash; }
+ uint64_t radixAsc(const void * buf) const override { return vespalib::convertForSort<double, true>::convert(*static_cast<const double *>(buf)); }
+ uint64_t radixDesc(const void * buf) const override { return vespalib::convertForSort<double, false>::convert(*static_cast<const double *>(buf)); }
- virtual size_t onGetRawByteSize() const { return sizeof(_value); }
+ size_t onGetRawByteSize() const override { return sizeof(_value); }
bool isNan() const;
- virtual void setMin();
- virtual void setMax();
- virtual int64_t onGetInteger(size_t index) const;
- virtual double onGetFloat(size_t index) const;
- virtual ConstBufferRef onGetString(size_t index, BufferRef buf) const;
+ void setMin() override;
+ void setMax() override;
+ int64_t onGetInteger(size_t index) const override;
+ double onGetFloat(size_t index) const override;
+ ConstBufferRef onGetString(size_t index, BufferRef buf) const override;
double _value;
};
diff --git a/searchlib/src/vespa/searchlib/expression/getdocidnamespacespecificfunctionnode.h b/searchlib/src/vespa/searchlib/expression/getdocidnamespacespecificfunctionnode.h
index 52114489f1f..a2a34a1214f 100644
--- a/searchlib/src/vespa/searchlib/expression/getdocidnamespacespecificfunctionnode.h
+++ b/searchlib/src/vespa/searchlib/expression/getdocidnamespacespecificfunctionnode.h
@@ -1,7 +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/searchlib/expression/documentaccessornode.h>
+#include "documentaccessornode.h"
namespace search {
namespace expression {
@@ -10,19 +10,18 @@ class GetDocIdNamespaceSpecificFunctionNode : public DocumentAccessorNode
{
public:
DECLARE_NBO_SERIALIZE;
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
DECLARE_EXPRESSIONNODE(GetDocIdNamespaceSpecificFunctionNode);
GetDocIdNamespaceSpecificFunctionNode() : _value(new StringResultNode("")) { }
GetDocIdNamespaceSpecificFunctionNode(ResultNode::UP resultNode) : _value(resultNode.release()) { }
private:
- virtual const ResultNode & getResult() const { return *_value; }
- virtual void onDocType(const document::DocumentType & docType) { (void) docType; }
- virtual void onDoc(const document::Document & doc);
- virtual void onPrepare(bool preserveAccurateTypes) { (void) preserveAccurateTypes; }
- virtual bool onExecute() const { return true; }
+ const ResultNode & getResult() const override { return *_value; }
+ void onDocType(const document::DocumentType & docType) override { (void) docType; }
+ void onDoc(const document::Document & doc) override;
+ void onPrepare(bool preserveAccurateTypes) override { (void) preserveAccurateTypes; }
+ bool onExecute() const override { return true; }
ResultNode::CP _value;
};
}
}
-
diff --git a/searchlib/src/vespa/searchlib/expression/getymumchecksumfunctionnode.h b/searchlib/src/vespa/searchlib/expression/getymumchecksumfunctionnode.h
index 786f115f6a5..a7ee9a41a6b 100644
--- a/searchlib/src/vespa/searchlib/expression/getymumchecksumfunctionnode.h
+++ b/searchlib/src/vespa/searchlib/expression/getymumchecksumfunctionnode.h
@@ -1,7 +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/searchlib/expression/documentaccessornode.h>
+#include "documentaccessornode.h"
namespace search {
namespace expression {
@@ -10,14 +10,14 @@ class GetYMUMChecksumFunctionNode : public DocumentAccessorNode
{
public:
DECLARE_NBO_SERIALIZE;
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
DECLARE_EXPRESSIONNODE(GetYMUMChecksumFunctionNode);
private:
- virtual void onPrepare(bool preserveAccurateTypes) { (void) preserveAccurateTypes; }
- virtual const ResultNode & getResult() const { return _checkSum; }
- virtual void onDocType(const document::DocumentType & docType) { (void) docType; }
- virtual void onDoc(const document::Document & doc);
- virtual bool onExecute() const { return true; }
+ void onPrepare(bool preserveAccurateTypes) override { (void) preserveAccurateTypes; }
+ const ResultNode & getResult() const override { return _checkSum; }
+ void onDocType(const document::DocumentType & docType) override { (void) docType; }
+ void onDoc(const document::Document & doc) override;
+ bool onExecute() const override { return true; }
Int64ResultNode _checkSum;
};
diff --git a/searchlib/src/vespa/searchlib/expression/integerbucketresultnode.h b/searchlib/src/vespa/searchlib/expression/integerbucketresultnode.h
index e37ec993c79..194f7087e89 100644
--- a/searchlib/src/vespa/searchlib/expression/integerbucketresultnode.h
+++ b/searchlib/src/vespa/searchlib/expression/integerbucketresultnode.h
@@ -13,30 +13,29 @@ private:
int64_t _to;
static IntegerBucketResultNode _nullResult;
- virtual size_t onGetRawByteSize() const { return sizeof(_from) + sizeof(_to); }
- virtual void create(void * buf) const { (void) buf; }
- virtual void destroy(void * buf) const { (void) buf; }
- virtual void encode(void * buf) const {
+ size_t onGetRawByteSize() const override { return sizeof(_from) + sizeof(_to); }
+ void create(void * buf) const override { (void) buf; }
+ void destroy(void * buf) const override { (void) buf; }
+ void encode(void * buf) const override {
int64_t * v(static_cast<int64_t *>(buf));
v[0] = _from;
v[1] = _to;
}
- virtual size_t hash(const void * buf) const { return static_cast<const int64_t *>(buf)[0]; }
- virtual void decode(const void * buf) {
+ size_t hash(const void * buf) const override { return static_cast<const int64_t *>(buf)[0]; }
+ void decode(const void * buf) override {
const int64_t * v(static_cast<const int64_t *>(buf));
_from = v[0];
_to = v[1];
}
-#if 0
-#endif
+
public:
DECLARE_EXPRESSIONNODE(IntegerBucketResultNode);
DECLARE_NBO_SERIALIZE;
IntegerBucketResultNode() : _from(0), _to(0) {}
IntegerBucketResultNode(int64_t from, int64_t to) : _from(from), _to(to) {}
- virtual size_t hash() const;
- virtual int onCmp(const Identifiable & b) const;
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
+ size_t hash() const override;
+ int onCmp(const Identifiable & b) const override;
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
int contains(const IntegerBucketResultNode & b) const;
int contains(int64_t v) const { return (v < _from) ? 1 : (v >= _to) ? -1 : 0; }
IntegerBucketResultNode &setRange(int64_t from, int64_t to) {
@@ -44,7 +43,7 @@ public:
_to = to;
return *this;
}
- virtual const IntegerBucketResultNode& getNullBucket() const override { return getNull(); }
+ const IntegerBucketResultNode& getNullBucket() const override { return getNull(); }
static const IntegerBucketResultNode & getNull() { return _nullResult; }
};
diff --git a/searchlib/src/vespa/searchlib/expression/integerresultnode.h b/searchlib/src/vespa/searchlib/expression/integerresultnode.h
index 3954031f17a..8b840f3cc13 100644
--- a/searchlib/src/vespa/searchlib/expression/integerresultnode.h
+++ b/searchlib/src/vespa/searchlib/expression/integerresultnode.h
@@ -23,25 +23,31 @@ class IntegerResultNodeT : public IntegerResultNode
{
public:
IntegerResultNodeT(int64_t v=0) : _value(v) { }
- virtual size_t hash() const { return _value; }
- virtual int onCmp(const Identifiable & b) const {
+ size_t hash() const override { return _value; }
+ int onCmp(const Identifiable & b) const override {
T bv(static_cast<const IntegerResultNodeT &>(b)._value);
return (_value < bv) ? -1 : (_value > bv) ? 1 : 0;
}
- virtual void add(const ResultNode & b) { _value += b.getInteger(); }
- virtual void negate() { _value = - _value; }
- virtual void multiply(const ResultNode & b) { _value *= b.getInteger(); }
- virtual void divide(const ResultNode & b) {
+ void add(const ResultNode & b) override { _value += b.getInteger(); }
+ void negate() override { _value = - _value; }
+ void multiply(const ResultNode & b) override { _value *= b.getInteger(); }
+ void divide(const ResultNode & b) override {
int64_t val = b.getInteger();
_value = (val == 0) ? 0 : (_value / val);
}
- virtual void modulo(const ResultNode & b) {
+ void modulo(const ResultNode & b) override {
int64_t val = b.getInteger();
_value = (val == 0) ? 0 : (_value % val);
}
- virtual void min(const ResultNode & b) { int64_t t(b.getInteger()); if (t < _value) { _value = t; } }
- virtual void max(const ResultNode & b) { int64_t t(b.getInteger()); if (t > _value) { _value = t; } }
- virtual void set(const ResultNode & rhs) { _value = rhs.getInteger(); }
+ void min(const ResultNode & b) override {
+ int64_t t(b.getInteger());
+ if (t < _value) { _value = t; }
+ }
+ void max(const ResultNode & b) override {
+ int64_t t(b.getInteger());
+ if (t > _value) { _value = t; }
+ }
+ void set(const ResultNode & rhs) override { _value = rhs.getInteger(); }
void andOp(const ResultNode & b) { _value &= b.getInteger(); }
void orOp(const ResultNode & b) { _value |= b.getInteger(); }
void xorOp(const ResultNode & b) { _value ^= b.getInteger(); }
@@ -54,27 +60,31 @@ protected:
void setValue(const T &value) { _value = value; }
T getValue() const { return _value; }
private:
- virtual int cmpMem(const void * a, const void *b) const {
+ int cmpMem(const void * a, const void *b) const override {
const T & ai(*static_cast<const T *>(a));
const T & bi(*static_cast<const T *>(b));
return ai < bi ? -1 : ai == bi ? 0 : 1;
}
- virtual void create(void * buf) const { (void) buf; }
- virtual void destroy(void * buf) const { (void) buf; }
- virtual void decode(const void * buf) { _value = *static_cast<const T *>(buf); }
- virtual void encode(void * buf) const { *static_cast<T *>(buf) = _value; }
- virtual void swap(void * buf) { std::swap(*static_cast<T *>(buf), _value); }
- virtual size_t hash(const void * buf) const { return *static_cast<const T *>(buf); }
- virtual uint64_t radixAsc(const void * buf) const { return vespalib::convertForSort<T, true>::convert(*static_cast<const T *>(buf)); }
- virtual uint64_t radixDesc(const void * buf) const { return vespalib::convertForSort<T, false>::convert(*static_cast<const T *>(buf)); }
- virtual size_t onGetRawByteSize() const { return sizeof(_value); }
- virtual void setMin() { _value = std::numeric_limits<T>::min(); }
- virtual void setMax() { _value = std::numeric_limits<T>::max(); }
- virtual vespalib::Serializer & onSerialize(vespalib::Serializer & os) const { return os << _value; }
- virtual vespalib::Deserializer & onDeserialize(vespalib::Deserializer & is) { return is >> _value; }
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const { visit(visitor, "value", _value); }
- virtual int64_t onGetInteger(size_t index) const { (void) index; return _value; }
- virtual double onGetFloat(size_t index) const { (void) index; return _value; }
+ void create(void * buf) const override { (void) buf; }
+ void destroy(void * buf) const override { (void) buf; }
+ void decode(const void * buf) override { _value = *static_cast<const T *>(buf); }
+ void encode(void * buf) const override { *static_cast<T *>(buf) = _value; }
+ void swap(void * buf) override { std::swap(*static_cast<T *>(buf), _value); }
+ size_t hash(const void * buf) const override { return *static_cast<const T *>(buf); }
+ uint64_t radixAsc(const void * buf) const override {
+ return vespalib::convertForSort<T, true>::convert(*static_cast<const T *>(buf));
+ }
+ uint64_t radixDesc(const void * buf) const override {
+ return vespalib::convertForSort<T, false>::convert(*static_cast<const T *>(buf));
+ }
+ size_t onGetRawByteSize() const override { return sizeof(_value); }
+ void setMin() override { _value = std::numeric_limits<T>::min(); }
+ void setMax() override { _value = std::numeric_limits<T>::max(); }
+ vespalib::Serializer & onSerialize(vespalib::Serializer & os) const override { return os << _value; }
+ vespalib::Deserializer & onDeserialize(vespalib::Deserializer & is) override { return is >> _value; }
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override { visit(visitor, "value", _value); }
+ int64_t onGetInteger(size_t index) const override { (void) index; return _value; }
+ double onGetFloat(size_t index) const override { (void) index; return _value; }
T _value;
};
@@ -86,7 +96,7 @@ public:
DECLARE_RESULTNODE(Int8ResultNode);
Int8ResultNode(int8_t v=0) : Base(v) { }
private:
- virtual ConstBufferRef onGetString(size_t index, BufferRef buf) const;
+ ConstBufferRef onGetString(size_t index, BufferRef buf) const override;
};
class Int16ResultNode : public IntegerResultNodeT<int16_t>
@@ -97,7 +107,7 @@ public:
DECLARE_RESULTNODE(Int16ResultNode);
Int16ResultNode(int16_t v=0) : Base(v) { }
private:
- virtual ConstBufferRef onGetString(size_t index, BufferRef buf) const;
+ ConstBufferRef onGetString(size_t index, BufferRef buf) const override;
};
class Int32ResultNode : public IntegerResultNodeT<int32_t>
@@ -108,7 +118,7 @@ public:
DECLARE_RESULTNODE(Int32ResultNode);
Int32ResultNode(int32_t v=0) : Base(v) { }
private:
- virtual ConstBufferRef onGetString(size_t index, BufferRef buf) const;
+ ConstBufferRef onGetString(size_t index, BufferRef buf) const override;
};
class Int64ResultNode : public IntegerResultNodeT<int64_t>
@@ -119,7 +129,7 @@ public:
DECLARE_RESULTNODE(Int64ResultNode);
Int64ResultNode(int64_t v=0) : Base(v) { }
private:
- virtual ConstBufferRef onGetString(size_t index, BufferRef buf) const;
+ ConstBufferRef onGetString(size_t index, BufferRef buf) const override;
};
}
diff --git a/searchlib/src/vespa/searchlib/expression/interpolatedlookupfunctionnode.h b/searchlib/src/vespa/searchlib/expression/interpolatedlookupfunctionnode.h
index 50e03e615a2..417c09f031f 100644
--- a/searchlib/src/vespa/searchlib/expression/interpolatedlookupfunctionnode.h
+++ b/searchlib/src/vespa/searchlib/expression/interpolatedlookupfunctionnode.h
@@ -16,22 +16,15 @@ public:
InterpolatedLookup();
~InterpolatedLookup();
-
- InterpolatedLookup(const vespalib::string &attribute,
- ExpressionNode::UP arg);
-
- InterpolatedLookup(const search::attribute::IAttributeVector &attr,
- ExpressionNode::UP lookupArg);
-
+ InterpolatedLookup(const vespalib::string &attribute, ExpressionNode::UP arg);
+ InterpolatedLookup(const search::attribute::IAttributeVector &attr, ExpressionNode::UP lookupArg);
InterpolatedLookup(const InterpolatedLookup &rhs);
-
InterpolatedLookup & operator= (const InterpolatedLookup &rhs);
-
void setDocId(DocId docId) { _docId = docId; }
private:
- virtual bool onExecute() const;
- virtual void onPrepareResult();
- virtual void wireAttributes(const search::attribute::IAttributeContext &attrCtx);
+ bool onExecute() const override;
+ void onPrepareResult() override;
+ void wireAttributes(const search::attribute::IAttributeContext &attrCtx) override;
vespalib::string _attributeName;
const search::attribute::IAttributeVector * _attribute;
DocId _docId;
diff --git a/searchlib/src/vespa/searchlib/expression/maxfunctionnode.h b/searchlib/src/vespa/searchlib/expression/maxfunctionnode.h
index 515788611a3..488cafca989 100644
--- a/searchlib/src/vespa/searchlib/expression/maxfunctionnode.h
+++ b/searchlib/src/vespa/searchlib/expression/maxfunctionnode.h
@@ -1,7 +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/searchlib/expression/numericfunctionnode.h>
+#include "numericfunctionnode.h"
namespace search {
namespace expression {
@@ -12,9 +12,9 @@ public:
DECLARE_EXPRESSIONNODE(MaxFunctionNode);
MaxFunctionNode() { }
private:
- virtual void onArgument(const ResultNode & arg, ResultNode & result) const;
- virtual ResultNode & flatten(const ResultNodeVector & v, ResultNode & result) const { return v.flattenMax(result); }
- virtual ResultNode::CP getInitialValue() const;
+ void onArgument(const ResultNode & arg, ResultNode & result) const override;
+ ResultNode & flatten(const ResultNodeVector & v, ResultNode & result) const override { return v.flattenMax(result); }
+ ResultNode::CP getInitialValue() const override;
};
}
diff --git a/searchlib/src/vespa/searchlib/expression/minfunctionnode.h b/searchlib/src/vespa/searchlib/expression/minfunctionnode.h
index 1ce835fbc24..8ff7ebfbbb2 100644
--- a/searchlib/src/vespa/searchlib/expression/minfunctionnode.h
+++ b/searchlib/src/vespa/searchlib/expression/minfunctionnode.h
@@ -1,7 +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/searchlib/expression/numericfunctionnode.h>
+#include "numericfunctionnode.h"
namespace search {
namespace expression {
@@ -12,9 +12,9 @@ public:
DECLARE_EXPRESSIONNODE(MinFunctionNode);
MinFunctionNode() { }
private:
- virtual void onArgument(const ResultNode & arg, ResultNode & result) const;
- virtual ResultNode & flatten(const ResultNodeVector & v, ResultNode & result) const { return v.flattenMin(result); }
- virtual ResultNode::CP getInitialValue() const;
+ void onArgument(const ResultNode & arg, ResultNode & result) const override;
+ ResultNode & flatten(const ResultNodeVector & v, ResultNode & result) const override { return v.flattenMin(result); }
+ ResultNode::CP getInitialValue() const override;
};
}
diff --git a/searchlib/src/vespa/searchlib/expression/modulofunctionnode.h b/searchlib/src/vespa/searchlib/expression/modulofunctionnode.h
index c6d46feea73..ed55378be6e 100644
--- a/searchlib/src/vespa/searchlib/expression/modulofunctionnode.h
+++ b/searchlib/src/vespa/searchlib/expression/modulofunctionnode.h
@@ -1,7 +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/searchlib/expression/numericfunctionnode.h>
+#include "numericfunctionnode.h"
namespace search {
namespace expression {
@@ -12,9 +12,9 @@ public:
DECLARE_EXPRESSIONNODE(ModuloFunctionNode);
ModuloFunctionNode() { }
private:
- virtual void onArgument(const ResultNode & arg, ResultNode & result) const;
- virtual ResultNode & flatten(const ResultNodeVector & v, ResultNode & result) const;
- virtual ResultNode::CP getInitialValue() const;
+ void onArgument(const ResultNode & arg, ResultNode & result) const override;
+ ResultNode & flatten(const ResultNodeVector & v, ResultNode & result) const override;
+ ResultNode::CP getInitialValue() const override;
};
}
diff --git a/searchlib/src/vespa/searchlib/expression/multiargfunctionnode.h b/searchlib/src/vespa/searchlib/expression/multiargfunctionnode.h
index 71ab5052ccf..50884943c07 100644
--- a/searchlib/src/vespa/searchlib/expression/multiargfunctionnode.h
+++ b/searchlib/src/vespa/searchlib/expression/multiargfunctionnode.h
@@ -11,7 +11,7 @@ class MultiArgFunctionNode : public FunctionNode
public:
typedef std::vector<ExpressionNode::CP> ExpressionNodeVector;
DECLARE_NBO_SERIALIZE;
- virtual void visitMembers(vespalib::ObjectVisitor & visitor) const;
+ void visitMembers(vespalib::ObjectVisitor & visitor) const override;
DECLARE_ABSTRACT_EXPRESSIONNODE(MultiArgFunctionNode);
MultiArgFunctionNode();
MultiArgFunctionNode(const MultiArgFunctionNode &);
diff --git a/searchlib/src/vespa/searchlib/expression/multiplyfunctionnode.h b/searchlib/src/vespa/searchlib/expression/multiplyfunctionnode.h
index d6386b24ab0..d63741fecaf 100644
--- a/searchlib/src/vespa/searchlib/expression/multiplyfunctionnode.h
+++ b/searchlib/src/vespa/searchlib/expression/multiplyfunctionnode.h
@@ -1,7 +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/searchlib/expression/numericfunctionnode.h>
+#include "numericfunctionnode.h"
namespace search {
namespace expression {
@@ -12,9 +12,9 @@ public:
DECLARE_EXPRESSIONNODE(MultiplyFunctionNode);
MultiplyFunctionNode() { }
private:
- virtual void onArgument(const ResultNode & arg, ResultNode & result) const;
- virtual ResultNode::CP getInitialValue() const { return ResultNode::CP(new Int64ResultNode(1)); }
- virtual ResultNode & flatten(const ResultNodeVector & v, ResultNode & result) const { return v.flattenMultiply(result); }
+ void onArgument(const ResultNode & arg, ResultNode & result) const override;
+ ResultNode::CP getInitialValue() const override { return ResultNode::CP(new Int64ResultNode(1)); }
+ ResultNode & flatten(const ResultNodeVector & v, ResultNode & result) const override { return v.flattenMultiply(result); }
};
}
diff --git a/searchlib/src/vespa/searchlib/expression/negatefunctionnode.h b/searchlib/src/vespa/searchlib/expression/negatefunctionnode.h
index 63cd028c87c..b1b8ad1d1a7 100644
--- a/searchlib/src/vespa/searchlib/expression/negatefunctionnode.h
+++ b/searchlib/src/vespa/searchlib/expression/negatefunctionnode.h
@@ -13,7 +13,7 @@ public:
NegateFunctionNode() { }
NegateFunctionNode(ExpressionNode::UP arg) : UnaryFunctionNode(std::move(arg)) { }
private:
- virtual bool onExecute() const;
+ bool onExecute() const override;
};
}
diff --git a/searchlib/src/vespa/searchlib/expression/nullresultnode.h b/searchlib/src/vespa/searchlib/expression/nullresultnode.h
index d5bf6d727a4..ee3abdead32 100644
--- a/searchlib/src/vespa/searchlib/expression/nullresultnode.h
+++ b/searchlib/src/vespa/searchlib/expression/nullresultnode.h
@@ -1,7 +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/searchlib/expression/singleresultnode.h>
+#include "singleresultnode.h"
namespace search {
namespace expression {
@@ -10,25 +10,25 @@ class NullResultNode : public SingleResultNode
{
public:
DECLARE_EXPRESSIONNODE(NullResultNode);
- virtual size_t hash() const;
- virtual int onCmp(const Identifiable & b) const;
- virtual void set(const ResultNode & rhs);
- virtual void min(const ResultNode & b);
- virtual void max(const ResultNode & b);
- virtual void add(const ResultNode & b);
+ size_t hash() const override;
+ int onCmp(const Identifiable & b) const override;
+ void set(const ResultNode & rhs) override;
+ void min(const ResultNode & b) override;
+ void max(const ResultNode & b) override;
+ void add(const ResultNode & b) override;
private:
- virtual void setMin();
- virtual void setMax();
- virtual int64_t onGetInteger(size_t index) const;
- virtual double onGetFloat(size_t index) const;
- virtual ConstBufferRef onGetString(size_t index, BufferRef buf) const;
- virtual size_t onGetRawByteSize() const { return 0; }
- virtual void create(void * buf) const { (void) buf; }
- virtual void destroy(void * buf) const { (void) buf;}
+ void setMin() override;
+ void setMax() override;
+ int64_t onGetInteger(size_t index) const override;
+ double onGetFloat(size_t index) const override;
+ ConstBufferRef onGetString(size_t index, BufferRef buf) const override;
+ size_t onGetRawByteSize() const override { return 0; }
+ void create(void * buf) const override { (void) buf; }
+ void destroy(void * buf) const override { (void) buf;}
- virtual void decode(const void * buf) { (void) buf; }
- virtual void encode(void * buf) const { (void) buf; }
- virtual void swap(void * buf) { (void) buf; }
+ void decode(const void * buf) override { (void) buf; }
+ void encode(void * buf) const override { (void) buf; }
+ void swap(void * buf) override { (void) buf; }
};
}
diff --git a/searchlib/src/vespa/searchlib/expression/numericfunctionnode.h b/searchlib/src/vespa/searchlib/expression/numericfunctionnode.h
index 393b89d1049..aa3a6876eb2 100644
--- a/searchlib/src/vespa/searchlib/expression/numericfunctionnode.h
+++ b/searchlib/src/vespa/searchlib/expression/numericfunctionnode.h
@@ -1,9 +1,8 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <vespa/searchlib/expression/multiargfunctionnode.h>
-#include <vespa/searchlib/expression/resultvector.h>
-#include <memory>
+#include "multiargfunctionnode.h"
+#include "resultvector.h"
namespace search {
namespace expression {
@@ -15,9 +14,9 @@ public:
NumericFunctionNode() : _handler() { }
NumericFunctionNode(const NumericFunctionNode & rhs);
NumericFunctionNode & operator = (const NumericFunctionNode & rhs);
- virtual void reset() { _handler.reset(); MultiArgFunctionNode::reset(); }
+ void reset() override { _handler.reset(); MultiArgFunctionNode::reset(); }
protected:
- virtual void onPrepare(bool preserveAccurateTypes);
+ void onPrepare(bool preserveAccurateTypes) override;
class Handler
{
@@ -40,8 +39,8 @@ protected:
Handler(func),
_result(static_cast<T &>(func.updateResult()))
{ }
- virtual void handle(const ResultNode & arg);
- virtual void handleFirst(const ResultNode & arg);
+ void handle(const ResultNode & arg) override;
+ void handleFirst(const ResultNode & arg) override;
private:
T & _result;
};
@@ -77,8 +76,8 @@ private:
Handler(func),
_result(static_cast<Int64ResultNode &>(func.updateResult()))
{ }
- virtual void handle(const ResultNode & arg);
- virtual void handleFirst(const ResultNode & arg) { _result.set(arg.getInteger()); }
+ void handle(const ResultNode & arg) override;
+ void handleFirst(const ResultNode & arg) override { _result.set(arg.getInteger()); }
protected:
Int64ResultNode & _result;
};
@@ -89,8 +88,8 @@ private:
Handler(func),
_result(static_cast<FloatResultNode &>(func.updateResult()))
{ }
- virtual void handle(const ResultNode & arg);
- virtual void handleFirst(const ResultNode & arg) { _result.set(arg.getFloat()); }
+ void handle(const ResultNode & arg) override;
+ void handleFirst(const ResultNode & arg) override { _result.set(arg.getFloat()); }
protected:
FloatResultNode & _result;
};
@@ -101,8 +100,8 @@ private:
Handler(func),
_result(static_cast<StringResultNode &>(func.updateResult()))
{ }
- virtual void handle(const ResultNode & arg);
- virtual void handleFirst(const ResultNode & arg) {
+ void handle(const ResultNode & arg) override;
+ void handleFirst(const ResultNode & arg) override {
char buf[32];
vespalib::ConstBufferRef b = arg.getString(vespalib::BufferRef(buf, sizeof(buf)));
_result.set(vespalib::stringref(b.c_str(), b.size()));
@@ -117,8 +116,8 @@ private:
Handler(func),
_result(static_cast<RawResultNode &>(func.updateResult()))
{ }
- virtual void handle(const ResultNode & arg);
- virtual void handleFirst(const ResultNode & arg) {
+ void handle(const ResultNode & arg) override;
+ void handleFirst(const ResultNode & arg) override {
char buf[32];
vespalib::ConstBufferRef b = arg.getString(vespalib::BufferRef(buf, sizeof(buf)));
_result.setBuffer(b.data(), b.size());
@@ -135,8 +134,8 @@ private:
{
_initial.set(*func.getInitialValue());
}
- virtual void handle(const ResultNode & arg);
- virtual void handleFirst(const ResultNode & arg) { handle(arg); }
+ void handle(const ResultNode & arg) override;
+ void handleFirst(const ResultNode & arg) override { handle(arg); }
private:
Int64ResultNode _initial;
};
@@ -149,8 +148,8 @@ private:
{
_initial.set(*func.getInitialValue());
}
- virtual void handle(const ResultNode & arg);
- virtual void handleFirst(const ResultNode & arg) { handle(arg); }
+ void handle(const ResultNode & arg) override;
+ void handleFirst(const ResultNode & arg) override { handle(arg); }
private:
FloatResultNode _initial;
};
@@ -163,16 +162,15 @@ private:
{
_initial.set(*func.getInitialValue());
}
- virtual void handle(const ResultNode & arg);
- virtual void handleFirst(const ResultNode & arg) { handle(arg); }
+ void handle(const ResultNode & arg) override;
+ void handleFirst(const ResultNode & arg) override { handle(arg); }
private:
StringResultNode _initial;
};
- virtual bool onCalculate(const ExpressionNodeVector & args, ResultNode & result) const;
+ bool onCalculate(const ExpressionNodeVector & args, ResultNode & result) const override;
std::unique_ptr<Handler> _handler;
};
}
}
-
diff --git a/searchlib/src/vespa/searchlib/expression/numericresultnode.h b/searchlib/src/vespa/searchlib/expression/numericresultnode.h
index c7b16b58335..5e2d89b07af 100644
--- a/searchlib/src/vespa/searchlib/expression/numericresultnode.h
+++ b/searchlib/src/vespa/searchlib/expression/numericresultnode.h
@@ -12,7 +12,7 @@ public:
DECLARE_ABSTRACT_EXPRESSIONNODE(NumericResultNode);
typedef vespalib::IdentifiablePtr<NumericResultNode> CP;
typedef std::unique_ptr<NumericResultNode> UP;
- virtual NumericResultNode *clone() const = 0;
+ virtual NumericResultNode *clone() const override = 0;
virtual void multiply(const ResultNode & b) = 0;
virtual void divide(const ResultNode & b) = 0;
virtual void modulo(const ResultNode & b) = 0;
diff --git a/searchlib/src/vespa/searchlib/expression/orfunctionnode.h b/searchlib/src/vespa/searchlib/expression/orfunctionnode.h
index 3b374ffdc54..b168ff14dd9 100644
--- a/searchlib/src/vespa/searchlib/expression/orfunctionnode.h
+++ b/searchlib/src/vespa/searchlib/expression/orfunctionnode.h
@@ -1,7 +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/searchlib/expression/bitfunctionnode.h>
+#include "bitfunctionnode.h"
namespace search {
namespace expression {
@@ -12,11 +12,10 @@ public:
DECLARE_EXPRESSIONNODE(OrFunctionNode);
OrFunctionNode() { }
private:
- virtual ResultNode::CP getInitialValue() const { return ResultNode::CP(new Int64ResultNode(0)); }
- virtual ResultNode & flatten(const ResultNodeVector & v, ResultNode & result) const { return v.flattenOr(result); }
- virtual void onArgument(const ResultNode & arg, Int64ResultNode & result) const;
+ ResultNode::CP getInitialValue() const override { return ResultNode::CP(new Int64ResultNode(0)); }
+ ResultNode & flatten(const ResultNodeVector & v, ResultNode & result) const override { return v.flattenOr(result); }
+ void onArgument(const ResultNode & arg, Int64ResultNode & result) const override;
};
}
}
-
diff --git a/searchlib/src/vespa/searchlib/expression/positiveinfinityresultnode.h b/searchlib/src/vespa/searchlib/expression/positiveinfinityresultnode.h
index 94b8a7cef5f..2a14d26f8f3 100644
--- a/searchlib/src/vespa/searchlib/expression/positiveinfinityresultnode.h
+++ b/searchlib/src/vespa/searchlib/expression/positiveinfinityresultnode.h
@@ -1,7 +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/searchlib/expression/singleresultnode.h>
+#include "singleresultnode.h"
namespace search {
namespace expression {
@@ -10,19 +10,19 @@ class PositiveInfinityResultNode : public SingleResultNode
{
public:
DECLARE_EXPRESSIONNODE(PositiveInfinityResultNode);
- virtual size_t hash() const;
- virtual int onCmp(const Identifiable & b) const;
- virtual void set(const ResultNode & rhs);
- virtual void min(const ResultNode & b);
- virtual void max(const ResultNode & b);
- virtual void add(const ResultNode & b);
+ size_t hash() const override;
+ int onCmp(const Identifiable & b) const override;
+ void set(const ResultNode & rhs) override;
+ void min(const ResultNode & b) override;
+ void max(const ResultNode & b) override;
+ void add(const ResultNode & b) override;
private:
- virtual void setMin();
- virtual void setMax();
- virtual int64_t onGetInteger(size_t index) const;
- virtual double onGetFloat(size_t index) const;
- virtual ConstBufferRef onGetString(size_t index, BufferRef buf) const;
- virtual size_t onGetRawByteSize() const { return 0; }
+ void setMin() override;
+ void setMax() override;
+ int64_t onGetInteger(size_t index) const override;
+ double onGetFloat(size_t index) const override;
+ ConstBufferRef onGetString(size_t index, BufferRef buf) const override;
+ size_t onGetRawByteSize() const override { return 0; }
};
}
diff --git a/searchlib/src/vespa/searchlib/expression/rangebucketpredef.h b/searchlib/src/vespa/searchlib/expression/rangebucketpredef.h
index 06a4a9e2b52..3de4ea77530 100644
--- a/searchlib/src/vespa/searchlib/expression/rangebucketpredef.h
+++ b/searchlib/src/vespa/searchlib/expression/rangebucketpredef.h
@@ -13,9 +13,9 @@ namespace expression {
class RangeBucketPreDefFunctionNode : public UnaryFunctionNode
{
private:
- virtual void onPrepareResult();
- virtual bool onExecute() const;
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
+ void onPrepareResult() override;
+ bool onExecute() const override;
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
class Handler {
public:
@@ -31,7 +31,7 @@ private:
SingleValueHandler(const RangeBucketPreDefFunctionNode & rangeNode) :
Handler(rangeNode)
{ }
- virtual const ResultNode * handle(const ResultNode & arg);
+ const ResultNode * handle(const ResultNode & arg) override;
};
class MultiValueHandler : public Handler {
public:
@@ -39,7 +39,7 @@ private:
Handler(rangeNode),
_result(static_cast<ResultNodeVector &>(rangeNode.updateResult()))
{ }
- virtual const ResultNode * handle(const ResultNode & arg);
+ const ResultNode * handle(const ResultNode & arg) override;
private:
ResultNodeVector & _result;
};
@@ -61,7 +61,7 @@ public:
RangeBucketPreDefFunctionNode(ExpressionNode::UP arg) : UnaryFunctionNode(std::move(arg)), _predef(), _result(NULL), _nullResult(NULL) {}
RangeBucketPreDefFunctionNode(const RangeBucketPreDefFunctionNode & rhs);
RangeBucketPreDefFunctionNode & operator = (const RangeBucketPreDefFunctionNode & rhs);
- virtual const ResultNode & getResult() const { return *_result; }
+ const ResultNode & getResult() const override { return *_result; }
const ResultNodeVector & getBucketList() const { return *_predef; }
ResultNodeVector & getBucketList() { return *_predef; }
RangeBucketPreDefFunctionNode & setBucketList(const ResultNodeVector & predef) {
@@ -72,4 +72,3 @@ public:
}
}
-
diff --git a/searchlib/src/vespa/searchlib/expression/rawbucketresultnode.h b/searchlib/src/vespa/searchlib/expression/rawbucketresultnode.h
index 0587d0679d4..1206e72bbc1 100644
--- a/searchlib/src/vespa/searchlib/expression/rawbucketresultnode.h
+++ b/searchlib/src/vespa/searchlib/expression/rawbucketresultnode.h
@@ -13,7 +13,7 @@ private:
ResultNode::CP _from;
ResultNode::CP _to;
static RawBucketResultNode _nullResult;
- virtual size_t onGetRawByteSize() const { return sizeof(_from) + sizeof(_to); }
+ size_t onGetRawByteSize() const override { return sizeof(_from) + sizeof(_to); }
public:
struct GetValue {
BufferRef _tmp;
@@ -24,12 +24,12 @@ public:
DECLARE_NBO_SERIALIZE;
RawBucketResultNode() : _from(new RawResultNode()), _to(new RawResultNode()) {}
RawBucketResultNode(ResultNode::UP from, ResultNode::UP to) : _from(from.release()), _to(to.release()) {}
- virtual size_t hash() const;
- virtual int onCmp(const Identifiable & b) const;
+ size_t hash() const override;
+ int onCmp(const Identifiable & b) const override;
int contains(const RawBucketResultNode & b) const;
int contains(const ConstBufferRef & v) const;
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
- virtual const RawBucketResultNode& getNullBucket() const override { return getNull(); }
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
+ const RawBucketResultNode& getNullBucket() const override { return getNull(); }
static const RawBucketResultNode & getNull() { return _nullResult; }
};
diff --git a/searchlib/src/vespa/searchlib/expression/rawresultnode.h b/searchlib/src/vespa/searchlib/expression/rawresultnode.h
index 239f8f1cdae..931a67bd2d9 100644
--- a/searchlib/src/vespa/searchlib/expression/rawresultnode.h
+++ b/searchlib/src/vespa/searchlib/expression/rawresultnode.h
@@ -1,7 +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/searchlib/expression/singleresultnode.h>
+#include "singleresultnode.h"
namespace search {
namespace expression {
@@ -12,22 +12,22 @@ public:
DECLARE_EXPRESSIONNODE(RawResultNode);
DECLARE_NBO_SERIALIZE;
DECLARE_RESULTNODE_SERIALIZE;
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
RawResultNode() : _value(1) { setBuffer("", 0); }
RawResultNode(const void * buf, size_t sz) { setBuffer(buf, sz); }
- virtual int onCmp(const Identifiable & b) const;
- virtual size_t hash() const;
- virtual void set(const ResultNode & rhs);
+ int onCmp(const Identifiable & b) const override;
+ size_t hash() const override;
+ void set(const ResultNode & rhs) override;
void setBuffer(const void * buf, size_t sz);
ConstBufferRef get() const { return ConstBufferRef(&_value[0], _value.size()); }
- virtual void min(const ResultNode & b);
- virtual void max(const ResultNode & b);
- virtual void add(const ResultNode & b);
- virtual void negate();
- virtual const BucketResultNode& getNullBucket() const override;
+ void min(const ResultNode & b) override;
+ void max(const ResultNode & b) override;
+ void add(const ResultNode & b) override;
+ void negate() override;
+ const BucketResultNode& getNullBucket() const override;
private:
typedef std::vector<uint8_t> V;
- virtual int cmpMem(const void * a, const void *b) const {
+ int cmpMem(const void * a, const void *b) const override {
const V & ai(*static_cast<const V *>(a));
const V & bi(*static_cast<const V *>(b));
int result = memcmp(&ai[0], &bi[0], std::min(ai.size(), bi.size()));
@@ -36,16 +36,16 @@ private:
}
return result;
}
- virtual void decode(const void * buf) { _value = *static_cast<const V *>(buf); }
- virtual void encode(void * buf) const { *static_cast<V *>(buf) = _value; }
- virtual size_t hash(const void * buf) const;
+ void decode(const void * buf) override { _value = *static_cast<const V *>(buf); }
+ void encode(void * buf) const override { *static_cast<V *>(buf) = _value; }
+ size_t hash(const void * buf) const override;
- virtual size_t onGetRawByteSize() const { return sizeof(_value); }
- virtual void setMin();
- virtual void setMax();
- virtual int64_t onGetInteger(size_t index) const;
- virtual double onGetFloat(size_t index) const;
- virtual ConstBufferRef onGetString(size_t index, BufferRef buf) const;
+ size_t onGetRawByteSize() const override { return sizeof(_value); }
+ void setMin() override;
+ void setMax() override;
+ int64_t onGetInteger(size_t index) const override;
+ double onGetFloat(size_t index) const override;
+ ConstBufferRef onGetString(size_t index, BufferRef buf) const override;
V _value;
};
diff --git a/searchlib/src/vespa/searchlib/expression/relevancenode.h b/searchlib/src/vespa/searchlib/expression/relevancenode.h
index 8165f87957b..386913f700e 100644
--- a/searchlib/src/vespa/searchlib/expression/relevancenode.h
+++ b/searchlib/src/vespa/searchlib/expression/relevancenode.h
@@ -12,12 +12,12 @@ public:
DECLARE_NBO_SERIALIZE;
DECLARE_EXPRESSIONNODE(RelevanceNode);
RelevanceNode() : ExpressionNode(), _relevance() { }
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
- virtual const ResultNode & getResult() const { return _relevance; }
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
+ const ResultNode & getResult() const override { return _relevance; }
void setRelevance(double relevance) { _relevance.set(relevance); }
private:
- virtual void onPrepare(bool preserveAccurateTypes) { (void) preserveAccurateTypes; }
- virtual bool onExecute() const { return true; }
+ void onPrepare(bool preserveAccurateTypes) override { (void) preserveAccurateTypes; }
+ bool onExecute() const override { return true; }
FloatResultNode _relevance;
};
diff --git a/searchlib/src/vespa/searchlib/expression/resultnode.h b/searchlib/src/vespa/searchlib/expression/resultnode.h
index edd76bdcbfa..6343e90dc6b 100644
--- a/searchlib/src/vespa/searchlib/expression/resultnode.h
+++ b/searchlib/src/vespa/searchlib/expression/resultnode.h
@@ -16,15 +16,15 @@ class BucketResultNode;
#define DECLARE_RESULTNODE(Class) \
DECLARE_IDENTIFIABLE_NS2(search, expression, Class) \
- virtual Class * clone() const;
+ Class * clone() const override;
#define DECLARE_RESULTNODE_NS1(ns, Class) \
DECLARE_IDENTIFIABLE_NS3(search, expression, ns, Class) \
- virtual Class * clone() const;
+ virtual Class * clone() const override;
#define DECLARE_RESULTNODE_SERIALIZE \
- virtual ResultSerializer & onSerializeResult(ResultSerializer & os) const; \
- virtual ResultDeserializer & onDeserializeResult(ResultDeserializer & is);
+ ResultSerializer & onSerializeResult(ResultSerializer & os) const override; \
+ ResultDeserializer & onDeserializeResult(ResultDeserializer & is) override;
#define IMPLEMENT_ABSTRACT_RESULTNODE(Class, base) IMPLEMENT_IDENTIFIABLE_ABSTRACT_NS2(search, expression, Class, base)
diff --git a/searchlib/src/vespa/searchlib/expression/resultvector.h b/searchlib/src/vespa/searchlib/expression/resultvector.h
index 7eaa268682a..9d6b409449e 100644
--- a/searchlib/src/vespa/searchlib/expression/resultvector.h
+++ b/searchlib/src/vespa/searchlib/expression/resultvector.h
@@ -49,8 +49,8 @@ public:
virtual void add(const ResultNode & b) { (void) b; }
private:
virtual size_t onSize() const = 0;
- virtual void set(const ResultNode & rhs) { (void) rhs; }
- virtual bool isMultiValue() const { return true; }
+ void set(const ResultNode & rhs) override { (void) rhs; }
+ bool isMultiValue() const override { return true; }
};
template <typename B>
@@ -82,26 +82,26 @@ public:
using BaseType = B;
const Vector & getVector() const { return _result; }
Vector & getVector() { return _result; }
- virtual const ResultNode * find(const ResultNode & key) const;
- virtual void sort();
- virtual void reverse();
- virtual ResultNodeVector & push_back(const ResultNode & node);
- virtual ResultNodeVector & push_back_safe(const ResultNode & node);
- virtual ResultNodeVector & set(size_t index, const ResultNode & node);
- virtual const ResultNode & get(size_t index) const { return _result[index]; }
- virtual ResultNode & get(size_t index) { return _result[index]; }
- virtual void clear() { _result.clear(); }
- virtual void resize(size_t sz) { _result.resize(sz); }
- virtual void negate();
+ const ResultNode * find(const ResultNode & key) const override;
+ void sort() override;
+ void reverse() override;
+ ResultNodeVector & push_back(const ResultNode & node) override;
+ ResultNodeVector & push_back_safe(const ResultNode & node) override;
+ ResultNodeVector & set(size_t index, const ResultNode & node) override;
+ const ResultNode & get(size_t index) const override { return _result[index]; }
+ ResultNode & get(size_t index) override { return _result[index]; }
+ void clear() override { _result.clear(); }
+ void resize(size_t sz) override { _result.resize(sz); }
+ void negate() override;
private:
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const { visit(visitor, "Vector", _result); }
- virtual size_t onSize() const { return _result.size(); }
- virtual const vespalib::Identifiable::RuntimeClass & getBaseClass() const { return B::_RTClass; }
- virtual int64_t onGetInteger(size_t index) const { return _result[index].getInteger(index); }
- virtual double onGetFloat(size_t index) const { return _result[index].getFloat(index); }
- virtual ConstBufferRef onGetString(size_t index, BufferRef buf) const { return _result[index].getString(index, buf); }
- virtual size_t hash() const;
- virtual int onCmp(const Identifiable & b) const;
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override { visit(visitor, "Vector", _result); }
+ size_t onSize() const override { return _result.size(); }
+ const vespalib::Identifiable::RuntimeClass & getBaseClass() const override { return B::_RTClass; }
+ int64_t onGetInteger(size_t index) const override { return _result[index].getInteger(index); }
+ double onGetFloat(size_t index) const override { return _result[index].getFloat(index); }
+ ConstBufferRef onGetString(size_t index, BufferRef buf) const override { return _result[index].getString(index, buf); }
+ size_t hash() const override;
+ int onCmp(const Identifiable & b) const override;
Vector _result;
};
@@ -215,7 +215,7 @@ template <typename B>
class NumericResultNodeVectorT : public ResultNodeVectorT<B, cmpT<ResultNode>, std::_Identity<ResultNode> >
{
public:
- virtual ResultNode & flattenMultiply(ResultNode & r) const {
+ ResultNode & flattenMultiply(ResultNode & r) const override {
B v;
v.set(r);
const std::vector<B> & vec(this->getVector());
@@ -225,7 +225,7 @@ public:
r.set(v);
return r;
}
- virtual ResultNode & flattenAnd(ResultNode & r) const {
+ ResultNode & flattenAnd(ResultNode & r) const override {
Int64ResultNode v;
v.set(r);
const std::vector<B> & vec(this->getVector());
@@ -235,7 +235,7 @@ public:
r.set(v);
return r;
}
- virtual ResultNode & flattenOr(ResultNode & r) const {
+ ResultNode & flattenOr(ResultNode & r) const override {
Int64ResultNode v;
v.set(r);
const std::vector<B> & vec(this->getVector());
@@ -245,7 +245,7 @@ public:
r.set(v);
return r;
}
- virtual ResultNode & flattenXor(ResultNode & r) const {
+ ResultNode & flattenXor(ResultNode & r) const override {
Int64ResultNode v;
v.set(r);
const std::vector<B> & vec(this->getVector());
@@ -255,7 +255,7 @@ public:
r.set(v);
return r;
}
- virtual ResultNode & flattenSum(ResultNode & r) const {
+ ResultNode & flattenSum(ResultNode & r) const override {
B v;
v.set(r);
const std::vector<B> & vec(this->getVector());
@@ -265,7 +265,7 @@ public:
r.set(v);
return r;
}
- virtual ResultNode & flattenMax(ResultNode & r) const {
+ ResultNode & flattenMax(ResultNode & r) const override {
B v;
v.set(r);
const std::vector<B> & vec(this->getVector());
@@ -275,7 +275,7 @@ public:
r.set(v);
return r;
}
- virtual ResultNode & flattenMin(ResultNode & r) const {
+ ResultNode & flattenMin(ResultNode & r) const override {
B v;
v.set(r);
const std::vector<B> & vec(this->getVector());
@@ -294,7 +294,7 @@ public:
Int8ResultNodeVector() { }
DECLARE_RESULTNODE(Int8ResultNodeVector);
- virtual const IntegerBucketResultNode& getNullBucket() const override { return IntegerBucketResultNode::getNull(); }
+ const IntegerBucketResultNode& getNullBucket() const override { return IntegerBucketResultNode::getNull(); }
};
class Int16ResultNodeVector : public NumericResultNodeVectorT<Int16ResultNode>
@@ -303,7 +303,7 @@ public:
Int16ResultNodeVector() { }
DECLARE_RESULTNODE(Int16ResultNodeVector);
- virtual const IntegerBucketResultNode& getNullBucket() const override { return IntegerBucketResultNode::getNull(); }
+ const IntegerBucketResultNode& getNullBucket() const override { return IntegerBucketResultNode::getNull(); }
};
class Int32ResultNodeVector : public NumericResultNodeVectorT<Int32ResultNode>
@@ -312,7 +312,7 @@ public:
Int32ResultNodeVector() { }
DECLARE_RESULTNODE(Int32ResultNodeVector);
- virtual const IntegerBucketResultNode& getNullBucket() const override { return IntegerBucketResultNode::getNull(); }
+ const IntegerBucketResultNode& getNullBucket() const override { return IntegerBucketResultNode::getNull(); }
};
class Int64ResultNodeVector : public NumericResultNodeVectorT<Int64ResultNode>
@@ -321,7 +321,7 @@ public:
Int64ResultNodeVector() { }
DECLARE_RESULTNODE(Int64ResultNodeVector);
- virtual const IntegerBucketResultNode& getNullBucket() const override { return IntegerBucketResultNode::getNull(); }
+ const IntegerBucketResultNode& getNullBucket() const override { return IntegerBucketResultNode::getNull(); }
};
typedef Int64ResultNodeVector IntegerResultNodeVector;
@@ -339,7 +339,7 @@ public:
FloatResultNodeVector() { }
DECLARE_RESULTNODE(FloatResultNodeVector);
- virtual const FloatBucketResultNode& getNullBucket() const override { return FloatBucketResultNode::getNull(); }
+ const FloatBucketResultNode& getNullBucket() const override { return FloatBucketResultNode::getNull(); }
};
class StringResultNodeVector : public ResultNodeVectorT<StringResultNode, cmpT<ResultNode>, std::_Identity<ResultNode> >
@@ -348,7 +348,7 @@ public:
StringResultNodeVector() { }
DECLARE_RESULTNODE(StringResultNodeVector);
- virtual const StringBucketResultNode& getNullBucket() const override { return StringBucketResultNode::getNull(); }
+ const StringBucketResultNode& getNullBucket() const override { return StringBucketResultNode::getNull(); }
};
class RawResultNodeVector : public ResultNodeVectorT<RawResultNode, cmpT<ResultNode>, std::_Identity<ResultNode> >
@@ -357,7 +357,7 @@ public:
RawResultNodeVector() { }
DECLARE_RESULTNODE(RawResultNodeVector);
- virtual const RawBucketResultNode& getNullBucket() const override { return RawBucketResultNode::getNull(); }
+ const RawBucketResultNode& getNullBucket() const override { return RawBucketResultNode::getNull(); }
};
class IntegerBucketResultNodeVector : public ResultNodeVectorT<IntegerBucketResultNode, contains<IntegerBucketResultNode, int64_t>, GetInteger >
@@ -392,20 +392,20 @@ class GeneralResultNodeVector : public ResultNodeVector
{
public:
DECLARE_EXPRESSIONNODE(GeneralResultNodeVector);
- virtual const ResultNode * find(const ResultNode & key) const;
- virtual ResultNodeVector & push_back(const ResultNode & node) { _v.push_back(node); return *this; }
- virtual ResultNodeVector & push_back_safe(const ResultNode & node) { _v.push_back(node); return *this; }
- virtual const ResultNode & get(size_t index) const { return *_v[index]; };
- virtual ResultNodeVector & set(size_t index, const ResultNode & node) { _v[index] = node; return *this; }
- virtual ResultNode & get(size_t index) { return *_v[index]; }
- virtual void clear() { _v.clear(); }
- virtual void resize(size_t sz) { _v.resize(sz); }
+ const ResultNode * find(const ResultNode & key) const override;
+ ResultNodeVector & push_back(const ResultNode & node) override { _v.push_back(node); return *this; }
+ ResultNodeVector & push_back_safe(const ResultNode & node) override { _v.push_back(node); return *this; }
+ const ResultNode & get(size_t index) const override { return *_v[index]; };
+ ResultNodeVector & set(size_t index, const ResultNode & node) override { _v[index] = node; return *this; }
+ ResultNode & get(size_t index) override { return *_v[index]; }
+ void clear() override { _v.clear(); }
+ void resize(size_t sz) override { _v.resize(sz); }
private:
- virtual int64_t onGetInteger(size_t index) const { return _v[index]->getInteger(index); }
- virtual double onGetFloat(size_t index) const { return _v[index]->getFloat(index); }
- virtual ConstBufferRef onGetString(size_t index, BufferRef buf) const { return _v[index]->getString(index, buf); }
- virtual size_t hash() const;
- virtual size_t onSize() const { return _v.size(); }
+ int64_t onGetInteger(size_t index) const override { return _v[index]->getInteger(index); }
+ double onGetFloat(size_t index) const override { return _v[index]->getFloat(index); }
+ ConstBufferRef onGetString(size_t index, BufferRef buf) const override { return _v[index]->getString(index, buf); }
+ size_t hash() const override;
+ size_t onSize() const override { return _v.size(); }
std::vector<ResultNode::CP> _v;
};
diff --git a/searchlib/src/vespa/searchlib/expression/singleresultnode.h b/searchlib/src/vespa/searchlib/expression/singleresultnode.h
index c0d50559ca5..090fa26b433 100644
--- a/searchlib/src/vespa/searchlib/expression/singleresultnode.h
+++ b/searchlib/src/vespa/searchlib/expression/singleresultnode.h
@@ -1,7 +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/searchlib/expression/resultnode.h>
+#include "resultnode.h"
namespace search {
namespace expression {
@@ -13,7 +13,7 @@ public:
DECLARE_ABSTRACT_RESULTNODE(SingleResultNode);
typedef vespalib::IdentifiablePtr<SingleResultNode> CP;
typedef std::unique_ptr<SingleResultNode> UP;
- virtual SingleResultNode *clone() const = 0;
+ virtual SingleResultNode *clone() const override = 0;
virtual void min(const ResultNode & b) = 0;
virtual void max(const ResultNode & b) = 0;
@@ -21,8 +21,8 @@ public:
virtual void setMin() = 0;
virtual void setMax() = 0;
- virtual size_t getRawByteSize() const { return onGetRawByteSize(); }
virtual size_t onGetRawByteSize() const = 0;
+ size_t getRawByteSize() const override { return onGetRawByteSize(); }
};
}
diff --git a/searchlib/src/vespa/searchlib/expression/strcatserializer.h b/searchlib/src/vespa/searchlib/expression/strcatserializer.h
index 455e9828b40..989d8dc8773 100644
--- a/searchlib/src/vespa/searchlib/expression/strcatserializer.h
+++ b/searchlib/src/vespa/searchlib/expression/strcatserializer.h
@@ -1,9 +1,8 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
+#include "serializer.h"
#include <vespa/vespalib/objects/asciiserializer.h>
-#include <vespa/searchlib/expression/serializer.h>
-
namespace search {
namespace expression {
@@ -14,10 +13,10 @@ class StrCatSerializer : public vespalib::AsciiSerializer, public ResultSerializ
{
public:
StrCatSerializer(vespalib::asciistream & stream) : vespalib::AsciiSerializer(stream) { }
- virtual StrCatSerializer & put(const vespalib::IFieldBase & field, const vespalib::Identifiable & value);
- virtual ResultSerializer & putResult(const vespalib::IFieldBase & field, const ResultNodeVector & value);
- virtual ResultSerializer & putResult(const vespalib::IFieldBase & field, const RawResultNode & value);
- virtual void proxyPut(const ResultNode & value);
+ StrCatSerializer & put(const vespalib::IFieldBase & field, const vespalib::Identifiable & value) override;
+ ResultSerializer & putResult(const vespalib::IFieldBase & field, const ResultNodeVector & value) override;
+ ResultSerializer & putResult(const vespalib::IFieldBase & field, const RawResultNode & value) override;
+ void proxyPut(const ResultNode & value) override;
};
}
diff --git a/searchlib/src/vespa/searchlib/expression/stringbucketresultnode.h b/searchlib/src/vespa/searchlib/expression/stringbucketresultnode.h
index 918cf06ec90..ea230000853 100644
--- a/searchlib/src/vespa/searchlib/expression/stringbucketresultnode.h
+++ b/searchlib/src/vespa/searchlib/expression/stringbucketresultnode.h
@@ -13,7 +13,7 @@ private:
ResultNode::CP _from;
ResultNode::CP _to;
static StringBucketResultNode _nullResult;
- virtual size_t onGetRawByteSize() const { return sizeof(_from) + sizeof(_to); }
+ size_t onGetRawByteSize() const override { return sizeof(_from) + sizeof(_to); }
public:
struct GetValue {
BufferRef _tmp;
@@ -25,18 +25,18 @@ public:
StringBucketResultNode() : _from(new StringResultNode()), _to(new StringResultNode()) {}
StringBucketResultNode(const vespalib::stringref & from, const vespalib::stringref & to) : _from(new StringResultNode(from)), _to(new StringResultNode(to)) {}
StringBucketResultNode(ResultNode::UP from, ResultNode::UP to) : _from(from.release()), _to(to.release()) {}
- virtual size_t hash() const;
- virtual int onCmp(const Identifiable & b) const;
+ size_t hash() const override;
+ int onCmp(const Identifiable & b) const override;
int contains(const StringBucketResultNode & b) const;
int contains(const ConstBufferRef & v) const { return contains(v.c_str()); }
int contains(const char * v) const;
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
StringBucketResultNode &setRange(const vespalib::stringref & from, const vespalib::stringref & to) {
_from.reset(new StringResultNode(from));
_to.reset(new StringResultNode(to));
return *this;
}
- virtual const StringBucketResultNode& getNullBucket() const override { return getNull(); }
+ const StringBucketResultNode& getNullBucket() const override { return getNull(); }
static const StringBucketResultNode & getNull() { return _nullResult; }
};
diff --git a/searchlib/src/vespa/searchlib/expression/stringresultnode.h b/searchlib/src/vespa/searchlib/expression/stringresultnode.h
index b41372f34d4..f33c86434e4 100644
--- a/searchlib/src/vespa/searchlib/expression/stringresultnode.h
+++ b/searchlib/src/vespa/searchlib/expression/stringresultnode.h
@@ -1,7 +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/searchlib/expression/singleresultnode.h>
+#include "singleresultnode.h"
namespace search {
namespace expression {
@@ -11,40 +11,50 @@ class StringResultNode : public SingleResultNode
public:
DECLARE_EXPRESSIONNODE(StringResultNode);
DECLARE_NBO_SERIALIZE;
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
StringResultNode(const char * v="") : _value(v) { }
StringResultNode(const vespalib::stringref & v) : _value(v) { }
- virtual size_t hash() const;
- virtual int onCmp(const Identifiable & b) const;
- virtual void set(const ResultNode & rhs);
+ size_t hash() const override;
+ int onCmp(const Identifiable & b) const override;
+ void set(const ResultNode & rhs) override;
StringResultNode & append(const ResultNode & rhs);
StringResultNode & clear() { _value.clear(); return *this; }
const vespalib::string & get() const { return _value; }
void set(const vespalib::stringref & value) { _value = value; }
- virtual void min(const ResultNode & b);
- virtual void max(const ResultNode & b);
- virtual void add(const ResultNode & b);
- virtual void negate();
- virtual const BucketResultNode& getNullBucket() const override;
+ void min(const ResultNode & b) override;
+ void max(const ResultNode & b) override;
+ void add(const ResultNode & b) override;
+ void negate() override;
+ const BucketResultNode& getNullBucket() const override;
private:
- virtual int cmpMem(const void * a, const void *b) const {
+ int cmpMem(const void * a, const void *b) const override {
return static_cast<const vespalib::string *>(a)->compare(*static_cast<const vespalib::string *>(b));
}
- virtual void create(void * buf) const { new (buf) vespalib::string(); }
- virtual void destroy(void * buf) const { static_cast<vespalib::string *>(buf)->vespalib::string::~string(); }
-
- virtual void decode(const void * buf) { _value = *static_cast<const vespalib::string *>(buf); }
- virtual void encode(void * buf) const { *static_cast<vespalib::string *>(buf) = _value; }
- virtual void swap(void * buf) { std::swap(*static_cast<vespalib::string *>(buf), _value); }
- virtual size_t hash(const void * buf) const;
-
- virtual size_t onGetRawByteSize() const { return sizeof(_value); }
- virtual void setMin();
- virtual void setMax();
- virtual int64_t onGetInteger(size_t index) const;
- virtual double onGetFloat(size_t index) const;
- virtual ConstBufferRef onGetString(size_t index, BufferRef buf) const;
+ void create(void * buf) const override {
+ new (buf) vespalib::string();
+ }
+ void destroy(void * buf) const override {
+ static_cast<vespalib::string *>(buf)->vespalib::string::~string();
+ }
+
+ void decode(const void * buf) override {
+ _value = *static_cast<const vespalib::string *>(buf);
+ }
+ void encode(void * buf) const override {
+ *static_cast<vespalib::string *>(buf) = _value;
+ }
+ void swap(void * buf) override {
+ std::swap(*static_cast<vespalib::string *>(buf), _value);
+ }
+ size_t hash(const void * buf) const override;
+
+ size_t onGetRawByteSize() const override { return sizeof(_value); }
+ void setMin() override;
+ void setMax() override;
+ int64_t onGetInteger(size_t index) const override;
+ double onGetFloat(size_t index) const override;
+ ConstBufferRef onGetString(size_t index, BufferRef buf) const override;
vespalib::string _value;
};
diff --git a/searchlib/src/vespa/searchlib/expression/unaryfunctionnode.h b/searchlib/src/vespa/searchlib/expression/unaryfunctionnode.h
index ae1d58d95dd..bed6dd1537e 100644
--- a/searchlib/src/vespa/searchlib/expression/unaryfunctionnode.h
+++ b/searchlib/src/vespa/searchlib/expression/unaryfunctionnode.h
@@ -19,7 +19,7 @@ public:
protected:
const ExpressionNode & getArg() const { return MultiArgFunctionNode::getArg(0); }
private:
- virtual void onPrepareResult();
+ void onPrepareResult() override;
};
}
diff --git a/searchlib/src/vespa/searchlib/expression/xorfunctionnode.h b/searchlib/src/vespa/searchlib/expression/xorfunctionnode.h
index 117c55f69c8..ec64ca6d4d6 100644
--- a/searchlib/src/vespa/searchlib/expression/xorfunctionnode.h
+++ b/searchlib/src/vespa/searchlib/expression/xorfunctionnode.h
@@ -1,7 +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/searchlib/expression/bitfunctionnode.h>
+#include "bitfunctionnode.h"
namespace search {
namespace expression {
@@ -12,9 +12,9 @@ public:
DECLARE_EXPRESSIONNODE(XorFunctionNode);
XorFunctionNode() { }
private:
- virtual ResultNode::CP getInitialValue() const { return ResultNode::CP(new Int64ResultNode(0)); }
- virtual ResultNode & flatten(const ResultNodeVector & v, ResultNode & result) const { return v.flattenXor(result); }
- virtual void onArgument(const ResultNode & arg, Int64ResultNode & result) const;
+ ResultNode::CP getInitialValue() const override { return ResultNode::CP(new Int64ResultNode(0)); }
+ ResultNode & flatten(const ResultNodeVector & v, ResultNode & result) const override { return v.flattenXor(result); }
+ void onArgument(const ResultNode & arg, Int64ResultNode & result) const override;
};
}
diff --git a/searchlib/src/vespa/searchlib/features/agefeature.h b/searchlib/src/vespa/searchlib/features/agefeature.h
index cb4827b9539..03e3910ec62 100644
--- a/searchlib/src/vespa/searchlib/features/agefeature.h
+++ b/searchlib/src/vespa/searchlib/features/agefeature.h
@@ -1,11 +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 <string>
-#include <vector>
-#include <vespa/searchcommon/attribute/attributecontent.h>
#include <vespa/searchlib/fef/blueprint.h>
#include <vespa/searchlib/fef/featureexecutor.h>
+#include <vespa/searchcommon/attribute/attributecontent.h>
namespace search {
namespace features {
@@ -15,48 +13,33 @@ namespace features {
* difference between document time (stored in an attribute) and current
* system time
**/
-class AgeExecutor : public search::fef::FeatureExecutor {
+class AgeExecutor : public fef::FeatureExecutor {
private:
- const search::attribute::IAttributeVector *_attribute;
- search::attribute::IntegerContent _buf;
-
+ const attribute::IAttributeVector *_attribute;
+ attribute::IntegerContent _buf;
public:
- /**
- * Constructs a new executor.
- **/
- AgeExecutor(const search::attribute::IAttributeVector *attribute);
- virtual void execute(uint32_t docId);
+ AgeExecutor(const attribute::IAttributeVector *attribute);
+ void execute(uint32_t docId) override;
};
/**
* Implements the blueprint for 'documentage' feature. It uses the 'now' feature
* to get current time and reads document time from a specified attribute
*/
-class AgeBlueprint : public search::fef::Blueprint {
+class AgeBlueprint : public fef::Blueprint {
private:
vespalib::string _attribute;
public:
- AgeBlueprint() : search::fef::Blueprint("age") { }
-
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment &env,
- search::fef::IDumpFeatureVisitor &) const;
+ AgeBlueprint() : fef::Blueprint("age") { }
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc().attribute(search::fef::ParameterCollection::ANY);
+ void visitDumpFeatures(const fef::IIndexEnvironment &env, fef::IDumpFeatureVisitor &) const override;
+ fef::Blueprint::UP createInstance() const override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc().attribute(fef::ParameterCollection::ANY);
}
-
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
+ bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
};
}
diff --git a/searchlib/src/vespa/searchlib/features/attributefeature.cpp b/searchlib/src/vespa/searchlib/features/attributefeature.cpp
index a389ebcd058..2ca7572db62 100644
--- a/searchlib/src/vespa/searchlib/features/attributefeature.cpp
+++ b/searchlib/src/vespa/searchlib/features/attributefeature.cpp
@@ -3,13 +3,13 @@
#include "attributefeature.h"
#include "utils.h"
#include "valuefeature.h"
+#include "constant_tensor_executor.h"
+#include "dense_tensor_attribute_executor.h"
+#include "tensor_attribute_executor.h"
#include <vespa/searchcommon/common/undefinedvalues.h>
#include <vespa/searchcommon/attribute/attributecontent.h>
#include <vespa/searchlib/tensor/dense_tensor_attribute.h>
-#include <vespa/searchlib/features/constant_tensor_executor.h>
-#include <vespa/searchlib/features/dense_tensor_attribute_executor.h>
-#include <vespa/searchlib/features/tensor_attribute_executor.h>
#include <vespa/searchlib/fef/indexproperties.h>
#include <vespa/searchlib/attribute/singlenumericattribute.h>
@@ -106,7 +106,6 @@ template <typename T>
class SingleAttributeExecutor : public fef::FeatureExecutor {
private:
const T & _attribute;
-
public:
/**
* Constructs an executor.
@@ -114,9 +113,7 @@ public:
* @param attribute The attribute vector to use.
*/
SingleAttributeExecutor(const T & attribute) : _attribute(attribute) { }
-
- // Inherit doc from FeatureExecutor.
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
class CountOnlyAttributeExecutor : public fef::FeatureExecutor {
@@ -130,9 +127,7 @@ public:
* @param attribute The attribute vector to use.
*/
CountOnlyAttributeExecutor(const attribute::IAttributeVector & attribute) : _attribute(attribute) { }
-
- // Inherit doc from FeatureExecutor.
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
/**
* Implements the executor for fetching values from a single or array attribute vector
@@ -154,9 +149,7 @@ public:
* @param idx The index used for an array attribute.
*/
AttributeExecutor(const search::attribute::IAttributeVector * attribute, uint32_t idx);
-
- // Inherit doc from FeatureExecutor.
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
@@ -181,9 +174,7 @@ public:
* @param useKey Whether we should consider the key.
*/
WeightedSetAttributeExecutor(const search::attribute::IAttributeVector * attribute, T key, bool useKey);
-
- // Inherit doc from FeatureExecutor.
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
template <typename T>
diff --git a/searchlib/src/vespa/searchlib/features/attributefeature.h b/searchlib/src/vespa/searchlib/features/attributefeature.h
index 034bb246c89..1056e3c8af6 100644
--- a/searchlib/src/vespa/searchlib/features/attributefeature.h
+++ b/searchlib/src/vespa/searchlib/features/attributefeature.h
@@ -9,48 +9,33 @@
namespace search {
namespace features {
-
/**
* Implements the blueprint for the attribute executor.
*
* An executor of this outputs number(s) if used with regular attributes
* or a tensor value if used with tensor attributes.
*/
-class AttributeBlueprint : public search::fef::Blueprint {
+class AttributeBlueprint : public fef::Blueprint {
private:
vespalib::string _attrName; // the name of the attribute vector
vespalib::string _extra; // the index or key
vespalib::eval::ValueType _tensorType;
public:
- /**
- * Constructs a blueprint.
- */
AttributeBlueprint();
-
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment & env,
- search::fef::IDumpFeatureVisitor & visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().
- desc().attribute(search::fef::ParameterCollection::ANY).
- desc().attribute(search::fef::ParameterCollection::ANY).string();
+ void visitDumpFeatures(const fef::IIndexEnvironment & env, fef::IDumpFeatureVisitor & visitor) const override;
+
+ fef::Blueprint::UP createInstance() const override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ fef::ParameterDescriptions getDescriptions() const override{
+ return fef::ParameterDescriptions().
+ desc().attribute(fef::ParameterCollection::ANY).
+ desc().attribute(fef::ParameterCollection::ANY).string();
}
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
+ bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
};
} // namespace features
} // namespace search
-
diff --git a/searchlib/src/vespa/searchlib/features/attributematchfeature.h b/searchlib/src/vespa/searchlib/features/attributematchfeature.h
index 284c5acb674..6d3c04a96ec 100644
--- a/searchlib/src/vespa/searchlib/features/attributematchfeature.h
+++ b/searchlib/src/vespa/searchlib/features/attributematchfeature.h
@@ -13,8 +13,8 @@ namespace features {
struct AttributeMatchParams {
AttributeMatchParams() :
attrInfo(NULL), attribute(NULL), weightedSet(false), maxWeight(256), fieldCompletenessImportance(0.05f) {}
- const search::fef::FieldInfo * attrInfo;
- const search::attribute::IAttributeVector * attribute;
+ const fef::FieldInfo * attrInfo;
+ const attribute::IAttributeVector * attribute;
bool weightedSet;
// config values
int32_t maxWeight;
@@ -25,7 +25,7 @@ struct AttributeMatchParams {
* Implements the executor for the attribute match feature.
*/
template <typename T>
-class AttributeMatchExecutor : public search::fef::FeatureExecutor {
+class AttributeMatchExecutor : public fef::FeatureExecutor {
private:
/**
* This class is used to compute metrics for match in an attribute vector.
@@ -54,8 +54,7 @@ private:
const fef::MatchData *_md;
public:
- Computer(const search::fef::IQueryEnvironment & env,
- AttributeMatchParams params);
+ Computer(const fef::IQueryEnvironment & env, AttributeMatchParams params);
void run(uint32_t docId);
void reset();
uint32_t getNumTerms() const { return _queryTerms.size(); }
@@ -81,45 +80,30 @@ public:
/**
* Constructs an executor.
*/
- AttributeMatchExecutor(const search::fef::IQueryEnvironment & env,
- AttributeMatchParams params);
-
- // Inherit doc from FeatureExecutor.
- virtual void execute(uint32_t docId);
+ AttributeMatchExecutor(const fef::IQueryEnvironment & env, AttributeMatchParams params);
+ void execute(uint32_t docId) override;
};
/**
* Implements the blueprint for the attribute match executor.
*/
-class AttributeMatchBlueprint : public search::fef::Blueprint {
+class AttributeMatchBlueprint : public fef::Blueprint {
private:
AttributeMatchParams _params;
public:
- /**
- * Constructs a blueprint.
- */
AttributeMatchBlueprint();
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment & env,
- search::fef::IDumpFeatureVisitor & visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc().attributeField(search::fef::ParameterCollection::ANY);
+ void visitDumpFeatures(const fef::IIndexEnvironment & env, fef::IDumpFeatureVisitor & visitor) const override;
+ fef::Blueprint::UP createInstance() const override;
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc().attributeField(fef::ParameterCollection::ANY);
}
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
+ bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
};
diff --git a/searchlib/src/vespa/searchlib/features/closenessfeature.h b/searchlib/src/vespa/searchlib/features/closenessfeature.h
index b46c40d4619..9ef1afc5e72 100644
--- a/searchlib/src/vespa/searchlib/features/closenessfeature.h
+++ b/searchlib/src/vespa/searchlib/features/closenessfeature.h
@@ -2,9 +2,9 @@
#pragma once
+#include "logarithmcalculator.h"
#include <vespa/searchlib/fef/blueprint.h>
#include <vespa/searchlib/fef/featureexecutor.h>
-#include "logarithmcalculator.h"
namespace search {
namespace features {
@@ -12,56 +12,38 @@ namespace features {
/**
* Implements the executor for the closeness feature.
*/
-class ClosenessExecutor : public search::fef::FeatureExecutor {
+class ClosenessExecutor : public fef::FeatureExecutor {
private:
feature_t _maxDistance;
LogarithmCalculator _logCalc;
public:
- /**
- * Constructs an executor.
- */
ClosenessExecutor(feature_t maxDistance, feature_t scaleDistance);
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
/**
* Implements the blueprint for the closeness executor.
*/
-class ClosenessBlueprint : public search::fef::Blueprint {
+class ClosenessBlueprint : public fef::Blueprint {
private:
feature_t _maxDistance;
feature_t _scaleDistance;
feature_t _halfResponse;
public:
- /**
- * Constructs a blueprint.
- */
- ClosenessBlueprint();
-
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment & env,
- search::fef::IDumpFeatureVisitor & visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc().string();
+ ClosenessBlueprint();
+ void visitDumpFeatures(const fef::IIndexEnvironment & env, fef::IDumpFeatureVisitor & visitor) const override;
+ fef::Blueprint::UP createInstance() const override;
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc().string();
}
-
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
};
} // namespace features
} // namespace search
-
diff --git a/searchlib/src/vespa/searchlib/features/dense_tensor_attribute_executor.h b/searchlib/src/vespa/searchlib/features/dense_tensor_attribute_executor.h
index 53eaf769e6b..fc4514273a5 100644
--- a/searchlib/src/vespa/searchlib/features/dense_tensor_attribute_executor.h
+++ b/searchlib/src/vespa/searchlib/features/dense_tensor_attribute_executor.h
@@ -23,7 +23,7 @@ private:
public:
DenseTensorAttributeExecutor(const search::tensor::DenseTensorAttribute *attribute);
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
} // namespace features
diff --git a/searchlib/src/vespa/searchlib/features/distancefeature.h b/searchlib/src/vespa/searchlib/features/distancefeature.h
index f56de5e6780..e8c30a43a72 100644
--- a/searchlib/src/vespa/searchlib/features/distancefeature.h
+++ b/searchlib/src/vespa/searchlib/features/distancefeature.h
@@ -13,11 +13,11 @@ namespace features {
/**
* Implements the executor for the distance feature.
*/
-class DistanceExecutor : public search::fef::FeatureExecutor {
+class DistanceExecutor : public fef::FeatureExecutor {
private:
- const search::fef::Location & _location;
- const search::attribute::IAttributeVector * _pos;
- search::attribute::IntegerContent _intBuf;
+ const fef::Location & _location;
+ const attribute::IAttributeVector * _pos;
+ attribute::IntegerContent _intBuf;
feature_t calculateDistance(uint32_t docId);
feature_t calculate2DZDistance(uint32_t docId);
@@ -29,9 +29,8 @@ public:
* @param location the location object associated with the query environment.
* @param pos the attribute to use for positions (expects zcurve encoding).
*/
- DistanceExecutor(const search::fef::Location & location,
- const search::attribute::IAttributeVector * pos);
- virtual void execute(uint32_t docId);
+ DistanceExecutor(const fef::Location & location, const attribute::IAttributeVector * pos);
+ void execute(uint32_t docId) override;
static const feature_t DEFAULT_DISTANCE;
};
@@ -39,34 +38,19 @@ public:
/**
* Implements the blueprint for the distance executor.
*/
-class DistanceBlueprint : public search::fef::Blueprint {
+class DistanceBlueprint : public fef::Blueprint {
private:
vespalib::string _posAttr;
public:
- /**
- * Constructs a blueprint for the distance executor.
- */
DistanceBlueprint();
-
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment & env,
- search::fef::IDumpFeatureVisitor & visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc().string();
+ void visitDumpFeatures(const fef::IIndexEnvironment & env, fef::IDumpFeatureVisitor & visitor) const override;
+ fef::Blueprint::UP createInstance() const override;
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc().string();
}
-
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
};
diff --git a/searchlib/src/vespa/searchlib/features/distancetopathfeature.h b/searchlib/src/vespa/searchlib/features/distancetopathfeature.h
index 470f6c3ce2b..d6d9dfe88fa 100644
--- a/searchlib/src/vespa/searchlib/features/distancetopathfeature.h
+++ b/searchlib/src/vespa/searchlib/features/distancetopathfeature.h
@@ -20,11 +20,11 @@ struct Vector2 {
/**
* Implements the executor for the distance to path feature.
*/
-class DistanceToPathExecutor : public search::fef::FeatureExecutor {
+class DistanceToPathExecutor : public fef::FeatureExecutor {
private:
- search::attribute::IntegerContent _intBuf; // Position value buffer.
- std::vector<Vector2> _path; // Path given by query.
- const search::attribute::IAttributeVector *_pos; // Position attribute.
+ attribute::IntegerContent _intBuf; // Position value buffer.
+ std::vector<Vector2> _path; // Path given by query.
+ const attribute::IAttributeVector *_pos; // Position attribute.
public:
/**
@@ -34,8 +34,8 @@ public:
* @param pos The attribute to use for positions (expects zcurve encoding).
*/
DistanceToPathExecutor(std::vector<Vector2> &path,
- const search::attribute::IAttributeVector *pos);
- virtual void execute(uint32_t docId);
+ const attribute::IAttributeVector *pos);
+ void execute(uint32_t docId) override;
/**
* Defines a default distance value to use if a proper one can not be determined.
@@ -46,34 +46,20 @@ public:
/**
* Implements the blueprint for the distance to path feature.
*/
-class DistanceToPathBlueprint : public search::fef::Blueprint {
+class DistanceToPathBlueprint : public fef::Blueprint {
private:
vespalib::string _posAttr; // Name of the position attribute.
public:
- /**
- * Constructs a blueprint for the distance to path feature.
- */
DistanceToPathBlueprint();
-
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment &env,
- search::fef::IDumpFeatureVisitor &visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc().string();
+ void visitDumpFeatures(const fef::IIndexEnvironment &env, fef::IDumpFeatureVisitor &visitor) const override;
+ fef::Blueprint::UP createInstance() const override;
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc().string();
}
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
};
diff --git a/searchlib/src/vespa/searchlib/features/element_completeness_feature.h b/searchlib/src/vespa/searchlib/features/element_completeness_feature.h
index f0e38ef2046..5d8d5b8e125 100644
--- a/searchlib/src/vespa/searchlib/features/element_completeness_feature.h
+++ b/searchlib/src/vespa/searchlib/features/element_completeness_feature.h
@@ -14,29 +14,29 @@ struct ElementCompletenessParams {
uint32_t fieldId;
feature_t fieldCompletenessImportance;
ElementCompletenessParams()
- : fieldId(search::fef::IllegalFieldId),
+ : fieldId(fef::IllegalFieldId),
fieldCompletenessImportance(0.5) {}
};
//-----------------------------------------------------------------------------
-class ElementCompletenessExecutor : public search::fef::FeatureExecutor
+class ElementCompletenessExecutor : public fef::FeatureExecutor
{
private:
struct Term {
- search::fef::TermFieldHandle termHandle;
+ fef::TermFieldHandle termHandle;
int termWeight;
- Term(search::fef::TermFieldHandle handle, int weight)
+ Term(fef::TermFieldHandle handle, int weight)
: termHandle(handle), termWeight(weight) {}
};
struct Item {
uint32_t termIdx;
- search::fef::TermFieldMatchData::PositionsIterator pos;
- search::fef::TermFieldMatchData::PositionsIterator end;
+ fef::TermFieldMatchData::PositionsIterator pos;
+ fef::TermFieldMatchData::PositionsIterator end;
Item(uint32_t idx,
- search::fef::TermFieldMatchData::PositionsIterator p,
- search::fef::TermFieldMatchData::PositionsIterator e)
+ fef::TermFieldMatchData::PositionsIterator p,
+ fef::TermFieldMatchData::PositionsIterator e)
: termIdx(idx), pos(p), end(e) {}
bool operator<(const Item &other) const {
return (pos->getElementId() < other.pos->getElementId());
@@ -82,18 +82,18 @@ private:
static bool nextElement(Item &item);
- virtual void handle_bind_match_data(fef::MatchData &md) override;
+ void handle_bind_match_data(fef::MatchData &md) override;
public:
- ElementCompletenessExecutor(const search::fef::IQueryEnvironment &env,
+ ElementCompletenessExecutor(const fef::IQueryEnvironment &env,
const ElementCompletenessParams &params);
- virtual bool isPure() { return _terms.empty(); }
- virtual void execute(uint32_t docId);
+ bool isPure() override { return _terms.empty(); }
+ void execute(uint32_t docId) override;
};
//-----------------------------------------------------------------------------
-class ElementCompletenessBlueprint : public search::fef::Blueprint
+class ElementCompletenessBlueprint : public fef::Blueprint
{
private:
std::vector<vespalib::string> _output;
@@ -102,24 +102,16 @@ private:
public:
ElementCompletenessBlueprint();
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment & env,
- search::fef::IDumpFeatureVisitor & visitor) const;
+ void visitDumpFeatures(const fef::IIndexEnvironment & env, fef::IDumpFeatureVisitor & visitor) const override;
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc().indexField(search::fef::ParameterCollection::ANY);
+ fef::Blueprint::UP createInstance() const override;
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc().indexField(fef::ParameterCollection::ANY);
}
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment &env,
- const search::fef::ParameterList &params);
+ bool setup(const fef::IIndexEnvironment &env, const fef::ParameterList &params) override;
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
// for testing
const ElementCompletenessParams &getParams() const { return _params; }
diff --git a/searchlib/src/vespa/searchlib/features/element_similarity_feature.cpp b/searchlib/src/vespa/searchlib/features/element_similarity_feature.cpp
index 39ecfe6447a..5eb1fc24859 100644
--- a/searchlib/src/vespa/searchlib/features/element_similarity_feature.cpp
+++ b/searchlib/src/vespa/searchlib/features/element_similarity_feature.cpp
@@ -1,12 +1,12 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/fastos/fastos.h>
-#include <vespa/log/log.h>
-LOG_SETUP(".features.elementsimilarity");
#include "element_similarity_feature.h"
#include <vespa/eval/eval/llvm/compiled_function.h>
#include <vespa/eval/eval/llvm/compile_cache.h>
+#include <vespa/log/log.h>
+LOG_SETUP(".features.elementsimilarity");
+
namespace search {
namespace features {
@@ -27,29 +27,29 @@ struct MaxAggregator : Aggregator {
size_t count;
double value;
MaxAggregator() : count(0), value(0.0) {}
- virtual UP create() const override { return UP(new MaxAggregator()); }
- virtual void clear() override { count = 0; value = 0.0; }
- virtual void add(double v) override { value = ((++count == 1) || (v > value)) ? v : value; }
- virtual double get() const override { return value; }
+ UP create() const override { return UP(new MaxAggregator()); }
+ void clear() override { count = 0; value = 0.0; }
+ void add(double v) override { value = ((++count == 1) || (v > value)) ? v : value; }
+ double get() const override { return value; }
};
struct AvgAggregator : Aggregator {
size_t count;
double value;
AvgAggregator() : count(0), value(0.0) {}
- virtual UP create() const override { return UP(new AvgAggregator()); }
- virtual void clear() override { count = 0; value = 0.0; }
- virtual void add(double v) override { ++count; value += v; }
- virtual double get() const override { return (count == 0) ? 0.0 : (value/count); }
+ UP create() const override { return UP(new AvgAggregator()); }
+ void clear() override { count = 0; value = 0.0; }
+ void add(double v) override { ++count; value += v; }
+ double get() const override { return (count == 0) ? 0.0 : (value/count); }
};
struct SumAggregator : Aggregator {
double value;
SumAggregator() : value(0.0) {}
- virtual UP create() const override { return UP(new SumAggregator()); }
- virtual void clear() override { value = 0.0; }
- virtual void add(double v) override { value += v; }
- virtual double get() const override { return value; }
+ UP create() const override { return UP(new SumAggregator()); }
+ void clear() override { value = 0.0; }
+ void add(double v) override { value += v; }
+ double get() const override { return value; }
};
Aggregator::UP create_aggregator(const vespalib::string &name) {
@@ -225,9 +225,9 @@ public:
_md(nullptr)
{}
- virtual bool isPure() { return _terms.handles.empty(); }
+ bool isPure() override { return _terms.handles.empty(); }
- virtual void handle_bind_match_data(fef::MatchData &md) override {
+ void handle_bind_match_data(fef::MatchData &md) override {
_md = &md;
}
@@ -242,7 +242,7 @@ public:
}
}
- virtual void execute(uint32_t docId) {
+ void execute(uint32_t docId) override {
for (auto &output: _outputs) {
output.second->clear();
}
diff --git a/searchlib/src/vespa/searchlib/features/element_similarity_feature.h b/searchlib/src/vespa/searchlib/features/element_similarity_feature.h
index 16f36ab051d..f1cde7ef7d4 100644
--- a/searchlib/src/vespa/searchlib/features/element_similarity_feature.h
+++ b/searchlib/src/vespa/searchlib/features/element_similarity_feature.h
@@ -2,8 +2,6 @@
#pragma once
-#include <string>
-#include <vector>
#include <vespa/searchlib/fef/fef.h>
#include <vespa/vespalib/util/priority_queue.h>
@@ -12,7 +10,7 @@ namespace features {
//-----------------------------------------------------------------------------
-class ElementSimilarityBlueprint : public search::fef::Blueprint
+class ElementSimilarityBlueprint : public fef::Blueprint
{
private:
struct OutputContext;
@@ -23,18 +21,17 @@ private:
public:
ElementSimilarityBlueprint();
- virtual ~ElementSimilarityBlueprint();
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment &env,
- search::fef::IDumpFeatureVisitor &visitor) const;
- virtual search::fef::Blueprint::UP createInstance() const {
+ ~ElementSimilarityBlueprint();
+ void visitDumpFeatures(const fef::IIndexEnvironment &env,
+ fef::IDumpFeatureVisitor &visitor) const override;
+ fef::Blueprint::UP createInstance() const override {
return Blueprint::UP(new ElementSimilarityBlueprint());
}
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc().indexField(search::fef::ParameterCollection::ANY);
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc().indexField(fef::ParameterCollection::ANY);
}
- virtual bool setup(const search::fef::IIndexEnvironment &env,
- const search::fef::ParameterList &params);
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ bool setup(const fef::IIndexEnvironment &env, const fef::ParameterList &params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
};
//-----------------------------------------------------------------------------
diff --git a/searchlib/src/vespa/searchlib/features/fieldinfofeature.h b/searchlib/src/vespa/searchlib/features/fieldinfofeature.h
index 3d507df4ec3..3e5227a3349 100644
--- a/searchlib/src/vespa/searchlib/features/fieldinfofeature.h
+++ b/searchlib/src/vespa/searchlib/features/fieldinfofeature.h
@@ -2,8 +2,6 @@
#pragma once
-#include <string>
-#include <vector>
#include <vespa/searchlib/fef/blueprint.h>
#include <vespa/searchlib/fef/featureexecutor.h>
#include <vespa/searchlib/common/feature.h>
@@ -11,7 +9,7 @@
namespace search {
namespace features {
-class IndexFieldInfoExecutor : public search::fef::FeatureExecutor
+class IndexFieldInfoExecutor : public fef::FeatureExecutor
{
private:
feature_t _type; // from index env
@@ -20,33 +18,33 @@ private:
uint32_t _fieldHandle;
const fef::MatchData *_md;
- virtual void handle_bind_match_data(fef::MatchData &md) override;
+ void handle_bind_match_data(fef::MatchData &md) override;
public:
IndexFieldInfoExecutor(feature_t type, feature_t isFilter,
uint32_t field, uint32_t fieldHandle);
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
//-----------------------------------------------------------------------------
-class AttrFieldInfoExecutor : public search::fef::FeatureExecutor
+class AttrFieldInfoExecutor : public fef::FeatureExecutor
{
private:
feature_t _type; // from index env
uint32_t _fieldHandle;
const fef::MatchData *_md;
- virtual void handle_bind_match_data(fef::MatchData &md) override;
+ void handle_bind_match_data(fef::MatchData &md) override;
public:
AttrFieldInfoExecutor(feature_t type, uint32_t fieldHandle);
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
//-----------------------------------------------------------------------------
-class FieldInfoBlueprint : public search::fef::Blueprint
+class FieldInfoBlueprint : public fef::Blueprint
{
private:
bool _overview;
@@ -58,17 +56,15 @@ private:
public:
FieldInfoBlueprint();
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment &indexEnv,
- search::fef::IDumpFeatureVisitor &visitor) const;
- virtual search::fef::Blueprint::UP createInstance() const { return search::fef::Blueprint::UP(new FieldInfoBlueprint()); }
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().
+ void visitDumpFeatures(const fef::IIndexEnvironment &indexEnv, fef::IDumpFeatureVisitor &visitor) const override;
+ fef::Blueprint::UP createInstance() const override { return fef::Blueprint::UP(new FieldInfoBlueprint()); }
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().
desc(0).
desc(1).string();
}
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &queryEnv, vespalib::Stash &stash) const override;
+ bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &queryEnv, vespalib::Stash &stash) const override;
};
} // namespace features
diff --git a/searchlib/src/vespa/searchlib/features/fieldlengthfeature.h b/searchlib/src/vespa/searchlib/features/fieldlengthfeature.h
index f469abf90b7..aa528a57445 100644
--- a/searchlib/src/vespa/searchlib/features/fieldlengthfeature.h
+++ b/searchlib/src/vespa/searchlib/features/fieldlengthfeature.h
@@ -1,8 +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 <string>
-#include <vector>
#include <vespa/searchlib/fef/blueprint.h>
#include <vespa/searchlib/fef/featureexecutor.h>
@@ -12,9 +10,9 @@ namespace features {
/**
* Implements the executor for field length.
*/
-class FieldLengthExecutor : public search::fef::FeatureExecutor {
+class FieldLengthExecutor : public fef::FeatureExecutor {
private:
- std::vector<search::fef::TermFieldHandle> _fieldHandles;
+ std::vector<fef::TermFieldHandle> _fieldHandles;
const fef::MatchData *_md;
virtual void handle_bind_match_data(fef::MatchData &md) override;
@@ -26,42 +24,28 @@ public:
* @param env The query environment
* @param fieldId The field id
*/
- FieldLengthExecutor(const search::fef::IQueryEnvironment &env,
- uint32_t fieldId);
- virtual void execute(uint32_t docId);
+ FieldLengthExecutor(const fef::IQueryEnvironment &env, uint32_t fieldId);
+ void execute(uint32_t docId) override;
};
/**
* Implements the blueprint for field length.
*/
-class FieldLengthBlueprint : public search::fef::Blueprint {
+class FieldLengthBlueprint : public fef::Blueprint {
private:
- const search::fef::FieldInfo *_field;
+ const fef::FieldInfo *_field;
public:
- /**
- * Constructs a blueprint for field length.
- */
FieldLengthBlueprint();
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment &env,
- search::fef::IDumpFeatureVisitor &visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc().indexField(search::fef::ParameterCollection::SINGLE);
+ void visitDumpFeatures(const fef::IIndexEnvironment &env, fef::IDumpFeatureVisitor &visitor) const override;
+ fef::Blueprint::UP createInstance() const override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc().indexField(fef::ParameterCollection::SINGLE);
}
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
+ bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
};
}}
diff --git a/searchlib/src/vespa/searchlib/features/fieldmatchfeature.h b/searchlib/src/vespa/searchlib/features/fieldmatchfeature.h
index e91e89f5483..a63b1be4bb7 100644
--- a/searchlib/src/vespa/searchlib/features/fieldmatchfeature.h
+++ b/searchlib/src/vespa/searchlib/features/fieldmatchfeature.h
@@ -12,61 +12,45 @@ namespace features {
/**
* Implements the executor for THE field match feature.
*/
-class FieldMatchExecutor : public search::fef::FeatureExecutor {
+class FieldMatchExecutor : public fef::FeatureExecutor {
private:
- search::fef::PhraseSplitter _splitter;
- const search::fef::FieldInfo & _field;
+ fef::PhraseSplitter _splitter;
+ const fef::FieldInfo & _field;
const fieldmatch::Params & _params;
fieldmatch::Computer _cmp;
- virtual void handle_bind_match_data(fef::MatchData &md) override;
+ void handle_bind_match_data(fef::MatchData &md) override;
public:
/**
* Constructs an executor.
*/
- FieldMatchExecutor(const search::fef::IQueryEnvironment & queryEnv,
- const search::fef::FieldInfo & field,
+ FieldMatchExecutor(const fef::IQueryEnvironment & queryEnv,
+ const fef::FieldInfo & field,
const fieldmatch::Params & params);
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
/**
* Implements the blueprint for THE field match feature.
*/
-class FieldMatchBlueprint : public search::fef::Blueprint {
+class FieldMatchBlueprint : public fef::Blueprint {
private:
- const search::fef::FieldInfo * _field;
+ const fef::FieldInfo * _field;
fieldmatch::Params _params;
public:
- /**
- * Constructs a blueprint.
- */
FieldMatchBlueprint();
-
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment & env,
- search::fef::IDumpFeatureVisitor & visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc().indexField(search::fef::ParameterCollection::SINGLE);
+ void visitDumpFeatures(const fef::IIndexEnvironment & env, fef::IDumpFeatureVisitor & visitor) const override;
+ fef::Blueprint::UP createInstance() const override;
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc().indexField(fef::ParameterCollection::SINGLE);
}
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
};
-
-
+
} // namespace features
} // namespace search
-
diff --git a/searchlib/src/vespa/searchlib/features/fieldtermmatchfeature.h b/searchlib/src/vespa/searchlib/features/fieldtermmatchfeature.h
index f8410c1193f..74c5fac5e98 100644
--- a/searchlib/src/vespa/searchlib/features/fieldtermmatchfeature.h
+++ b/searchlib/src/vespa/searchlib/features/fieldtermmatchfeature.h
@@ -1,8 +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 <string>
-#include <vector>
#include <vespa/searchlib/fef/blueprint.h>
#include <vespa/searchlib/fef/featureexecutor.h>
@@ -12,7 +10,7 @@ namespace features {
/**
* Implements the executor for term feature.
*/
-class FieldTermMatchExecutor : public search::fef::FeatureExecutor {
+class FieldTermMatchExecutor : public fef::FeatureExecutor {
public:
/**
* Constructs an executor for term feature.
@@ -21,45 +19,30 @@ public:
* @param fieldId The field to match to.
* @param termId The term to match.
*/
- FieldTermMatchExecutor(const search::fef::IQueryEnvironment &env,
+ FieldTermMatchExecutor(const fef::IQueryEnvironment &env,
uint32_t fieldId, uint32_t termId);
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
private:
- search::fef::TermFieldHandle _fieldHandle;
+ fef::TermFieldHandle _fieldHandle;
const fef::MatchData *_md;
- virtual void handle_bind_match_data(fef::MatchData &md) override;
+ void handle_bind_match_data(fef::MatchData &md) override;
};
/**
* Implements the blueprint for term feature.
*/
-class FieldTermMatchBlueprint : public search::fef::Blueprint {
+class FieldTermMatchBlueprint : public fef::Blueprint {
public:
- /**
- * Constructs a blueprint for term feature.
- */
FieldTermMatchBlueprint();
-
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment &env,
- search::fef::IDumpFeatureVisitor &visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc().indexField(search::fef::ParameterCollection::ANY).number();
+ void visitDumpFeatures(const fef::IIndexEnvironment &env, fef::IDumpFeatureVisitor &visitor) const override;
+ fef::Blueprint::UP createInstance() const override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc().indexField(fef::ParameterCollection::ANY).number();
}
-
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
+ bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
private:
uint32_t _fieldId;
diff --git a/searchlib/src/vespa/searchlib/features/firstphasefeature.h b/searchlib/src/vespa/searchlib/features/firstphasefeature.h
index 252bdfe2c54..c5d53cbc9a9 100644
--- a/searchlib/src/vespa/searchlib/features/firstphasefeature.h
+++ b/searchlib/src/vespa/searchlib/features/firstphasefeature.h
@@ -10,44 +10,29 @@ namespace features {
/**
* Implements the executor outputting the first phase ranking.
*/
-class FirstPhaseExecutor : public search::fef::FeatureExecutor {
+class FirstPhaseExecutor : public fef::FeatureExecutor {
public:
- virtual bool isPure() { return true; }
- virtual void execute(uint32_t docId);
+ bool isPure() override { return true; }
+ void execute(uint32_t docId) override;
};
-
-
+
/**
* Implements the blueprint for the first phase feature.
*/
-class FirstPhaseBlueprint : public search::fef::Blueprint {
+class FirstPhaseBlueprint : public fef::Blueprint {
public:
- /**
- * Constructs a blueprint.
- */
FirstPhaseBlueprint();
+ void visitDumpFeatures(const fef::IIndexEnvironment & env, fef::IDumpFeatureVisitor & visitor) const override;
+ fef::Blueprint::UP createInstance() const override;
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment & env,
- search::fef::IDumpFeatureVisitor & visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc();
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc();
}
+ bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
};
} // namespace features
} // namespace search
-
diff --git a/searchlib/src/vespa/searchlib/features/flow_completeness_feature.h b/searchlib/src/vespa/searchlib/features/flow_completeness_feature.h
index d329a170e75..1894b9656ff 100644
--- a/searchlib/src/vespa/searchlib/features/flow_completeness_feature.h
+++ b/searchlib/src/vespa/searchlib/features/flow_completeness_feature.h
@@ -2,8 +2,6 @@
#pragma once
-#include <string>
-#include <vector>
#include <vespa/searchlib/fef/fef.h>
#include <vespa/vespalib/util/priority_queue.h>
#include <vespa/vespalib/stllike/hash_map.h>
@@ -18,7 +16,7 @@ struct FlowCompletenessParams {
feature_t fieldWeight;
feature_t fieldCompletenessImportance;
FlowCompletenessParams()
- : fieldId(search::fef::IllegalFieldId),
+ : fieldId(fef::IllegalFieldId),
fieldWeight(0),
fieldCompletenessImportance(0.5) {}
};
@@ -29,25 +27,25 @@ const uint32_t IllegalElementId = 0xffffffff;
const uint32_t IllegalTermId = 0xffffffff;
const uint32_t IllegalPosId = 0xffffffff;
-class FlowCompletenessExecutor : public search::fef::FeatureExecutor
+class FlowCompletenessExecutor : public fef::FeatureExecutor
{
private:
struct Term {
- search::fef::TermFieldHandle termHandle;
+ fef::TermFieldHandle termHandle;
int termWeight;
- Term(search::fef::TermFieldHandle handle, int weight)
+ Term(fef::TermFieldHandle handle, int weight)
: termHandle(handle), termWeight(weight) {}
};
struct Item {
uint32_t elemId;
uint32_t termIdx;
- search::fef::TermFieldMatchData::PositionsIterator pos;
- search::fef::TermFieldMatchData::PositionsIterator end;
+ fef::TermFieldMatchData::PositionsIterator pos;
+ fef::TermFieldMatchData::PositionsIterator end;
Item(uint32_t idx,
- search::fef::TermFieldMatchData::PositionsIterator p,
- search::fef::TermFieldMatchData::PositionsIterator e)
+ fef::TermFieldMatchData::PositionsIterator p,
+ fef::TermFieldMatchData::PositionsIterator e)
: elemId(IllegalElementId), termIdx(idx), pos(p), end(e)
{
if (p != e) elemId = p->getElementId();
@@ -66,18 +64,18 @@ private:
static bool nextElement(Item &item);
- virtual void handle_bind_match_data(fef::MatchData &md) override;
+ void handle_bind_match_data(fef::MatchData &md) override;
public:
- FlowCompletenessExecutor(const search::fef::IQueryEnvironment &env,
+ FlowCompletenessExecutor(const fef::IQueryEnvironment &env,
const FlowCompletenessParams &params);
- virtual bool isPure() { return _terms.empty(); }
- virtual void execute(uint32_t docId);
+ bool isPure() override { return _terms.empty(); }
+ void execute(uint32_t docId) override;
};
//-----------------------------------------------------------------------------
-class FlowCompletenessBlueprint : public search::fef::Blueprint
+class FlowCompletenessBlueprint : public fef::Blueprint
{
private:
std::vector<vespalib::string> _output;
@@ -86,24 +84,13 @@ private:
public:
FlowCompletenessBlueprint();
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment & env,
- search::fef::IDumpFeatureVisitor & visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc().indexField(search::fef::ParameterCollection::ANY);
+ void visitDumpFeatures(const fef::IIndexEnvironment & env, fef::IDumpFeatureVisitor & visitor) const override;
+ fef::Blueprint::UP createInstance() const override;
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc().indexField(fef::ParameterCollection::ANY);
}
-
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment &env,
- const search::fef::ParameterList &params);
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ bool setup(const fef::IIndexEnvironment &env, const fef::ParameterList &params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
};
//-----------------------------------------------------------------------------
diff --git a/searchlib/src/vespa/searchlib/features/foreachfeature.cpp b/searchlib/src/vespa/searchlib/features/foreachfeature.cpp
index 718d04ed66e..7e6831142ee 100644
--- a/searchlib/src/vespa/searchlib/features/foreachfeature.cpp
+++ b/searchlib/src/vespa/searchlib/features/foreachfeature.cpp
@@ -1,18 +1,17 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/fastos/fastos.h>
-#include <vespa/log/log.h>
-LOG_SETUP(".features.foreachfeature");
#include "foreachfeature.h"
#include "valuefeature.h"
#include "utils.h"
#include <boost/algorithm/string/replace.hpp>
-#include <vespa/searchlib/fef/fieldinfo.h>
#include <vespa/searchlib/fef/properties.h>
#include <vespa/vespalib/util/stringfmt.h>
#include <vespa/vespalib/util/vstringfmt.h>
+#include <vespa/log/log.h>
+LOG_SETUP(".features.foreachfeature");
+
using namespace search::fef;
namespace search {
@@ -108,7 +107,7 @@ ForeachBlueprint::setExecutorCreator(CO condition)
CO _condition;
public:
ExecutorCreator(CO cond) : _condition(cond) {}
- virtual search::fef::FeatureExecutor &create(uint32_t numInputs, vespalib::Stash &stash) const {
+ search::fef::FeatureExecutor &create(uint32_t numInputs, vespalib::Stash &stash) const override {
return stash.create<ForeachExecutor<CO, OP>>(_condition, numInputs);
}
};
diff --git a/searchlib/src/vespa/searchlib/features/foreachfeature.h b/searchlib/src/vespa/searchlib/features/foreachfeature.h
index 7d0cf4d8baf..d01fae9b196 100644
--- a/searchlib/src/vespa/searchlib/features/foreachfeature.h
+++ b/searchlib/src/vespa/searchlib/features/foreachfeature.h
@@ -6,7 +6,6 @@
#include <vespa/searchlib/fef/featureexecutor.h>
#include <limits>
-
namespace search {
namespace features {
@@ -15,7 +14,7 @@ namespace features {
* Uses a condition and operation template class to perform the computation.
*/
template <typename CO, typename OP>
-class ForeachExecutor : public search::fef::FeatureExecutor {
+class ForeachExecutor : public fef::FeatureExecutor {
private:
CO _condition;
OP _operation;
@@ -23,10 +22,9 @@ private:
public:
ForeachExecutor(const CO & condition, uint32_t numInputs);
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
-
-
+
/**
* Base class for condition template class.
**/
@@ -129,7 +127,7 @@ struct CountOperation : public OperationBase {
/**
* Implements the blueprint for the foreach executor.
*/
-class ForeachBlueprint : public search::fef::Blueprint {
+class ForeachBlueprint : public fef::Blueprint {
private:
enum Dimension {
TERMS,
@@ -138,7 +136,7 @@ private:
ILLEGAL
};
struct ExecutorCreatorBase {
- virtual search::fef::FeatureExecutor &create(uint32_t numInputs, vespalib::Stash &stash) const = 0;
+ virtual fef::FeatureExecutor &create(uint32_t numInputs, vespalib::Stash &stash) const = 0;
virtual ~ExecutorCreatorBase() {}
};
@@ -154,29 +152,14 @@ private:
void setExecutorCreator(CO condition);
public:
- /**
- * Constructs a blueprint.
- */
ForeachBlueprint();
-
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment & env,
- search::fef::IDumpFeatureVisitor & visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc().string().string().feature().string().string();
+ void visitDumpFeatures(const fef::IIndexEnvironment & env, fef::IDumpFeatureVisitor & visitor) const override;
+ fef::Blueprint::UP createInstance() const override;
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc().string().string().feature().string().string();
}
-
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
};
diff --git a/searchlib/src/vespa/searchlib/features/freshnessfeature.h b/searchlib/src/vespa/searchlib/features/freshnessfeature.h
index b1dc25aada9..770a103c3c3 100644
--- a/searchlib/src/vespa/searchlib/features/freshnessfeature.h
+++ b/searchlib/src/vespa/searchlib/features/freshnessfeature.h
@@ -2,9 +2,9 @@
#pragma once
+#include "logarithmcalculator.h"
#include <vespa/searchlib/fef/blueprint.h>
#include <vespa/searchlib/fef/featureexecutor.h>
-#include "logarithmcalculator.h"
namespace search {
namespace features {
@@ -12,53 +12,36 @@ namespace features {
/**
* Implements the executor for the freshness feature.
*/
-class FreshnessExecutor : public search::fef::FeatureExecutor {
+class FreshnessExecutor : public fef::FeatureExecutor {
private:
feature_t _maxAge;
LogarithmCalculator _logCalc;
public:
- /**
- * Constructs an executor.
- */
FreshnessExecutor(feature_t maxAge, feature_t scaleAge);
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
/**
* Implements the blueprint for the freshness executor.
*/
-class FreshnessBlueprint : public search::fef::Blueprint {
+class FreshnessBlueprint : public fef::Blueprint {
private:
feature_t _maxAge;
feature_t _halfResponse;
feature_t _scaleAge;
public:
- /**
- * Constructs a blueprint.
- */
FreshnessBlueprint();
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment & env,
- search::fef::IDumpFeatureVisitor & visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc().attribute(search::fef::ParameterCollection::ANY);
+ void visitDumpFeatures(const fef::IIndexEnvironment & env, fef::IDumpFeatureVisitor & visitor) const override;
+ fef::Blueprint::UP createInstance() const override;
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc().attribute(fef::ParameterCollection::ANY);
}
-
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
};
diff --git a/searchlib/src/vespa/searchlib/features/item_raw_score_feature.h b/searchlib/src/vespa/searchlib/features/item_raw_score_feature.h
index 3e737c4a2f5..84d5fe0f812 100644
--- a/searchlib/src/vespa/searchlib/features/item_raw_score_feature.h
+++ b/searchlib/src/vespa/searchlib/features/item_raw_score_feature.h
@@ -16,12 +16,12 @@ private:
HandleVector _handles;
const fef::MatchData *_md;
- virtual void handle_bind_match_data(fef::MatchData &md) override;
+ void handle_bind_match_data(fef::MatchData &md) override;
public:
ItemRawScoreExecutor(HandleVector handles)
: FeatureExecutor(), _handles(handles), _md(nullptr) {}
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
class SimpleItemRawScoreExecutor : public fef::FeatureExecutor
@@ -30,12 +30,12 @@ private:
fef::TermFieldHandle _handle;
const fef::MatchData *_md;
- virtual void handle_bind_match_data(fef::MatchData &md) override;
+ void handle_bind_match_data(fef::MatchData &md) override;
public:
SimpleItemRawScoreExecutor(fef::TermFieldHandle handle)
: FeatureExecutor(), _handle(handle), _md(nullptr) {}
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
@@ -48,20 +48,17 @@ private:
vespalib::string _label;
public:
ItemRawScoreBlueprint() : Blueprint("itemRawScore"), _label() {}
- virtual void visitDumpFeatures(const fef::IIndexEnvironment &,
- fef::IDumpFeatureVisitor &) const {}
- virtual fef::Blueprint::UP createInstance() const {
+ void visitDumpFeatures(const fef::IIndexEnvironment &, fef::IDumpFeatureVisitor &) const override {}
+ fef::Blueprint::UP createInstance() const override {
return Blueprint::UP(new ItemRawScoreBlueprint());
}
- virtual fef::ParameterDescriptions getDescriptions() const {
+ fef::ParameterDescriptions getDescriptions() const override {
return fef::ParameterDescriptions().desc().string();
}
- virtual bool setup(const fef::IIndexEnvironment &env,
- const fef::ParameterList &params);
- virtual fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ bool setup(const fef::IIndexEnvironment &env, const fef::ParameterList &params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
- static HandleVector resolve(const fef::IQueryEnvironment &env,
- const vespalib::string &label);
+ static HandleVector resolve(const fef::IQueryEnvironment &env, const vespalib::string &label);
};
} // namespace features
diff --git a/searchlib/src/vespa/searchlib/features/jarowinklerdistancefeature.h b/searchlib/src/vespa/searchlib/features/jarowinklerdistancefeature.h
index a269a75b9f3..6931945878a 100644
--- a/searchlib/src/vespa/searchlib/features/jarowinklerdistancefeature.h
+++ b/searchlib/src/vespa/searchlib/features/jarowinklerdistancefeature.h
@@ -1,8 +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 <string>
-#include <vector>
#include <vespa/searchlib/fef/blueprint.h>
#include <vespa/searchlib/fef/featureexecutor.h>
#include <vespa/searchlib/common/feature.h>
@@ -26,56 +24,45 @@ struct JaroWinklerDistanceConfig {
/**
* Implements the executor for the jaro winkler distance calculator.
*/
-class JaroWinklerDistanceExecutor : public search::fef::FeatureExecutor {
+class JaroWinklerDistanceExecutor : public fef::FeatureExecutor {
public:
/**
* Constructs a new executor for the jaro winkler distance calculator.
*
* @param config The config for this executor.
*/
- JaroWinklerDistanceExecutor(const search::fef::IQueryEnvironment &env,
+ JaroWinklerDistanceExecutor(const fef::IQueryEnvironment &env,
const JaroWinklerDistanceConfig &config);
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
private:
- feature_t jaroWinklerProximity(const std::vector<search::fef::FieldPositionsIterator> &termPos, uint32_t fieldLen);
+ feature_t jaroWinklerProximity(const std::vector<fef::FieldPositionsIterator> &termPos, uint32_t fieldLen);
private:
- const JaroWinklerDistanceConfig &_config; // The config for this executor.
- std::vector<search::fef::TermFieldHandle> _termFieldHandles; // The handles of all query terms.
- const fef::MatchData *_md;
+ const JaroWinklerDistanceConfig &_config; // The config for this executor.
+ std::vector<fef::TermFieldHandle> _termFieldHandles; // The handles of all query terms.
+ const fef::MatchData *_md;
- virtual void handle_bind_match_data(fef::MatchData &md) override;
+ void handle_bind_match_data(fef::MatchData &md) override;
};
/**
* Implements the blueprint for the jaro winkler distance calculator.
*/
-class JaroWinklerDistanceBlueprint : public search::fef::Blueprint {
+class JaroWinklerDistanceBlueprint : public fef::Blueprint {
public:
/**
* Constructs a new blueprint for the jaro winkler distance calculator.
*/
JaroWinklerDistanceBlueprint();
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment &env,
- search::fef::IDumpFeatureVisitor &visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc().indexField(search::fef::ParameterCollection::SINGLE);
+ void visitDumpFeatures(const fef::IIndexEnvironment &env, fef::IDumpFeatureVisitor &visitor) const override;
+ fef::Blueprint::UP createInstance() const override;
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc().indexField(fef::ParameterCollection::SINGLE);
}
-
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
private:
JaroWinklerDistanceConfig _config; // The config for this blueprint.
diff --git a/searchlib/src/vespa/searchlib/features/logarithmcalculator.h b/searchlib/src/vespa/searchlib/features/logarithmcalculator.h
index 766ba6f978d..6765396a4b9 100644
--- a/searchlib/src/vespa/searchlib/features/logarithmcalculator.h
+++ b/searchlib/src/vespa/searchlib/features/logarithmcalculator.h
@@ -2,6 +2,7 @@
#pragma once
+#include <vespa/searchlib/common/feature.h>
#include <cmath>
namespace search {
diff --git a/searchlib/src/vespa/searchlib/features/matchesfeature.h b/searchlib/src/vespa/searchlib/features/matchesfeature.h
index 054158b955c..9a08e8040d0 100644
--- a/searchlib/src/vespa/searchlib/features/matchesfeature.h
+++ b/searchlib/src/vespa/searchlib/features/matchesfeature.h
@@ -12,19 +12,19 @@ namespace features {
* Implements the executor for the matches feature for index and
* attribute fields.
*/
-class MatchesExecutor : public search::fef::FeatureExecutor
+class MatchesExecutor : public fef::FeatureExecutor
{
private:
- std::vector<search::fef::TermFieldHandle> _handles;
- const fef::MatchData *_md;
+ std::vector<fef::TermFieldHandle> _handles;
+ const fef::MatchData *_md;
- virtual void handle_bind_match_data(fef::MatchData &md) override;
+ void handle_bind_match_data(fef::MatchData &md) override;
public:
MatchesExecutor(uint32_t fieldId,
- const search::fef::IQueryEnvironment &env,
+ const fef::IQueryEnvironment &env,
uint32_t begin, uint32_t end);
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
/**
@@ -35,38 +35,21 @@ public:
* matches(name,n)
* - returns 1 if there is an index or attribute with this name which matched with the query term at the given position, 0 otherwise
*/
-class MatchesBlueprint : public search::fef::Blueprint
+class MatchesBlueprint : public fef::Blueprint
{
private:
- const search::fef::FieldInfo *_field;
- uint32_t _termIdx;
+ const fef::FieldInfo *_field;
+ uint32_t _termIdx;
public:
- /**
- * Constructs a blueprint.
- */
MatchesBlueprint();
-
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment & env,
- search::fef::IDumpFeatureVisitor & visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().
- desc().field().
- desc().field().number();
+ void visitDumpFeatures(const fef::IIndexEnvironment & env, fef::IDumpFeatureVisitor & visitor) const override;
+ fef::Blueprint::UP createInstance() const override;
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc().field().desc().field().number();
}
-
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
};
} // namespace features
diff --git a/searchlib/src/vespa/searchlib/features/matchfeature.h b/searchlib/src/vespa/searchlib/features/matchfeature.h
index 30d28f22370..46ab49d4e2e 100644
--- a/searchlib/src/vespa/searchlib/features/matchfeature.h
+++ b/searchlib/src/vespa/searchlib/features/matchfeature.h
@@ -16,50 +16,32 @@ struct MatchParams {
/**
* Implements the executor for the match feature.
*/
-class MatchExecutor : public search::fef::FeatureExecutor {
+class MatchExecutor : public fef::FeatureExecutor {
private:
const MatchParams & _params;
public:
- /**
- * Constructs an executor.
- */
MatchExecutor(const MatchParams & params);
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
/**
* Implements the blueprint for the match executor.
*/
-class MatchBlueprint : public search::fef::Blueprint {
+class MatchBlueprint : public fef::Blueprint {
private:
MatchParams _params;
-
public:
- /**
- * Constructs a blueprint.
- */
MatchBlueprint();
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment & env,
- search::fef::IDumpFeatureVisitor & visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc();
+ void visitDumpFeatures(const fef::IIndexEnvironment & env, fef::IDumpFeatureVisitor & visitor) const override;
+ fef::Blueprint::UP createInstance() const override;
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc();
}
-
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
};
diff --git a/searchlib/src/vespa/searchlib/features/native_dot_product_feature.h b/searchlib/src/vespa/searchlib/features/native_dot_product_feature.h
index 4baa10567dd..7b5d1935b45 100644
--- a/searchlib/src/vespa/searchlib/features/native_dot_product_feature.h
+++ b/searchlib/src/vespa/searchlib/features/native_dot_product_feature.h
@@ -10,39 +10,37 @@
namespace search {
namespace features {
-class NativeDotProductExecutor : public search::fef::FeatureExecutor
+class NativeDotProductExecutor : public fef::FeatureExecutor
{
private:
- typedef std::pair<search::fef::TermFieldHandle,query::Weight> Pair;
- std::vector<Pair> _pairs;
+ typedef std::pair<fef::TermFieldHandle,query::Weight> Pair;
+ std::vector<Pair> _pairs;
const fef::MatchData *_md;
- virtual void handle_bind_match_data(fef::MatchData &md) override;
+ void handle_bind_match_data(fef::MatchData &md) override;
public:
- NativeDotProductExecutor(const search::fef::IQueryEnvironment &env, uint32_t fieldId);
- virtual void execute(uint32_t docId);
+ NativeDotProductExecutor(const fef::IQueryEnvironment &env, uint32_t fieldId);
+ void execute(uint32_t docId) override;
};
//-----------------------------------------------------------------------------
-class NativeDotProductBlueprint : public search::fef::Blueprint
+class NativeDotProductBlueprint : public fef::Blueprint
{
private:
- const search::fef::FieldInfo *_field;
+ const fef::FieldInfo *_field;
public:
NativeDotProductBlueprint() : Blueprint("nativeDotProduct"), _field(0) {}
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment &,
- search::fef::IDumpFeatureVisitor &) const {}
- virtual search::fef::Blueprint::UP createInstance() const {
+ void visitDumpFeatures(const fef::IIndexEnvironment &, fef::IDumpFeatureVisitor &) const override {}
+ fef::Blueprint::UP createInstance() const override {
return Blueprint::UP(new NativeDotProductBlueprint());
}
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc().field();
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc().field();
}
- virtual bool setup(const search::fef::IIndexEnvironment &env,
- const search::fef::ParameterList &params);
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ bool setup(const fef::IIndexEnvironment &env, const fef::ParameterList &params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
};
} // namespace features
diff --git a/searchlib/src/vespa/searchlib/features/nativeattributematchfeature.h b/searchlib/src/vespa/searchlib/features/nativeattributematchfeature.h
index dc535c57d3d..0cac0c6bd4b 100644
--- a/searchlib/src/vespa/searchlib/features/nativeattributematchfeature.h
+++ b/searchlib/src/vespa/searchlib/features/nativeattributematchfeature.h
@@ -2,12 +2,9 @@
#pragma once
-#include <vespa/searchlib/fef/blueprint.h>
-#include <vespa/searchlib/fef/featureexecutor.h>
-#include <vespa/searchlib/fef/table.h>
+#include "nativerankfeature.h"
#include <vespa/searchlib/fef/itermdata.h>
#include <vespa/searchlib/fef/itermfielddata.h>
-#include "nativerankfeature.h"
#include <vespa/searchlib/fef/symmetrictable.h>
namespace search {
@@ -29,7 +26,7 @@ typedef NativeRankParamsBase<NativeAttributeMatchParam> NativeAttributeMatchPara
class NativeAttributeMatchExecutor : public fef::FeatureExecutor {
protected:
struct CachedTermData {
- CachedTermData() : scale(0), weightBoostTable(NULL), tfh(search::fef::IllegalHandle) { }
+ CachedTermData() : scale(0), weightBoostTable(NULL), tfh(fef::IllegalHandle) { }
CachedTermData(const NativeAttributeMatchParams & params, const fef::ITermFieldData & tfd, feature_t s) :
scale(s),
weightBoostTable(&params.vector[tfd.getFieldId()].weightBoostTable),
@@ -45,7 +42,7 @@ protected:
static feature_t calculateScore(const CachedTermData &td, const fef::TermFieldMatchData &tfmd);
private:
static Precomputed preComputeSetup(const fef::IQueryEnvironment & env,
- const NativeAttributeMatchParams & params);
+ const NativeAttributeMatchParams & params);
public:
static fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment & env,
@@ -60,12 +57,10 @@ private:
std::vector<CachedTermData> _queryTermData;
const fef::MatchData *_md;
- virtual void handle_bind_match_data(fef::MatchData &md) override;
-
+ void handle_bind_match_data(fef::MatchData &md) override;
public:
NativeAttributeMatchExecutorMulti(const Precomputed & setup) : _divisor(setup.second), _queryTermData(setup.first), _md(nullptr) { }
- // Inherit doc from FeatureExecutor.
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
class NativeAttributeMatchExecutorSingle : public NativeAttributeMatchExecutor
@@ -74,7 +69,7 @@ private:
CachedTermData _queryTermData;
const fef::MatchData *_md;
- virtual void handle_bind_match_data(fef::MatchData &md) override;
+ void handle_bind_match_data(fef::MatchData &md) override;
public:
NativeAttributeMatchExecutorSingle(const Precomputed & setup) :
@@ -83,8 +78,7 @@ public:
{
_queryTermData.scale /= setup.second;
}
- // Inherit doc from FeatureExecutor.
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
@@ -97,33 +91,18 @@ private:
public:
NativeAttributeMatchBlueprint();
+ void visitDumpFeatures(const fef::IIndexEnvironment & env, fef::IDumpFeatureVisitor & visitor) const override;
+ fef::Blueprint::UP createInstance() const override;
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const fef::IIndexEnvironment & env,
- fef::IDumpFeatureVisitor & visitor) const;
-
- // Inherit doc from Blueprint.
- virtual fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual fef::ParameterDescriptions getDescriptions() const {
- return fef::ParameterDescriptions().desc().attribute(search::fef::ParameterCollection::ANY).repeat();
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc().attribute(fef::ParameterCollection::ANY).repeat();
}
-
- // Inherit doc from Blueprint.
- virtual bool setup(const fef::IIndexEnvironment & env,
- const fef::ParameterList & params);
-
- // Inherit doc from Blueprint.
- virtual fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
-
- /**
- * Obtains the parameters used by the executor.
- **/
+ bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+
const NativeAttributeMatchParams & getParams() const { return _params; }
};
} // namespace features
} // namespace search
-
diff --git a/searchlib/src/vespa/searchlib/features/nativefieldmatchfeature.h b/searchlib/src/vespa/searchlib/features/nativefieldmatchfeature.h
index 980f14c58fb..7ccc9b77206 100644
--- a/searchlib/src/vespa/searchlib/features/nativefieldmatchfeature.h
+++ b/searchlib/src/vespa/searchlib/features/nativefieldmatchfeature.h
@@ -2,9 +2,6 @@
#pragma once
-#include <vespa/searchlib/fef/blueprint.h>
-#include <vespa/searchlib/fef/featureexecutor.h>
-#include <vespa/searchlib/fef/table.h>
#include "nativerankfeature.h"
#include "queryterm.h"
@@ -18,8 +15,8 @@ struct NativeFieldMatchParam : public NativeParamBase
{
static const uint32_t NOT_DEF_FIELD_LENGTH;
NativeFieldMatchParam() : NativeParamBase(), firstOccTable(NULL), numOccTable(NULL), averageFieldLength(NOT_DEF_FIELD_LENGTH), firstOccImportance(0.5) { }
- const search::fef::Table * firstOccTable;
- const search::fef::Table * numOccTable;
+ const fef::Table * firstOccTable;
+ const fef::Table * numOccTable;
uint32_t averageFieldLength;
feature_t firstOccImportance;
};
@@ -34,10 +31,10 @@ public:
/**
* Implements the executor for calculating the native field match score.
**/
-class NativeFieldMatchExecutor : public search::fef::FeatureExecutor
+class NativeFieldMatchExecutor : public fef::FeatureExecutor
{
private:
- typedef std::vector<search::fef::TermFieldHandle> HandleVector;
+ typedef std::vector<fef::TermFieldHandle> HandleVector;
class MyQueryTerm : public QueryTerm
{
@@ -64,13 +61,13 @@ private:
}
feature_t getFirstOccBoost(const NativeFieldMatchParam & param, uint32_t position, uint32_t fieldLength) const {
- const search::fef::Table * table = param.firstOccTable;
+ const fef::Table * table = param.firstOccTable;
size_t index = (position * (table->size() - 1)) / (std::max(_params.minFieldLength, fieldLength) - 1);
return table->get(index);
}
feature_t getNumOccBoost(const NativeFieldMatchParam & param, uint32_t occs, uint32_t fieldLength) const {
- const search::fef::Table * table = param.numOccTable;
+ const fef::Table * table = param.numOccTable;
size_t index = (occs * (table->size() - 1)) / (std::max(_params.minFieldLength, fieldLength));
return table->get(index);
}
@@ -78,9 +75,9 @@ private:
virtual void handle_bind_match_data(fef::MatchData &md) override;
public:
- NativeFieldMatchExecutor(const search::fef::IQueryEnvironment & env,
+ NativeFieldMatchExecutor(const fef::IQueryEnvironment & env,
const NativeFieldMatchParams & params);
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
feature_t getFirstOccBoost(uint32_t field, uint32_t position, uint32_t fieldLength) const {
return getFirstOccBoost(_params.vector[field], position, fieldLength);
@@ -96,7 +93,7 @@ public:
/**
* Implements the blueprint for the native field match executor.
**/
-class NativeFieldMatchBlueprint : public search::fef::Blueprint {
+class NativeFieldMatchBlueprint : public fef::Blueprint {
private:
NativeFieldMatchParams _params;
vespalib::string _defaultFirstOcc;
@@ -104,29 +101,14 @@ private:
public:
NativeFieldMatchBlueprint();
-
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment & env,
- search::fef::IDumpFeatureVisitor & visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc().field().repeat();
+ void visitDumpFeatures(const fef::IIndexEnvironment & env, fef::IDumpFeatureVisitor & visitor) const override;
+ fef::Blueprint::UP createInstance() const override;
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc().field().repeat();
}
-
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment & env, vespalib::Stash &stash) const override;
-
- /**
- * Obtains the parameters used by the executor.
- **/
+ bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment & env, vespalib::Stash &stash) const override;
+
const NativeFieldMatchParams & getParams() const { return _params; }
};
diff --git a/searchlib/src/vespa/searchlib/features/nativeproximityfeature.h b/searchlib/src/vespa/searchlib/features/nativeproximityfeature.h
index 31587f9cdd6..0a581c18b33 100644
--- a/searchlib/src/vespa/searchlib/features/nativeproximityfeature.h
+++ b/searchlib/src/vespa/searchlib/features/nativeproximityfeature.h
@@ -2,9 +2,6 @@
#pragma once
-#include <vespa/searchlib/fef/blueprint.h>
-#include <vespa/searchlib/fef/featureexecutor.h>
-#include <vespa/searchlib/fef/table.h>
#include "nativerankfeature.h"
#include "queryterm.h"
#include "termdistancecalculator.h"
@@ -18,8 +15,8 @@ namespace features {
struct NativeProximityParam : public NativeParamBase
{
NativeProximityParam() : NativeParamBase(), proximityTable(NULL), revProximityTable(NULL), proximityImportance(0.5) { }
- const search::fef::Table * proximityTable;
- const search::fef::Table * revProximityTable;
+ const fef::Table * proximityTable;
+ const fef::Table * revProximityTable;
feature_t proximityImportance;
};
@@ -33,7 +30,7 @@ public:
/**
* Implements the executor for calculating the native proximity score.
**/
-class NativeProximityExecutor : public search::fef::FeatureExecutor {
+class NativeProximityExecutor : public fef::FeatureExecutor {
public:
/**
* Represents a term pair with connectedness and associated term distance calculator.
@@ -68,11 +65,10 @@ private:
virtual void handle_bind_match_data(fef::MatchData &md) override;
public:
- NativeProximityExecutor(const search::fef::IQueryEnvironment & env,
- const NativeProximityParams & params);
- virtual void execute(uint32_t docId);
+ NativeProximityExecutor(const fef::IQueryEnvironment & env, const NativeProximityParams & params);
+ void execute(uint32_t docId) override;
- static void generateTermPairs(const search::fef::IQueryEnvironment & env, const QueryTermVector & terms,
+ static void generateTermPairs(const fef::IQueryEnvironment & env, const QueryTermVector & terms,
uint32_t slidingWindow, FieldSetup & setup);
bool empty() const { return _setups.empty(); }
@@ -82,7 +78,7 @@ public:
/**
* Implements the blueprint for the native proximity executor.
**/
-class NativeProximityBlueprint : public search::fef::Blueprint {
+class NativeProximityBlueprint : public fef::Blueprint {
private:
NativeProximityParams _params;
vespalib::string _defaultProximityBoost;
@@ -90,29 +86,14 @@ private:
public:
NativeProximityBlueprint();
-
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment & env,
- search::fef::IDumpFeatureVisitor & visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc().field().repeat();
+ void visitDumpFeatures(const fef::IIndexEnvironment & env, fef::IDumpFeatureVisitor & visitor) const override;
+ fef::Blueprint::UP createInstance() const override;
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc().field().repeat();
}
-
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
-
- /**
- * Obtains the parameters used by the executor.
- **/
+ bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+
const NativeProximityParams & getParams() const { return _params; }
};
diff --git a/searchlib/src/vespa/searchlib/features/nativerankfeature.h b/searchlib/src/vespa/searchlib/features/nativerankfeature.h
index e0c5952f133..e976f181b47 100644
--- a/searchlib/src/vespa/searchlib/features/nativerankfeature.h
+++ b/searchlib/src/vespa/searchlib/features/nativerankfeature.h
@@ -56,7 +56,7 @@ public:
**/
class FieldWrapper {
public:
- std::vector<const search::fef::FieldInfo *> _fields;
+ std::vector<const fef::FieldInfo *> _fields;
public:
/**
@@ -66,55 +66,44 @@ public:
* @param fieldNames the set of field names to consider. If empty all found in the environment are used.
* @param filter the field type this wrapper should let through.
**/
- FieldWrapper(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & fields,
- const search::fef::FieldType filter);
+ FieldWrapper(const fef::IIndexEnvironment & env,
+ const fef::ParameterList & fields,
+ const fef::FieldType filter);
size_t getNumFields() const { return _fields.size(); }
- const search::fef::FieldInfo * getField(size_t idx) const { return _fields[idx]; }
+ const fef::FieldInfo * getField(size_t idx) const { return _fields[idx]; }
};
/**
* Implements the executor for calculating the native rank score.
**/
-class NativeRankExecutor : public search::fef::FeatureExecutor {
+class NativeRankExecutor : public fef::FeatureExecutor {
private:
const NativeRankParams & _params;
feature_t _divisor;
public:
NativeRankExecutor(const NativeRankParams & params);
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
/**
* Implements the blueprint for the native rank executor.
**/
-class NativeRankBlueprint : public search::fef::Blueprint {
+class NativeRankBlueprint : public fef::Blueprint {
private:
NativeRankParams _params;
public:
NativeRankBlueprint();
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment & env,
- search::fef::IDumpFeatureVisitor & visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc().field().repeat();
+ void visitDumpFeatures(const fef::IIndexEnvironment & env, fef::IDumpFeatureVisitor & visitor) const override;
+ fef::Blueprint::UP createInstance() const override;
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc().field().repeat();
}
-
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
/**
* Obtains the parameters used by the executor.
@@ -124,10 +113,9 @@ public:
/**
* Returns whether we should use table normalization for the setup using the given environment.
**/
- static bool useTableNormalization(const search::fef::IIndexEnvironment & env);
+ static bool useTableNormalization(const fef::IIndexEnvironment & env);
};
} // namespace features
} // namespace search
-
diff --git a/searchlib/src/vespa/searchlib/features/nowfeature.h b/searchlib/src/vespa/searchlib/features/nowfeature.h
index d5322612a56..17faae83e48 100644
--- a/searchlib/src/vespa/searchlib/features/nowfeature.h
+++ b/searchlib/src/vespa/searchlib/features/nowfeature.h
@@ -1,8 +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 <string>
-#include <vector>
#include <vespa/searchlib/fef/blueprint.h>
#include <vespa/searchlib/fef/featureexecutor.h>
@@ -16,7 +14,7 @@ namespace features {
* then as days since epoch and seconds within that day (second and third output).
* This is due to precision problems when encoding current time as a float.
**/
-class NowExecutor : public search::fef::FeatureExecutor {
+class NowExecutor : public fef::FeatureExecutor {
private:
// Current time, in seconds since epoch
int64_t _timestamp;
@@ -26,34 +24,23 @@ public:
* Constructs a new executor.
**/
NowExecutor(int64_t timestamp);
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
/**
* Implements the blueprint for 'now' feature.
*/
-class NowBlueprint : public search::fef::Blueprint {
+class NowBlueprint : public fef::Blueprint {
public:
- NowBlueprint() : search::fef::Blueprint("now") { }
-
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment &env,
- search::fef::IDumpFeatureVisitor &visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc();
+ NowBlueprint() : fef::Blueprint("now") { }
+ void visitDumpFeatures(const fef::IIndexEnvironment &env, fef::IDumpFeatureVisitor &visitor) const override;
+ fef::Blueprint::UP createInstance() const override;
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc();
}
-
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ bool setup(const fef::IIndexEnvironment & env,
+ const fef::ParameterList & params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
};
}}
diff --git a/searchlib/src/vespa/searchlib/features/proximityfeature.h b/searchlib/src/vespa/searchlib/features/proximityfeature.h
index 5d920665de2..16f258b36d2 100644
--- a/searchlib/src/vespa/searchlib/features/proximityfeature.h
+++ b/searchlib/src/vespa/searchlib/features/proximityfeature.h
@@ -1,8 +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 <string>
-#include <vector>
#include <vespa/searchlib/fef/blueprint.h>
#include <vespa/searchlib/fef/featureexecutor.h>
@@ -23,7 +21,7 @@ struct ProximityConfig {
/**
* Implements the executor for proximity.
*/
-class ProximityExecutor : public search::fef::FeatureExecutor {
+class ProximityExecutor : public fef::FeatureExecutor {
public:
/**
* Constructs an executor for proximity.
@@ -31,53 +29,37 @@ public:
* @param env The query environment.
* @param config The completeness config.
*/
- ProximityExecutor(const search::fef::IQueryEnvironment &env,
+ ProximityExecutor(const fef::IQueryEnvironment &env,
const ProximityConfig &config);
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
private:
const ProximityConfig &_config; // The proximity config.
- search::fef::TermFieldHandle _termA; // Handle to the first query term.
- search::fef::TermFieldHandle _termB; // Handle to the second query term.
+ fef::TermFieldHandle _termA; // Handle to the first query term.
+ fef::TermFieldHandle _termB; // Handle to the second query term.
const fef::MatchData *_md;
bool findBest(const fef::TermFieldMatchData &matchA,
const fef::TermFieldMatchData &matchB);
- virtual void handle_bind_match_data(fef::MatchData &md) override;
+ void handle_bind_match_data(fef::MatchData &md) override;
};
/**
* Implements the blueprint for proximity.
*/
-class ProximityBlueprint : public search::fef::Blueprint {
+class ProximityBlueprint : public fef::Blueprint {
public:
- /**
- * Constructs a proximity blueprint.
- */
ProximityBlueprint();
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment &env,
- search::fef::IDumpFeatureVisitor &visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc().indexField(search::fef::ParameterCollection::ANY).number().number();
+ void visitDumpFeatures(const fef::IIndexEnvironment &env, fef::IDumpFeatureVisitor &visitor) const override;
+ fef::Blueprint::UP createInstance() const override;
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc().indexField(fef::ParameterCollection::ANY).number().number();
}
-
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
-
+ bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
private:
ProximityConfig _config;
};
}}
-
diff --git a/searchlib/src/vespa/searchlib/features/querycompletenessfeature.h b/searchlib/src/vespa/searchlib/features/querycompletenessfeature.h
index 7ba44c4d205..783a5ad82f5 100644
--- a/searchlib/src/vespa/searchlib/features/querycompletenessfeature.h
+++ b/searchlib/src/vespa/searchlib/features/querycompletenessfeature.h
@@ -1,8 +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 <string>
-#include <vector>
#include <vespa/searchlib/fef/blueprint.h>
#include <vespa/searchlib/fef/featureexecutor.h>
@@ -23,7 +21,7 @@ struct QueryCompletenessConfig {
/**
* Implements the executor for query completeness.
*/
-class QueryCompletenessExecutor : public search::fef::FeatureExecutor {
+class QueryCompletenessExecutor : public fef::FeatureExecutor {
public:
/**
* Constructs an executor for query completenes.
@@ -31,49 +29,35 @@ public:
* @param env The query environment.
* @param config The completeness config.
*/
- QueryCompletenessExecutor(const search::fef::IQueryEnvironment &env,
+ QueryCompletenessExecutor(const fef::IQueryEnvironment &env,
const QueryCompletenessConfig &config);
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
private:
const QueryCompletenessConfig &_config;
- std::vector<search::fef::TermFieldHandle> _fieldHandles;
+ std::vector<fef::TermFieldHandle> _fieldHandles;
const fef::MatchData *_md;
- virtual void handle_bind_match_data(fef::MatchData &md) override;
+ void handle_bind_match_data(fef::MatchData &md) override;
};
/**
* Implements the blueprint for query completeness.
*/
-class QueryCompletenessBlueprint : public search::fef::Blueprint {
+class QueryCompletenessBlueprint : public fef::Blueprint {
public:
- /**
- * Constructs a completeness blueprint.
- */
QueryCompletenessBlueprint();
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment &env,
- search::fef::IDumpFeatureVisitor &visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().
- desc().indexField(search::fef::ParameterCollection::ANY).
- desc().indexField(search::fef::ParameterCollection::ANY).number().
- desc().indexField(search::fef::ParameterCollection::ANY).number().number();
+ void visitDumpFeatures(const fef::IIndexEnvironment &env, fef::IDumpFeatureVisitor &visitor) const override;
+ fef::Blueprint::UP createInstance() const override;
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().
+ desc().indexField(fef::ParameterCollection::ANY).
+ desc().indexField(fef::ParameterCollection::ANY).number().
+ desc().indexField(fef::ParameterCollection::ANY).number().number();
}
-
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
private:
QueryCompletenessConfig _config;
diff --git a/searchlib/src/vespa/searchlib/features/queryfeature.h b/searchlib/src/vespa/searchlib/features/queryfeature.h
index fd1c138fcc0..e83c8811798 100644
--- a/searchlib/src/vespa/searchlib/features/queryfeature.h
+++ b/searchlib/src/vespa/searchlib/features/queryfeature.h
@@ -14,7 +14,7 @@ namespace features {
* An executor of this outputs the value of a feature passed down with the query.
* This can either be a number or a tensor value.
*/
-class QueryBlueprint : public search::fef::Blueprint {
+class QueryBlueprint : public fef::Blueprint {
private:
vespalib::string _key; // 'foo'
vespalib::string _key2; // '$foo'
@@ -22,29 +22,15 @@ private:
vespalib::eval::ValueType _valueType;
public:
- /**
- * Constructs a query blueprint.
- */
QueryBlueprint();
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment &env,
- search::fef::IDumpFeatureVisitor &visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc().string();
+ void visitDumpFeatures(const fef::IIndexEnvironment &env, fef::IDumpFeatureVisitor &visitor) const override;
+ fef::Blueprint::UP createInstance() const override;
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc().string();
}
-
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment &env,
- const search::fef::ParameterList &params);
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ bool setup(const fef::IIndexEnvironment &env, const fef::ParameterList &params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
};
} // namespace features
diff --git a/searchlib/src/vespa/searchlib/features/querytermcountfeature.h b/searchlib/src/vespa/searchlib/features/querytermcountfeature.h
index f0c2ad1c2bb..8ebfdd5125d 100644
--- a/searchlib/src/vespa/searchlib/features/querytermcountfeature.h
+++ b/searchlib/src/vespa/searchlib/features/querytermcountfeature.h
@@ -2,8 +2,6 @@
#pragma once
-#include <string>
-#include <vector>
#include <vespa/searchlib/fef/blueprint.h>
#include <vespa/searchlib/fef/featureexecutor.h>
#include <vespa/searchlib/common/feature.h>
@@ -17,29 +15,15 @@ namespace features {
class QueryTermCountBlueprint : public search::fef::Blueprint {
private:
public:
- /**
- * Constructs a blueprint.
- */
QueryTermCountBlueprint();
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment & env,
- search::fef::IDumpFeatureVisitor & visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
+ void visitDumpFeatures(const search::fef::IIndexEnvironment & env, search::fef::IDumpFeatureVisitor & visitor) const override;
+ search::fef::Blueprint::UP createInstance() const override;
+ search::fef::ParameterDescriptions getDescriptions() const override {
return search::fef::ParameterDescriptions().desc();
}
-
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment & env, vespalib::Stash &stash) const override;
+ bool setup(const search::fef::IIndexEnvironment & env, const search::fef::ParameterList & params) override;
+ search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment & env, vespalib::Stash &stash) const override;
};
diff --git a/searchlib/src/vespa/searchlib/features/random_normal_feature.h b/searchlib/src/vespa/searchlib/features/random_normal_feature.h
index d8a76a78360..68d8626b28c 100644
--- a/searchlib/src/vespa/searchlib/features/random_normal_feature.h
+++ b/searchlib/src/vespa/searchlib/features/random_normal_feature.h
@@ -2,8 +2,6 @@
#pragma once
-#include <string>
-#include <vector>
#include <vespa/searchlib/fef/blueprint.h>
#include <vespa/searchlib/fef/featureexecutor.h>
#include <vespa/searchlib/util/rand48.h>
@@ -17,7 +15,7 @@ namespace features {
* random number drawn from the Gaussian distribution with the
* two arguments 'mean' and 'stddev'.
**/
-class RandomNormalExecutor : public search::fef::FeatureExecutor {
+class RandomNormalExecutor : public fef::FeatureExecutor {
private:
Rand48 _rnd;
double _mean;
@@ -27,39 +25,27 @@ private:
double _spare;
public:
- /**
- * Constructs a new executor.
- **/
RandomNormalExecutor(uint64_t seed, double mean, double stddev);
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
/**
* Implements the blueprint for the random normal feature.
*/
-class RandomNormalBlueprint : public search::fef::Blueprint {
+class RandomNormalBlueprint : public fef::Blueprint {
private:
uint64_t _seed;
double _mean;
double _stddev;
public:
- /**
- * Constructs a new blueprint.
- */
RandomNormalBlueprint();
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment & env,
- search::fef::IDumpFeatureVisitor & visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().
+ void visitDumpFeatures(const fef::IIndexEnvironment & env, fef::IDumpFeatureVisitor & visitor) const override;
+ fef::Blueprint::UP createInstance() const override;
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().
// Can run without parameters:
desc().
@@ -75,12 +61,8 @@ public:
string(); // in order to name different features
}
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ bool setup(const fef::IIndexEnvironment & env, const fef::ParameterList & params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
};
diff --git a/searchlib/src/vespa/searchlib/features/randomfeature.h b/searchlib/src/vespa/searchlib/features/randomfeature.h
index 8cd9580cc6d..793eb643100 100644
--- a/searchlib/src/vespa/searchlib/features/randomfeature.h
+++ b/searchlib/src/vespa/searchlib/features/randomfeature.h
@@ -2,8 +2,6 @@
#pragma once
-#include <string>
-#include <vector>
#include <vespa/searchlib/fef/blueprint.h>
#include <vespa/searchlib/fef/featureexecutor.h>
#include <vespa/searchlib/util/rand48.h>
@@ -11,7 +9,6 @@
namespace search {
namespace features {
-
/**
* Implements the executor for the random feature outputting a number in the interval [0, 1>.
**/
@@ -22,11 +19,8 @@ private:
uint64_t _matchSeed;
public:
- /**
- * Constructs a new executor.
- **/
RandomExecutor(uint64_t seed, uint64_t matchSeed);
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
@@ -38,34 +32,19 @@ private:
uint64_t _seed;
public:
- /**
- * Constructs a new blueprint.
- */
RandomBlueprint();
-
- // Inherit doc from Blueprint.
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment & env,
- search::fef::IDumpFeatureVisitor & visitor) const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::Blueprint::UP createInstance() const;
-
- // Inherit doc from Blueprint.
- virtual search::fef::ParameterDescriptions getDescriptions() const {
+ void visitDumpFeatures(const search::fef::IIndexEnvironment & env, search::fef::IDumpFeatureVisitor & visitor) const override;
+ search::fef::Blueprint::UP createInstance() const override;
+ search::fef::ParameterDescriptions getDescriptions() const override {
return search::fef::ParameterDescriptions().
desc().
desc().string(); // in order to name different features
}
- // Inherit doc from Blueprint.
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
-
- // Inherit doc from Blueprint.
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
+ bool setup(const search::fef::IIndexEnvironment & env, const search::fef::ParameterList & params) override;
+ search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &env, vespalib::Stash &stash) const override;
};
} // namespace features
} // namespace search
-
diff --git a/searchlib/src/vespa/searchlib/features/rankingexpression/feature_name_extractor.h b/searchlib/src/vespa/searchlib/features/rankingexpression/feature_name_extractor.h
index fd9f0643448..640b314e51f 100644
--- a/searchlib/src/vespa/searchlib/features/rankingexpression/feature_name_extractor.h
+++ b/searchlib/src/vespa/searchlib/features/rankingexpression/feature_name_extractor.h
@@ -13,8 +13,8 @@ namespace rankingexpression {
* parsing ranking expressions.
**/
struct FeatureNameExtractor : public vespalib::eval::SymbolExtractor {
- virtual void extract_symbol(const char *pos_in, const char *end_in,
- const char *&pos_out, vespalib::string &symbol_out) const;
+ void extract_symbol(const char *pos_in, const char *end_in,
+ const char *&pos_out, vespalib::string &symbol_out) const override;
};
} // namespace rankingexpression
diff --git a/searchlib/src/vespa/searchlib/features/tensor_attribute_executor.h b/searchlib/src/vespa/searchlib/features/tensor_attribute_executor.h
index 16cc740fc2b..5625c495940 100644
--- a/searchlib/src/vespa/searchlib/features/tensor_attribute_executor.h
+++ b/searchlib/src/vespa/searchlib/features/tensor_attribute_executor.h
@@ -21,7 +21,7 @@ private:
public:
TensorAttributeExecutor(const search::tensor::TensorAttribute *attribute);
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
} // namespace features
diff --git a/searchlib/src/vespa/searchlib/features/valuefeature.h b/searchlib/src/vespa/searchlib/features/valuefeature.h
index 3aaeac4074d..c92ad47b02e 100644
--- a/searchlib/src/vespa/searchlib/features/valuefeature.h
+++ b/searchlib/src/vespa/searchlib/features/valuefeature.h
@@ -11,28 +11,28 @@
namespace search {
namespace features {
-class ValueExecutor : public search::fef::FeatureExecutor
+class ValueExecutor : public fef::FeatureExecutor
{
private:
std::vector<feature_t> _values;
public:
ValueExecutor(const std::vector<feature_t> & values);
- virtual bool isPure() { return true; }
- virtual void execute(uint32_t docId);
+ bool isPure() override { return true; }
+ void execute(uint32_t docId) override;
const std::vector<feature_t> & getValues() const { return _values; }
};
-class SingleZeroValueExecutor : public search::fef::FeatureExecutor
+class SingleZeroValueExecutor : public fef::FeatureExecutor
{
public:
SingleZeroValueExecutor() : FeatureExecutor() {}
- virtual bool isPure() { return true; }
- virtual void execute(uint32_t docId);
+ bool isPure() override { return true; }
+ void execute(uint32_t docId) override;
};
-class ValueBlueprint : public search::fef::Blueprint
+class ValueBlueprint : public fef::Blueprint
{
private:
std::vector<feature_t> _values;
@@ -40,15 +40,15 @@ private:
public:
ValueBlueprint();
- virtual void visitDumpFeatures(const search::fef::IIndexEnvironment & indexEnv,
- search::fef::IDumpFeatureVisitor & visitor) const;
- virtual search::fef::Blueprint::UP createInstance() const { return Blueprint::UP(new ValueBlueprint()); }
- virtual search::fef::ParameterDescriptions getDescriptions() const {
- return search::fef::ParameterDescriptions().desc().number().number().repeat();
+ void visitDumpFeatures(const fef::IIndexEnvironment & indexEnv,
+ fef::IDumpFeatureVisitor & visitor) const override;
+ fef::Blueprint::UP createInstance() const override { return Blueprint::UP(new ValueBlueprint()); }
+ fef::ParameterDescriptions getDescriptions() const override {
+ return fef::ParameterDescriptions().desc().number().number().repeat();
}
- virtual bool setup(const search::fef::IIndexEnvironment & env,
- const search::fef::ParameterList & params);
- virtual search::fef::FeatureExecutor &createExecutor(const search::fef::IQueryEnvironment &queryEnv, vespalib::Stash &stash) const override;
+ bool setup(const fef::IIndexEnvironment & env,
+ const fef::ParameterList & params) override;
+ fef::FeatureExecutor &createExecutor(const fef::IQueryEnvironment &queryEnv, vespalib::Stash &stash) const override;
};
} // namespace features
diff --git a/searchlib/src/vespa/searchlib/fef/blueprintfactory.h b/searchlib/src/vespa/searchlib/fef/blueprintfactory.h
index 8d9924d67a8..86e88da3e3c 100644
--- a/searchlib/src/vespa/searchlib/fef/blueprintfactory.h
+++ b/searchlib/src/vespa/searchlib/fef/blueprintfactory.h
@@ -2,11 +2,9 @@
#pragma once
-#include <string>
-#include <set>
-#include <map>
#include "blueprint.h"
#include "iblueprintregistry.h"
+#include <map>
namespace search {
namespace fef {
@@ -31,8 +29,7 @@ public:
**/
BlueprintFactory();
- // inherit doc
- virtual void addPrototype(Blueprint::SP proto);
+ void addPrototype(Blueprint::SP proto) override;
/**
* This method will visit features to be dumped by forwarding the
diff --git a/searchlib/src/vespa/searchlib/fef/filetablefactory.h b/searchlib/src/vespa/searchlib/fef/filetablefactory.h
index 74e0a09e6dd..9cf541e5091 100644
--- a/searchlib/src/vespa/searchlib/fef/filetablefactory.h
+++ b/searchlib/src/vespa/searchlib/fef/filetablefactory.h
@@ -26,7 +26,7 @@ public:
* The numbers in the file should be separated with ' ' or '\n'.
* Table::SP(NULL) is returned if the file 'path/name' is not found.
**/
- virtual Table::SP createTable(const vespalib::string & name) const;
+ Table::SP createTable(const vespalib::string & name) const override;
};
} // namespace fef
diff --git a/searchlib/src/vespa/searchlib/fef/functiontablefactory.h b/searchlib/src/vespa/searchlib/fef/functiontablefactory.h
index 10a610f3c04..6dc3c5e8304 100644
--- a/searchlib/src/vespa/searchlib/fef/functiontablefactory.h
+++ b/searchlib/src/vespa/searchlib/fef/functiontablefactory.h
@@ -46,7 +46,7 @@ public:
/**
* Creates a table where the given name specifies the function and arguments to use.
**/
- virtual Table::SP createTable(const vespalib::string & name) const;
+ Table::SP createTable(const vespalib::string & name) const override;
/**
* Parses the given function name and returns true if success.
diff --git a/searchlib/src/vespa/searchlib/fef/objectstore.h b/searchlib/src/vespa/searchlib/fef/objectstore.h
index 457371c4ebf..8ba3d6f58f9 100644
--- a/searchlib/src/vespa/searchlib/fef/objectstore.h
+++ b/searchlib/src/vespa/searchlib/fef/objectstore.h
@@ -25,9 +25,9 @@ class ObjectStore : public IObjectStore
{
public:
ObjectStore();
- virtual ~ObjectStore();
- virtual void add(const vespalib::string & key, Anything::UP value);
- virtual const Anything * get(const vespalib::string & key) const;
+ ~ObjectStore();
+ void add(const vespalib::string & key, Anything::UP value) override;
+ const Anything * get(const vespalib::string & key) const override;
private:
typedef vespalib::hash_map<vespalib::string, Anything *> ObjectMap;
ObjectMap _objectMap;
diff --git a/searchlib/src/vespa/searchlib/fef/phrasesplitter.h b/searchlib/src/vespa/searchlib/fef/phrasesplitter.h
index 6e41535c1bd..9984ae7de3a 100644
--- a/searchlib/src/vespa/searchlib/fef/phrasesplitter.h
+++ b/searchlib/src/vespa/searchlib/fef/phrasesplitter.h
@@ -89,18 +89,9 @@ public:
* Update the underlying TermFieldMatchData objects based on the bound MatchData object.
**/
void update();
+ uint32_t getNumTerms() const override { return _termIdxMap.size(); }
- /**
- * Inherit doc from IQueryEnvironment.
- **/
- virtual uint32_t getNumTerms() const {
- return _termIdxMap.size();
- }
-
- /**
- * Inherit doc from IQueryEnvironment.
- **/
- virtual const ITermData * getTerm(uint32_t idx) const {
+ const ITermData * getTerm(uint32_t idx) const override {
if (idx >= _termIdxMap.size()) {
return NULL;
}
@@ -118,26 +109,10 @@ public:
return handle < _skipHandles ? _matchData->resolveTermField(handle) : resolveSplittedTermField(handle);
}
- /**
- * Inherit doc from IQueryEnvironment.
- **/
- virtual const Properties & getProperties() const { return _queryEnv.getProperties(); }
-
- /**
- * Inherit doc from IQueryEnvironment.
- **/
- virtual const Location & getLocation() const { return _queryEnv.getLocation(); }
-
- /**
- * Inherit doc from IQueryEnvironment.
- **/
- virtual const attribute::IAttributeContext & getAttributeContext() const { return _queryEnv.getAttributeContext(); }
-
- /**
- * Inherit doc from IQueryEnvironment.
- **/
- virtual const IIndexEnvironment & getIndexEnvironment() const { return _queryEnv.getIndexEnvironment(); }
-
+ const Properties & getProperties() const override { return _queryEnv.getProperties(); }
+ const Location & getLocation() const override { return _queryEnv.getLocation(); }
+ const attribute::IAttributeContext & getAttributeContext() const override { return _queryEnv.getAttributeContext(); }
+ const IIndexEnvironment & getIndexEnvironment() const override { return _queryEnv.getIndexEnvironment(); }
void bind_match_data(const fef::MatchData &md) { _matchData = &md; }
};
diff --git a/searchlib/src/vespa/searchlib/fef/rank_program.cpp b/searchlib/src/vespa/searchlib/fef/rank_program.cpp
index df16396aa8a..16051e018d4 100644
--- a/searchlib/src/vespa/searchlib/fef/rank_program.cpp
+++ b/searchlib/src/vespa/searchlib/fef/rank_program.cpp
@@ -1,12 +1,7 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/fastos/fastos.h>
-#include <vespa/log/log.h>
-LOG_SETUP(".fef.rank_program");
#include "rank_program.h"
#include "featureoverrider.h"
-#include <algorithm>
-#include <set>
using vespalib::Stash;
@@ -40,8 +35,8 @@ struct OverrideVisitor : public IPropertiesVisitor
std::vector<Override> &overrides_out)
: feature_map(feature_map_in), overrides(overrides_out) {}
- virtual void visitProperty(const Property::Value & key,
- const Property & values)
+ void visitProperty(const Property::Value & key,
+ const Property & values) override
{
auto pos = feature_map.find(key);
if (pos != feature_map.end()) {
diff --git a/searchlib/src/vespa/searchlib/fef/ranksetup.cpp b/searchlib/src/vespa/searchlib/fef/ranksetup.cpp
index d3262a7d2d8..9d295f35cf5 100644
--- a/searchlib/src/vespa/searchlib/fef/ranksetup.cpp
+++ b/searchlib/src/vespa/searchlib/fef/ranksetup.cpp
@@ -14,7 +14,7 @@ class VisitorAdapter : public search::fef::IDumpFeatureVisitor
public:
VisitorAdapter(search::fef::BlueprintResolver &resolver)
: _resolver(resolver) {}
- virtual void visitDumpFeature(const vespalib::string &name) {
+ void visitDumpFeature(const vespalib::string &name) override {
_resolver.addSeed(name);
}
};
diff --git a/searchlib/src/vespa/searchlib/fef/simpletermfielddata.h b/searchlib/src/vespa/searchlib/fef/simpletermfielddata.h
index 190ae8e80d2..91e6e7a64bf 100644
--- a/searchlib/src/vespa/searchlib/fef/simpletermfielddata.h
+++ b/searchlib/src/vespa/searchlib/fef/simpletermfielddata.h
@@ -52,7 +52,7 @@ public:
*
* @return match handle
**/
- virtual TermFieldHandle getHandle() const {
+ TermFieldHandle getHandle() const override {
return _handle;
}
diff --git a/searchlib/src/vespa/searchlib/fef/tablemanager.h b/searchlib/src/vespa/searchlib/fef/tablemanager.h
index e69c05b1dce..e919ad0c7df 100644
--- a/searchlib/src/vespa/searchlib/fef/tablemanager.h
+++ b/searchlib/src/vespa/searchlib/fef/tablemanager.h
@@ -42,7 +42,7 @@ public:
* The first table that is successfully created is added it to the cache and returned.
* 3. Return NULL.
**/
- virtual const Table * getTable(const vespalib::string & name) const;
+ const Table * getTable(const vespalib::string & name) const override;
};
} // namespace fef
diff --git a/searchlib/src/vespa/searchlib/fef/test/ftlib.h b/searchlib/src/vespa/searchlib/fef/test/ftlib.h
index 245d8bb4998..a88edc56eab 100644
--- a/searchlib/src/vespa/searchlib/fef/test/ftlib.h
+++ b/searchlib/src/vespa/searchlib/fef/test/ftlib.h
@@ -1,18 +1,18 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
+#include "featuretest.h"
+#include "indexenvironment.h"
+#include "indexenvironmentbuilder.h"
+#include "matchdatabuilder.h"
+#include "queryenvironment.h"
+#include "queryenvironmentbuilder.h"
+#include "rankresult.h"
+#include <vespa/vespalib/testkit/testapp.h>
+#include <vespa/searchlib/common/feature.h>
#include <vespa/searchlib/query/weight.h>
#include <vespa/searchlib/features/fieldmatch/params.h>
#include <vespa/searchlib/fef/fef.h>
-#include <vespa/searchlib/fef/test/featuretest.h>
-#include <vespa/searchlib/fef/test/indexenvironment.h>
-#include <vespa/searchlib/fef/test/indexenvironmentbuilder.h>
-#include <vespa/searchlib/fef/test/matchdatabuilder.h>
-#include <vespa/searchlib/fef/test/queryenvironment.h>
-#include <vespa/searchlib/fef/test/queryenvironmentbuilder.h>
-#include <vespa/searchlib/fef/test/rankresult.h>
-#include <vespa/vespalib/testkit/testapp.h>
-#include <vespa/searchlib/common/feature.h>
using search::feature_t;
@@ -90,7 +90,7 @@ private:
public:
FtDumpFeatureVisitor();
- virtual void visitDumpFeature(const vespalib::string & name) { _features.push_back(name); }
+ void visitDumpFeature(const vespalib::string & name) override { _features.push_back(name); }
const std::vector<vespalib::string> & features() const { return _features; }
};
diff --git a/searchlib/src/vespa/searchlib/fef/test/plugin/cfgvalue.h b/searchlib/src/vespa/searchlib/fef/test/plugin/cfgvalue.h
index 35ab0523076..0ef5a03df3c 100644
--- a/searchlib/src/vespa/searchlib/fef/test/plugin/cfgvalue.h
+++ b/searchlib/src/vespa/searchlib/fef/test/plugin/cfgvalue.h
@@ -2,8 +2,6 @@
#pragma once
-#include <string>
-#include <vector>
#include <vespa/searchlib/features/valuefeature.h>
#include <vespa/searchlib/fef/blueprint.h>
#include <vespa/searchlib/fef/featureexecutor.h>
@@ -19,13 +17,12 @@ private:
public:
CfgValueBlueprint();
- virtual void visitDumpFeatures(const IIndexEnvironment & indexEnv, IDumpFeatureVisitor & visitor) const;
- virtual Blueprint::UP createInstance() const { return Blueprint::UP(new CfgValueBlueprint()); }
- virtual bool setup(const IIndexEnvironment & indexEnv, const StringVector & params);
- virtual FeatureExecutor &createExecutor(const IQueryEnvironment & queryEnv, vespalib::Stash &stash) const override;
+ void visitDumpFeatures(const IIndexEnvironment & indexEnv, IDumpFeatureVisitor & visitor) const override;
+ Blueprint::UP createInstance() const override { return Blueprint::UP(new CfgValueBlueprint()); }
+ bool setup(const IIndexEnvironment & indexEnv, const StringVector & params) override;
+ FeatureExecutor &createExecutor(const IQueryEnvironment & queryEnv, vespalib::Stash &stash) const override;
};
} // namespace test
} // namespace fef
} // namespace search
-
diff --git a/searchlib/src/vespa/searchlib/fef/test/plugin/chain.h b/searchlib/src/vespa/searchlib/fef/test/plugin/chain.h
index 6d73d37b8d6..52bfb7c3768 100644
--- a/searchlib/src/vespa/searchlib/fef/test/plugin/chain.h
+++ b/searchlib/src/vespa/searchlib/fef/test/plugin/chain.h
@@ -2,8 +2,6 @@
#pragma once
-#include <string>
-#include <vector>
#include <vespa/searchlib/fef/blueprint.h>
#include <vespa/searchlib/fef/featureexecutor.h>
@@ -15,7 +13,7 @@ class ChainExecutor : public FeatureExecutor
{
public:
ChainExecutor();
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
@@ -23,10 +21,10 @@ class ChainBlueprint : public Blueprint
{
public:
ChainBlueprint();
- virtual void visitDumpFeatures(const IIndexEnvironment &, IDumpFeatureVisitor &) const {}
- virtual Blueprint::UP createInstance() const { return Blueprint::UP(new ChainBlueprint()); }
- virtual bool setup(const IIndexEnvironment & indexEnv, const StringVector & params);
- virtual FeatureExecutor &createExecutor(const IQueryEnvironment & queryEnv, vespalib::Stash &stash) const;
+ void visitDumpFeatures(const IIndexEnvironment &, IDumpFeatureVisitor &) const override {}
+ Blueprint::UP createInstance() const override { return Blueprint::UP(new ChainBlueprint()); }
+ bool setup(const IIndexEnvironment & indexEnv, const StringVector & params) override;
+ FeatureExecutor &createExecutor(const IQueryEnvironment & queryEnv, vespalib::Stash &stash) const override;
};
} // namespace test
diff --git a/searchlib/src/vespa/searchlib/fef/test/plugin/double.h b/searchlib/src/vespa/searchlib/fef/test/plugin/double.h
index 460581a9d92..9a0c1fac6e1 100644
--- a/searchlib/src/vespa/searchlib/fef/test/plugin/double.h
+++ b/searchlib/src/vespa/searchlib/fef/test/plugin/double.h
@@ -2,8 +2,6 @@
#pragma once
-#include <string>
-#include <vector>
#include <vespa/searchlib/fef/blueprint.h>
#include <vespa/searchlib/fef/featureexecutor.h>
@@ -17,7 +15,7 @@ private:
size_t _cnt;
public:
DoubleExecutor(size_t cnt) : _cnt(cnt) {}
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
@@ -27,10 +25,10 @@ private:
size_t _cnt;
public:
DoubleBlueprint();
- virtual void visitDumpFeatures(const IIndexEnvironment & indexEnv, IDumpFeatureVisitor & visitor) const;
- virtual Blueprint::UP createInstance() const { return Blueprint::UP(new DoubleBlueprint()); }
- virtual bool setup(const IIndexEnvironment & indexEnv, const StringVector & params);
- virtual FeatureExecutor &createExecutor(const IQueryEnvironment &queryEnv, vespalib::Stash &stash) const override;
+ void visitDumpFeatures(const IIndexEnvironment & indexEnv, IDumpFeatureVisitor & visitor) const override;
+ Blueprint::UP createInstance() const override { return Blueprint::UP(new DoubleBlueprint()); }
+ bool setup(const IIndexEnvironment & indexEnv, const StringVector & params) override;
+ FeatureExecutor &createExecutor(const IQueryEnvironment &queryEnv, vespalib::Stash &stash) const override;
};
} // namespace test
diff --git a/searchlib/src/vespa/searchlib/fef/test/plugin/query.h b/searchlib/src/vespa/searchlib/fef/test/plugin/query.h
index 23f9392d2f8..e533901b73f 100644
--- a/searchlib/src/vespa/searchlib/fef/test/plugin/query.h
+++ b/searchlib/src/vespa/searchlib/fef/test/plugin/query.h
@@ -2,8 +2,6 @@
#pragma once
-#include <string>
-#include <vector>
#include <vespa/searchlib/fef/blueprint.h>
#include <vespa/searchlib/fef/featureexecutor.h>
@@ -18,10 +16,10 @@ private:
public:
QueryBlueprint();
- virtual void visitDumpFeatures(const IIndexEnvironment &, IDumpFeatureVisitor &) const {};
- virtual Blueprint::UP createInstance() const { return Blueprint::UP(new QueryBlueprint()); }
- virtual bool setup(const IIndexEnvironment &indexEnv, const StringVector &params);
- virtual FeatureExecutor &createExecutor(const IQueryEnvironment &queryEnv, vespalib::Stash &stash) const override;
+ void visitDumpFeatures(const IIndexEnvironment &, IDumpFeatureVisitor &) const override {}
+ Blueprint::UP createInstance() const override { return Blueprint::UP(new QueryBlueprint()); }
+ bool setup(const IIndexEnvironment &indexEnv, const StringVector &params) override;
+ FeatureExecutor &createExecutor(const IQueryEnvironment &queryEnv, vespalib::Stash &stash) const override;
};
} // namespace test
diff --git a/searchlib/src/vespa/searchlib/fef/test/plugin/staticrank.h b/searchlib/src/vespa/searchlib/fef/test/plugin/staticrank.h
index 38f931caa6b..64503980ecc 100644
--- a/searchlib/src/vespa/searchlib/fef/test/plugin/staticrank.h
+++ b/searchlib/src/vespa/searchlib/fef/test/plugin/staticrank.h
@@ -2,8 +2,6 @@
#pragma once
-#include <string>
-#include <vector>
#include <vespa/searchlib/fef/blueprint.h>
#include <vespa/searchlib/fef/featureexecutor.h>
@@ -18,7 +16,7 @@ private:
public:
StaticRankExecutor(const search::attribute::IAttributeVector * attribute);
- virtual void execute(uint32_t docId);
+ void execute(uint32_t docId) override;
};
@@ -29,10 +27,10 @@ private:
public:
StaticRankBlueprint();
- virtual void visitDumpFeatures(const IIndexEnvironment &, IDumpFeatureVisitor &) const {}
- virtual Blueprint::UP createInstance() const { return Blueprint::UP(new StaticRankBlueprint()); }
- virtual bool setup(const IIndexEnvironment & indexEnv, const StringVector & params);
- virtual FeatureExecutor &createExecutor(const IQueryEnvironment &queryEnv, vespalib::Stash &stash) const override;
+ void visitDumpFeatures(const IIndexEnvironment &, IDumpFeatureVisitor &) const override {}
+ Blueprint::UP createInstance() const override { return Blueprint::UP(new StaticRankBlueprint()); }
+ bool setup(const IIndexEnvironment & indexEnv, const StringVector & params) override;
+ FeatureExecutor &createExecutor(const IQueryEnvironment &queryEnv, vespalib::Stash &stash) const override;
};
} // namespace test
diff --git a/searchlib/src/vespa/searchlib/fef/test/plugin/sum.h b/searchlib/src/vespa/searchlib/fef/test/plugin/sum.h
index fecc168238e..37e56f9fe87 100644
--- a/searchlib/src/vespa/searchlib/fef/test/plugin/sum.h
+++ b/searchlib/src/vespa/searchlib/fef/test/plugin/sum.h
@@ -2,8 +2,6 @@
#pragma once
-#include <string>
-#include <vector>
#include <vespa/searchlib/fef/blueprint.h>
#include <vespa/searchlib/fef/featureexecutor.h>
@@ -14,8 +12,8 @@ namespace test {
class SumExecutor : public FeatureExecutor
{
public:
- virtual bool isPure() { return true; }
- virtual void execute(uint32_t docId);
+ bool isPure() override { return true; }
+ void execute(uint32_t docId) override;
};
@@ -23,10 +21,10 @@ class SumBlueprint : public Blueprint
{
public:
SumBlueprint();
- virtual void visitDumpFeatures(const IIndexEnvironment & indexEnv, IDumpFeatureVisitor & visitor) const;
- virtual Blueprint::UP createInstance() const { return Blueprint::UP(new SumBlueprint()); }
- virtual bool setup(const IIndexEnvironment & indexEnv, const StringVector & params);
- virtual FeatureExecutor &createExecutor(const IQueryEnvironment & queryEnv, vespalib::Stash &stash) const override;
+ void visitDumpFeatures(const IIndexEnvironment & indexEnv, IDumpFeatureVisitor & visitor) const override;
+ Blueprint::UP createInstance() const override { return Blueprint::UP(new SumBlueprint()); }
+ bool setup(const IIndexEnvironment & indexEnv, const StringVector & params) override;
+ FeatureExecutor &createExecutor(const IQueryEnvironment & queryEnv, vespalib::Stash &stash) const override;
};
} // namespace test
diff --git a/searchlib/src/vespa/searchlib/fef/test/queryenvironment.h b/searchlib/src/vespa/searchlib/fef/test/queryenvironment.h
index 6c797dc5934..5cd37e9df9a 100644
--- a/searchlib/src/vespa/searchlib/fef/test/queryenvironment.h
+++ b/searchlib/src/vespa/searchlib/fef/test/queryenvironment.h
@@ -1,11 +1,11 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
+#include "indexenvironment.h"
#include <vespa/searchcommon/attribute/iattributecontext.h>
#include <vespa/searchlib/fef/iqueryenvironment.h>
#include <vespa/searchlib/fef/location.h>
#include <vespa/searchlib/fef/simpletermdata.h>
-#include "indexenvironment.h"
namespace search {
namespace fef {
@@ -35,23 +35,12 @@ public:
QueryEnvironment(IndexEnvironment *indexEnv = NULL);
~QueryEnvironment();
- // Inherit doc from IQueryEnvironment.
- virtual const Properties &getProperties() const { return _properties; }
-
- // Inherit doc from IQueryEnvironment.
- virtual uint32_t getNumTerms() const { return _terms.size(); }
-
- // Inherit doc from IQueryEnvironment.
- virtual const ITermData *getTerm(uint32_t idx) const { return idx < _terms.size() ? &_terms[idx] : NULL; }
-
- // Inherit doc from IQueryEnvironment.
- virtual const Location & getLocation() const { return _location; }
-
- // Inherit doc from IQueryEnvironment.
- virtual const search::attribute::IAttributeContext &getAttributeContext() const { return *_attrCtx; }
-
- // Inherit doc from IQueryEnvironment.
- virtual const IIndexEnvironment &getIndexEnvironment() const { assert(_indexEnv != NULL); return *_indexEnv; }
+ const Properties &getProperties() const override { return _properties; }
+ uint32_t getNumTerms() const override { return _terms.size(); }
+ const ITermData *getTerm(uint32_t idx) const override { return idx < _terms.size() ? &_terms[idx] : NULL; }
+ const Location & getLocation() const override { return _location; }
+ const search::attribute::IAttributeContext &getAttributeContext() const override { return *_attrCtx; }
+ const IIndexEnvironment &getIndexEnvironment() const override { assert(_indexEnv != NULL); return *_indexEnv; }
/** Returns a reference to the index environment of this. */
IndexEnvironment *getIndexEnv() { return _indexEnv; }
diff --git a/searchlib/src/vespa/searchlib/index/dictionaryfile.cpp b/searchlib/src/vespa/searchlib/index/dictionaryfile.cpp
index 9915e2c56e1..6b6e354d4ab 100644
--- a/searchlib/src/vespa/searchlib/index/dictionaryfile.cpp
+++ b/searchlib/src/vespa/searchlib/index/dictionaryfile.cpp
@@ -1,34 +1,29 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/fastos/fastos.h>
-#include <vespa/log/log.h>
-LOG_SETUP(".index.dictionaryfile");
#include "dictionaryfile.h"
+#include <vespa/fastos/file.h>
-namespace search
-{
-
-namespace index
-{
+namespace search {
+namespace index {
-DictionaryFileSeqRead::~DictionaryFileSeqRead(void)
+DictionaryFileSeqRead::~DictionaryFileSeqRead()
{
}
-DictionaryFileSeqWrite::~DictionaryFileSeqWrite(void)
+DictionaryFileSeqWrite::~DictionaryFileSeqWrite()
{
}
-DictionaryFileRandRead::DictionaryFileRandRead(void)
+DictionaryFileRandRead::DictionaryFileRandRead()
: _memoryMapped(false)
{
}
-DictionaryFileRandRead::~DictionaryFileRandRead(void)
+DictionaryFileRandRead::~DictionaryFileRandRead()
{
}
diff --git a/searchlib/src/vespa/searchlib/index/dictionaryfile.h b/searchlib/src/vespa/searchlib/index/dictionaryfile.h
index b89fefce354..846a0f3b461 100644
--- a/searchlib/src/vespa/searchlib/index/dictionaryfile.h
+++ b/searchlib/src/vespa/searchlib/index/dictionaryfile.h
@@ -21,7 +21,7 @@ class DictionaryFileSeqRead : public PostingListCountFileSeqRead
{
public:
DictionaryFileSeqRead() { }
- virtual ~DictionaryFileSeqRead();
+ ~DictionaryFileSeqRead();
/**
* Read word and counts. Only nonzero counts are returned. If at
@@ -29,11 +29,6 @@ public:
*/
virtual void readWord(vespalib::string &word, uint64_t &wordNum, PostingListCounts &counts) = 0;
- /**
- * Open dictionary file for sequential read.
- */
- virtual bool open(const vespalib::string &name, const TuneFileSeqRead &tuneFileRead) = 0;
-
static uint64_t noWordNum() { return 0u; }
static uint64_t noWordNumHigh() {
@@ -49,7 +44,7 @@ class DictionaryFileSeqWrite : public PostingListCountFileSeqWrite
protected:
public:
DictionaryFileSeqWrite() { }
- virtual ~DictionaryFileSeqWrite();
+ ~DictionaryFileSeqWrite();
/**
* Write word and counts. Only nonzero counts should be supplied.
@@ -93,4 +88,3 @@ protected:
} // namespace index
} // namespace search
-
diff --git a/searchlib/src/vespa/searchlib/index/docbuilder.h b/searchlib/src/vespa/searchlib/index/docbuilder.h
index 8bb5f08d722..5b82725daf9 100644
--- a/searchlib/src/vespa/searchlib/index/docbuilder.h
+++ b/searchlib/src/vespa/searchlib/index/docbuilder.h
@@ -46,69 +46,48 @@ private:
virtual void endElement() { throw Error("Function not supported"); }
virtual void addStr(const vespalib::string & val) { (void) val; throw Error("Function not supported"); }
- virtual void
- addSpace(void)
- {
+ virtual void addSpace() {
throw Error("Function not supported");
}
- virtual void
- addNoWordStr(const vespalib::string & val)
- {
+ virtual void addNoWordStr(const vespalib::string & val) {
(void) val;
throw Error("Function not supported");
}
- virtual void
- addTokenizedString(const vespalib::string &val,
- bool urlMode)
- {
+ virtual void addTokenizedString(const vespalib::string &val, bool urlMode) {
(void) val;
(void) urlMode;
throw Error("Function not supported");
}
- virtual void
- addSpan(size_t start, size_t len)
- {
+ virtual void addSpan(size_t start, size_t len) {
(void) start;
(void) len;
throw Error("Function not supported");
}
- virtual void
- addSpan(void)
- {
+ virtual void addSpan() {
throw Error("Function not supported");
}
- virtual void
- addSpaceTokenAnnotation(void)
- {
+ virtual void addSpaceTokenAnnotation() {
throw Error("Function not supported");
}
- virtual void
- addNumericTokenAnnotation(void)
- {
+ virtual void addNumericTokenAnnotation() {
throw Error("Function not supported");
}
- virtual void
- addAlphabeticTokenAnnotation(void)
- {
+ virtual void addAlphabeticTokenAnnotation() {
throw Error("Function not supported");
}
- virtual void
- addTermAnnotation(void)
- {
+ virtual void addTermAnnotation() {
throw Error("Function not supported");
}
- virtual void
- addTermAnnotation(const vespalib::string &val)
- {
+ virtual void addTermAnnotation(const vespalib::string &val) {
(void) val;
throw Error("Function not supported");
}
@@ -124,56 +103,37 @@ private:
const document::FieldValue::UP & getValue() const { return _value; }
const Schema::Field & getField() const { return _sfield; }
- virtual void
- onEndElement(void)
- {
- }
-
- virtual void
- onEndField(void)
- {
- }
+ virtual void onEndElement() {}
+ virtual void onEndField() {}
- virtual void
- setAutoAnnotate(bool autoAnnotate)
- {
+ virtual void setAutoAnnotate(bool autoAnnotate) {
(void) autoAnnotate;
throw Error("Function not supported");
}
- virtual void
- setAutoSpace(bool autoSpace)
- {
+ virtual void setAutoSpace(bool autoSpace) {
(void) autoSpace;
throw Error("Function not supported");
}
- virtual void
- addPosition(int32_t xpos, int32_t ypos)
- {
+ virtual void addPosition(int32_t xpos, int32_t ypos) {
(void) xpos;
(void) ypos;
throw Error("Function not supported");
}
- virtual void
- addRaw(const void *buf, size_t len)
- {
+ virtual void addRaw(const void *buf, size_t len) {
(void) buf;
(void) len;
throw Error("Function not supported");
}
- virtual void
- startSubField(const vespalib::string &subField)
- {
+ virtual void startSubField(const vespalib::string &subField) {
(void) subField;
throw Error("Function not supported");
}
- virtual void
- endSubField(void)
- {
+ virtual void endSubField() {
throw Error("Function not supported");
}
};
@@ -186,8 +146,8 @@ private:
int32_t _elementWeight;
public:
CollectionFieldHandle(const document::Field & dfield, const Schema::Field & sfield);
- virtual void startElement(int32_t weight);
- virtual void endElement();
+ void startElement(int32_t weight) override;
+ void endElement() override;
};
/**
@@ -208,67 +168,31 @@ private:
vespalib::string _subField;
const document::FixedTypeRepo & _repo;
- void
- append(const vespalib::string &val);
+ void append(const vespalib::string &val);
public:
IndexFieldHandle(const document::FixedTypeRepo & repo,
const document::Field &dfield,
const Schema::Field &sfield);
- virtual void addStr(const vespalib::string & val);
-
- virtual void
- addSpace(void);
-
- virtual void
- addNoWordStr(const vespalib::string & val);
-
- void
- addTokenizedString(const vespalib::string &val,
- bool urlMode);
-
- virtual void
- addSpan(size_t start, size_t len);
-
- virtual void
- addSpan(void);
-
- virtual void
- addSpaceTokenAnnotation(void);
-
- virtual void
- addNumericTokenAnnotation(void);
-
- virtual void
- addAlphabeticTokenAnnotation(void);
-
- virtual void
- addTermAnnotation(void);
-
- virtual void
- addTermAnnotation(const vespalib::string &val);
-
- virtual void
- onEndElement(void);
-
- virtual void
- onEndField(void);
-
- void
- startAnnotate(void);
-
- virtual void
- setAutoAnnotate(bool autoAnnotate);
-
- virtual void
- setAutoSpace(bool autoSpace);
-
- virtual void
- startSubField(const vespalib::string &subField);
-
- virtual void
- endSubField(void);
+ void addStr(const vespalib::string & val) override;
+ void addSpace() override;
+ void addNoWordStr(const vespalib::string & val) override;
+ void addTokenizedString(const vespalib::string &val, bool urlMode) override;
+ void addSpan(size_t start, size_t len) override;
+ void addSpan() override;
+ void addSpaceTokenAnnotation() override;
+ void addNumericTokenAnnotation() override;
+ void addAlphabeticTokenAnnotation() override;
+ void addTermAnnotation() override;
+ void addTermAnnotation(const vespalib::string &val) override;
+ void onEndElement() override;
+ void onEndField() override;
+ void startAnnotate();
+ void setAutoAnnotate(bool autoAnnotate) override;
+ void setAutoSpace(bool autoSpace) override;
+ void startSubField(const vespalib::string &subField) override;
+ void endSubField() override;
};
/**
@@ -278,15 +202,12 @@ private:
{
public:
AttributeFieldHandle(const document::Field & dfield, const Schema::Field & sfield);
- virtual void addStr(const vespalib::string & val);
- virtual void addInt(int64_t val);
- virtual void addFloat(double val);
- virtual void addPredicate(std::unique_ptr<vespalib::Slime> val);
- virtual void addTensor(std::unique_ptr<vespalib::tensor::Tensor> val)
- override;
-
- virtual void
- addPosition(int32_t xpos, int32_t ypos);
+ void addStr(const vespalib::string & val) override;
+ void addInt(int64_t val) override;
+ void addFloat(double val) override;
+ void addPredicate(std::unique_ptr<vespalib::Slime> val) override;
+ void addTensor(std::unique_ptr<vespalib::tensor::Tensor> val) override;
+ void addPosition(int32_t xpos, int32_t ypos) override;
};
/**
@@ -295,12 +216,10 @@ private:
class SummaryFieldHandle : public CollectionFieldHandle {
public:
SummaryFieldHandle(const document::Field & dfield, const Schema::Field & sfield);
- virtual void addStr(const vespalib::string & val);
- virtual void addInt(int64_t val);
- virtual void addFloat(double val);
-
- virtual void
- addRaw(const void *buf, size_t len);
+ void addStr(const vespalib::string & val) override;
+ void addInt(int64_t val) override;
+ void addFloat(double val) override;
+ void addRaw(const void *buf, size_t len) override;
};
/**
@@ -326,9 +245,7 @@ private:
void startSummaryField(const Schema::Field & sfield) {
_fieldHandle.reset(new SummaryFieldHandle(_type->getField(sfield.getName()), sfield));
}
- void
- endField()
- {
+ void endField() {
_fieldHandle->onEndField();
_doc->setValue(_type->getField(_fieldHandle->getField().getName()), *_fieldHandle->getValue());
_fieldHandle.reset(static_cast<FieldHandle *>(NULL));
@@ -357,76 +274,36 @@ public:
DocBuilder & startAttributeField(const vespalib::string & name);
DocBuilder & startSummaryField(const vespalib::string & name);
DocBuilder & endField();
-
DocBuilder & startElement(int32_t weight = 1);
DocBuilder & endElement();
-
DocBuilder & addStr(const vespalib::string & val);
- DocBuilder & addSpace(void);
+ DocBuilder & addSpace();
DocBuilder & addNoWordStr(const vespalib::string & val);
DocBuilder & addInt(int64_t val);
DocBuilder & addFloat(double val);
DocBuilder & addPredicate(std::unique_ptr<vespalib::Slime> val);
DocBuilder & addTensor(std::unique_ptr<vespalib::tensor::Tensor> val);
-
- DocBuilder &
- addTokenizedString(const vespalib::string &val);
-
- DocBuilder &
- addUrlTokenizedString(const vespalib::string &val);
-
- DocBuilder &
- addSpan(size_t start, size_t len);
-
- DocBuilder &
- addSpan(void);
-
- DocBuilder &
- addSpaceTokenAnnotation(void);
-
- DocBuilder &
- addNumericTokenAnnotation(void);
-
- DocBuilder &
- addAlphabeticTokenAnnotation(void);
-
- DocBuilder&
- addTermAnnotation(void);
-
- DocBuilder &
- addTermAnnotation(const vespalib::string &val);
-
- DocBuilder &
- setAutoAnnotate(bool autoAnnotate);
-
- DocBuilder &
- setAutoSpace(bool autoSpace);
-
- DocBuilder &
- addPosition(int32_t xpos, int32_t ypos);
-
- DocBuilder &
- addRaw(const void *buf, size_t len);
-
- DocBuilder &
- startSubField(const vespalib::string &subField);
-
- DocBuilder &
- endSubField(void);
-
- static bool
- hasAnnotations(void)
- {
- return true;
- }
+ DocBuilder &addTokenizedString(const vespalib::string &val);
+ DocBuilder &addUrlTokenizedString(const vespalib::string &val);
+ DocBuilder &addSpan(size_t start, size_t len);
+ DocBuilder &addSpan();
+ DocBuilder &addSpaceTokenAnnotation();
+ DocBuilder &addNumericTokenAnnotation();
+ DocBuilder &addAlphabeticTokenAnnotation();
+ DocBuilder &addTermAnnotation();
+ DocBuilder &addTermAnnotation(const vespalib::string &val);
+ DocBuilder &setAutoAnnotate(bool autoAnnotate);
+ DocBuilder &setAutoSpace(bool autoSpace);
+ DocBuilder &addPosition(int32_t xpos, int32_t ypos);
+ DocBuilder &addRaw(const void *buf, size_t len);
+ DocBuilder &startSubField(const vespalib::string &subField);
+ DocBuilder &endSubField();
+ static bool hasAnnotations() { return true; }
const document::DocumentType &getDocumentType() const { return _docType; }
- const document::DocumentTypeRepo::SP &getDocumentTypeRepo() const
- { return _repo; }
- document::DocumenttypesConfig getDocumenttypesConfig() const
- { return _doctypes_config; }
+ const document::DocumentTypeRepo::SP &getDocumentTypeRepo() const { return _repo; }
+ document::DocumenttypesConfig getDocumenttypesConfig() const { return _doctypes_config; }
};
} // namespace search::index
} // namespace search
-
diff --git a/searchlib/src/vespa/searchlib/index/dummyfileheadercontext.h b/searchlib/src/vespa/searchlib/index/dummyfileheadercontext.h
index c7270dcf61e..8e659f90d4a 100644
--- a/searchlib/src/vespa/searchlib/index/dummyfileheadercontext.h
+++ b/searchlib/src/vespa/searchlib/index/dummyfileheadercontext.h
@@ -3,18 +3,10 @@
#include <vespa/searchlib/common/fileheadercontext.h>
-namespace vespalib
-{
-
-class GenericHeader;
-
-}
+namespace vespalib { class GenericHeader; }
-namespace search
-{
-
-namespace index
-{
+namespace search {
+namespace index {
class DummyFileHeaderContext : public common::FileHeaderContext
{
@@ -24,24 +16,13 @@ class DummyFileHeaderContext : public common::FileHeaderContext
static vespalib::string _creator;
public:
- DummyFileHeaderContext(void);
-
- virtual
- ~DummyFileHeaderContext(void);
-
- void
- disableFileName(void);
-
- virtual void
- addTags(vespalib::GenericHeader &header,
- const vespalib::string &name) const;
-
- static void
- setCreator(const vespalib::string &creator);
+ DummyFileHeaderContext();
+ ~DummyFileHeaderContext();
+ void disableFileName();
+ void addTags(vespalib::GenericHeader &header, const vespalib::string &name) const override;
+ static void setCreator(const vespalib::string &creator);
};
-
} // namespace index
} // namespace search
-
diff --git a/searchlib/src/vespa/searchlib/index/postinglistcountfile.h b/searchlib/src/vespa/searchlib/index/postinglistcountfile.h
index f9b1c66bf9c..217bb10b214 100644
--- a/searchlib/src/vespa/searchlib/index/postinglistcountfile.h
+++ b/searchlib/src/vespa/searchlib/index/postinglistcountfile.h
@@ -1,30 +1,17 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <vespa/searchlib/index/postinglistparams.h>
+#include "postinglistparams.h"
#include "postinglistcounts.h"
#include <vespa/searchlib/common/tunefileinfo.h>
-#include <string>
-namespace vespalib
-{
-
-class nbostream;
-
-}
-
-namespace search
-{
-
-namespace common
-{
+namespace vespalib { class nbostream; }
-class FileHeaderContext;
+namespace search {
-}
+namespace common { class FileHeaderContext; }
-namespace index
-{
+namespace index {
class PostingListCounts;
class PostingListHandle;
@@ -42,10 +29,9 @@ class PostingListHandle;
class PostingListCountFileSeqRead
{
public:
- PostingListCountFileSeqRead(void);
+ PostingListCountFileSeqRead();
- virtual
- ~PostingListCountFileSeqRead(void);
+ virtual ~PostingListCountFileSeqRead();
/**
* Checkpoint write. Used at semi-regular intervals during indexing
@@ -53,43 +39,36 @@ public:
* flush from memory to disk, and possibly also sync to permanent
* storage media.
*/
- virtual void
- checkPointWrite(vespalib::nbostream &out) = 0;
+ virtual void checkPointWrite(vespalib::nbostream &out) = 0;
/**
* Checkpoint read. Used when resuming indexing after an interrupt.
*/
- virtual void
- checkPointRead(vespalib::nbostream &in) = 0;
+ virtual void checkPointRead(vespalib::nbostream &in) = 0;
/**
* Open posting list count file for sequential read.
*/
- virtual bool
- open(const vespalib::string &name,
- const TuneFileSeqRead &tuneFileRead) = 0;
+ virtual bool open(const vespalib::string &name, const TuneFileSeqRead &tuneFileRead) = 0;
/**
* Close posting list count file.
*/
- virtual bool
- close(void) = 0;
+ virtual bool close() = 0;
/*
* Get current parameters.
*/
- virtual void
- getParams(PostingListParams &params);
+ virtual void getParams(PostingListParams &params);
};
class PostingListCountFileSeqWrite
{
public:
- PostingListCountFileSeqWrite(void);
+ PostingListCountFileSeqWrite();
- virtual
- ~PostingListCountFileSeqWrite(void);
+ virtual ~PostingListCountFileSeqWrite();
/**
* Checkpoint write. Used at semi-regular intervals during indexing
@@ -97,40 +76,34 @@ public:
* flush from memory to disk, and possibly also sync to permanent
* storage media.
*/
- virtual void
- checkPointWrite(vespalib::nbostream &out) = 0;
+ virtual void checkPointWrite(vespalib::nbostream &out) = 0;
/**
* Checkpoint read. Used when resuming indexing after an interrupt.
*/
- virtual void
- checkPointRead(vespalib::nbostream &in) = 0;
+ virtual void checkPointRead(vespalib::nbostream &in) = 0;
/**
* Open posting list count file for sequential write.
*/
- virtual bool
- open(const vespalib::string &name,
- const TuneFileSeqWrite &tuneFileWrite,
- const common::FileHeaderContext &fileHeaderContext) = 0;
+ virtual bool open(const vespalib::string &name,
+ const TuneFileSeqWrite &tuneFileWrite,
+ const common::FileHeaderContext &fileHeaderContext) = 0;
/**
* Close posting list count file.
*/
- virtual bool
- close(void) = 0;
+ virtual bool close() = 0;
/*
* Set parameters.
*/
- virtual void
- setParams(const PostingListParams &params);
+ virtual void setParams(const PostingListParams &params);
/*
* Get current parameters.
*/
- virtual void
- getParams(PostingListParams &params);
+ virtual void getParams(PostingListParams &params);
};
diff --git a/searchlib/src/vespa/searchlib/index/postinglistfile.h b/searchlib/src/vespa/searchlib/index/postinglistfile.h
index bcf5427a386..1fe82277de7 100644
--- a/searchlib/src/vespa/searchlib/index/postinglistfile.h
+++ b/searchlib/src/vespa/searchlib/index/postinglistfile.h
@@ -1,9 +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 <vespa/searchlib/index/postinglistcounts.h>
-#include <vespa/searchlib/index/postinglisthandle.h>
-#include <vespa/searchlib/index/postinglistparams.h>
+#include "postinglistcounts.h"
+#include "postinglisthandle.h"
+#include "postinglistparams.h"
#include <vespa/searchlib/common/tunefileinfo.h>
class FastOS_FileInterface;
@@ -251,23 +251,19 @@ protected:
public:
PostingListFileRandReadPassThrough(PostingListFileRandRead *lower, bool ownLower);
- virtual~PostingListFileRandReadPassThrough();
+ ~PostingListFileRandReadPassThrough();
- virtual search::queryeval::SearchIterator *
+ search::queryeval::SearchIterator *
createIterator(const PostingListCounts &counts,
const PostingListHandle &handle,
const search::fef::TermFieldMatchDataArray &matchData,
- bool usebitVector) const;
-
- virtual void
- readPostingList(const PostingListCounts &counts,
- uint32_t firstSegment,
- uint32_t numSegments,
- PostingListHandle &handle);
+ bool usebitVector) const override;
- virtual bool open(const vespalib::string &name, const TuneFileRandRead &tuneFileRead);
+ void readPostingList(const PostingListCounts &counts, uint32_t firstSegment,
+ uint32_t numSegments, PostingListHandle &handle) override;
- virtual bool close();
+ bool open(const vespalib::string &name, const TuneFileRandRead &tuneFileRead) override;
+ bool close() override;
};
diff --git a/searchlib/src/vespa/searchlib/memoryindex/memoryindex.cpp b/searchlib/src/vespa/searchlib/memoryindex/memoryindex.cpp
index 616c2b7631a..34021ebeab6 100644
--- a/searchlib/src/vespa/searchlib/memoryindex/memoryindex.cpp
+++ b/searchlib/src/vespa/searchlib/memoryindex/memoryindex.cpp
@@ -166,9 +166,8 @@ public:
setEstimate(estimate);
}
- virtual SearchIterator::UP
- createLeafSearch(const TermFieldMatchDataArray &tfmda, bool) const
- {
+ SearchIterator::UP
+ createLeafSearch(const TermFieldMatchDataArray &tfmda, bool) const override {
SearchIterator::UP search(new PostingIterator(_pitr, _featureStore, _fieldId, tfmda));
if (_useBitVector) {
LOG(debug, "Return BooleanMatchIteratorWrapper: fieldId(%u), docCount(%zu)",
@@ -218,16 +217,16 @@ public:
_field, _fieldId, useBitVector)));
}
- virtual void visit(LocationTerm &n) { visitTerm(n); }
- virtual void visit(PrefixTerm &n) { visitTerm(n); }
- virtual void visit(RangeTerm &n) { visitTerm(n); }
- virtual void visit(StringTerm &n) { visitTerm(n); }
- virtual void visit(SubstringTerm &n) { visitTerm(n); }
- virtual void visit(SuffixTerm &n) { visitTerm(n); }
- virtual void visit(RegExpTerm &n) { visitTerm(n); }
- virtual void visit(PredicateQuery &) { }
+ void visit(LocationTerm &n) override { visitTerm(n); }
+ void visit(PrefixTerm &n) override { visitTerm(n); }
+ void visit(RangeTerm &n) override { visitTerm(n); }
+ void visit(StringTerm &n) override { visitTerm(n); }
+ void visit(SubstringTerm &n) override { visitTerm(n); }
+ void visit(SuffixTerm &n) override { visitTerm(n); }
+ void visit(RegExpTerm &n) override { visitTerm(n); }
+ void visit(PredicateQuery &) override { }
- virtual void visit(NumberTerm &n) {
+ void visit(NumberTerm &n) override {
handleNumberTermAsText(n);
}
diff --git a/searchlib/src/vespa/searchlib/memoryindex/memoryindex.h b/searchlib/src/vespa/searchlib/memoryindex/memoryindex.h
index 8f1b4896fb6..10ab298bd80 100644
--- a/searchlib/src/vespa/searchlib/memoryindex/memoryindex.h
+++ b/searchlib/src/vespa/searchlib/memoryindex/memoryindex.h
@@ -137,15 +137,15 @@ public:
void dump(index::IndexBuilder &indexBuilder);
// implements Searchable
- virtual queryeval::Blueprint::UP
+ queryeval::Blueprint::UP
createBlueprint(const queryeval::IRequestContext & requestContext,
const queryeval::FieldSpec &field,
- const query::Node &term);
+ const query::Node &term) override;
- virtual queryeval::Blueprint::UP
+ queryeval::Blueprint::UP
createBlueprint(const queryeval::IRequestContext & requestContext,
const queryeval::FieldSpecList &fields,
- const query::Node &term) {
+ const query::Node &term) override {
return queryeval::Searchable::createBlueprint(requestContext, fields, term);
}
diff --git a/searchlib/src/vespa/searchlib/predicate/predicate_index.cpp b/searchlib/src/vespa/searchlib/predicate/predicate_index.cpp
index ef7bde8ac87..60d4e6f9846 100644
--- a/searchlib/src/vespa/searchlib/predicate/predicate_index.cpp
+++ b/searchlib/src/vespa/searchlib/predicate/predicate_index.cpp
@@ -55,8 +55,7 @@ class IntervalSerializer : public PostingSerializer<EntryRef> {
const PredicateIntervalStore &_store;
public:
IntervalSerializer(const PredicateIntervalStore &store) : _store(store) {}
- virtual void serialize(const EntryRef &ref,
- vespalib::DataBuffer &buffer) const {
+ void serialize(const EntryRef &ref, vespalib::DataBuffer &buffer) const override {
uint32_t size;
IntervalT single_buf;
const IntervalT *interval = _store.get(ref, size, &single_buf);
@@ -74,7 +73,7 @@ class IntervalDeserializer : public PostingDeserializer<EntryRef> {
PredicateIntervalStore &_store;
public:
IntervalDeserializer(PredicateIntervalStore &store) : _store(store) {}
- virtual EntryRef deserialize(vespalib::DataBuffer &buffer) {
+ EntryRef deserialize(vespalib::DataBuffer &buffer) override {
std::vector<IntervalT> intervals;
size_t size = buffer.readInt16();
for (uint32_t i = 0; i < size; ++i) {
diff --git a/searchlib/src/vespa/searchlib/query/query.h b/searchlib/src/vespa/searchlib/query/query.h
index 6be1e1867c5..82d849fe44d 100644
--- a/searchlib/src/vespa/searchlib/query/query.h
+++ b/searchlib/src/vespa/searchlib/query/query.h
@@ -17,20 +17,17 @@ class QueryConnector : public QueryNode, public QueryNodeList
public:
QueryConnector(const char * opName);
~QueryConnector();
- virtual const HitList & evaluateHits(HitList & hl) const;
- /// Will clear the results from the querytree.
- virtual void reset();
- /// Will get all leafnodes.
- virtual void getLeafs(QueryTermList & tl);
- virtual void getLeafs(ConstQueryTermList & tl) const;
- /// Gives you all phrases of this tree.
- virtual void getPhrases(QueryNodeRefList & tl);
- virtual void getPhrases(ConstQueryNodeRefList & tl) const;
- virtual size_t depth() const;
- virtual size_t width() const;
+ const HitList & evaluateHits(HitList & hl) const override;
+ void reset() override;
+ void getLeafs(QueryTermList & tl) override;
+ void getLeafs(ConstQueryTermList & tl) const override;
+ void getPhrases(QueryNodeRefList & tl) override;
+ void getPhrases(ConstQueryNodeRefList & tl) const override;
+ size_t depth() const override;
+ size_t width() const override;
virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
- virtual void setIndex(const vespalib::string & index) { _index = index; }
- virtual const vespalib::string & getIndex() const { return _index; }
+ void setIndex(const vespalib::string & index) override { _index = index; }
+ const vespalib::string & getIndex() const override { return _index; }
static QueryConnector * create(ParseItem::ItemType type);
virtual bool isFlattenable(ParseItem::ItemType type) const { (void) type; return false; }
private:
@@ -45,7 +42,7 @@ class TrueNode : public QueryConnector
{
public:
TrueNode() : QueryConnector("AND") { }
- virtual bool evaluate() const;
+ bool evaluate() const override;
};
/**
@@ -56,8 +53,8 @@ class AndQueryNode : public QueryConnector
public:
AndQueryNode() : QueryConnector("AND") { }
AndQueryNode(const char * opName) : QueryConnector(opName) { }
- virtual bool evaluate() const;
- virtual bool isFlattenable(ParseItem::ItemType type) const { return type == ParseItem::ITEM_AND; }
+ bool evaluate() const override;
+ bool isFlattenable(ParseItem::ItemType type) const override { return type == ParseItem::ITEM_AND; }
};
/**
@@ -67,8 +64,8 @@ class AndNotQueryNode : public QueryConnector
{
public:
AndNotQueryNode() : QueryConnector("ANDNOT") { }
- virtual bool evaluate() const;
- virtual bool isFlattenable(ParseItem::ItemType type) const { return type == ParseItem::ITEM_NOT; }
+ bool evaluate() const override;
+ bool isFlattenable(ParseItem::ItemType type) const override { return type == ParseItem::ITEM_NOT; }
};
/**
@@ -79,8 +76,8 @@ class OrQueryNode : public QueryConnector
public:
OrQueryNode() : QueryConnector("OR") { }
OrQueryNode(const char * opName) : QueryConnector(opName) { }
- virtual bool evaluate() const;
- virtual bool isFlattenable(ParseItem::ItemType type) const {
+ bool evaluate() const override;
+ bool isFlattenable(ParseItem::ItemType type) const override {
return (type == ParseItem::ITEM_OR) ||
(type == ParseItem::ITEM_DOT_PRODUCT) ||
(type == ParseItem::ITEM_WAND) ||
@@ -95,8 +92,8 @@ class EquivQueryNode : public OrQueryNode
{
public:
EquivQueryNode() : OrQueryNode("EQUIV") { }
- virtual bool evaluate() const;
- virtual bool isFlattenable(ParseItem::ItemType type) const {
+ bool evaluate() const override;
+ bool isFlattenable(ParseItem::ItemType type) const override {
return (type == ParseItem::ITEM_EQUIV) ||
(type == ParseItem::ITEM_WEIGHTED_SET);
}
@@ -110,13 +107,13 @@ class PhraseQueryNode : public AndQueryNode
{
public:
PhraseQueryNode() : AndQueryNode("PHRASE"), _fieldInfo(32) { }
- virtual bool evaluate() const;
- virtual const HitList & evaluateHits(HitList & hl) const;
- virtual void getPhrases(QueryNodeRefList & tl);
- virtual void getPhrases(ConstQueryNodeRefList & tl) const;
+ bool evaluate() const override;
+ const HitList & evaluateHits(HitList & hl) const override;
+ void getPhrases(QueryNodeRefList & tl) override;
+ void getPhrases(ConstQueryNodeRefList & tl) const override;
const QueryTerm::FieldInfo & getFieldInfo(size_t fid) const { return _fieldInfo[fid]; }
size_t getFieldInfoSize() const { return _fieldInfo.size(); }
- virtual bool isFlattenable(ParseItem::ItemType type) const { return type == ParseItem::ITEM_NOT; }
+ bool isFlattenable(ParseItem::ItemType type) const override { return type == ParseItem::ITEM_NOT; }
private:
mutable std::vector<QueryTerm::FieldInfo> _fieldInfo;
void updateFieldInfo(size_t fid, size_t offset, size_t fieldLength) const;
@@ -133,7 +130,7 @@ class NotQueryNode : public QueryConnector
{
public:
NotQueryNode() : QueryConnector("NOT") { }
- virtual bool evaluate() const;
+ bool evaluate() const override;
};
/**
@@ -144,11 +141,11 @@ class NearQueryNode : public AndQueryNode
public:
NearQueryNode() : AndQueryNode("NEAR"), _distance(0) { }
NearQueryNode(const char * opName) : AndQueryNode(opName), _distance(0) { }
- virtual bool evaluate() const;
+ bool evaluate() const override;
void distance(size_t dist) { _distance = dist; }
size_t distance() const { return _distance; }
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
- virtual bool isFlattenable(ParseItem::ItemType type) const { return type == ParseItem::ITEM_NOT; }
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
+ bool isFlattenable(ParseItem::ItemType type) const override { return type == ParseItem::ITEM_NOT; }
private:
size_t _distance;
};
@@ -161,8 +158,8 @@ class ONearQueryNode : public NearQueryNode
{
public:
ONearQueryNode() : NearQueryNode("ONEAR") { }
- virtual ~ONearQueryNode() { }
- virtual bool evaluate() const;
+ ~ONearQueryNode() { }
+ bool evaluate() const override;
};
/**
@@ -199,4 +196,3 @@ private:
};
}
-
diff --git a/searchlib/src/vespa/searchlib/query/queryterm.h b/searchlib/src/vespa/searchlib/query/queryterm.h
index 5d275dc1d07..793b6b20596 100644
--- a/searchlib/src/vespa/searchlib/query/queryterm.h
+++ b/searchlib/src/vespa/searchlib/query/queryterm.h
@@ -103,7 +103,7 @@ public:
size_t getTermLen() const { return _cachedTermLen; }
size_t term(const char * & t) const { t = getTerm(); return _cachedTermLen; }
UCS4StringT getUCS4Term() const;
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
size_t term(const ucs4_t * & t) {
if (_termUCS4.empty()) {
_termUCS4 = getUCS4Term();
@@ -162,16 +162,16 @@ public:
QueryTerm & operator = (const QueryTerm &) = default;
QueryTerm(QueryTerm &&) = default;
QueryTerm & operator = (QueryTerm &&) = default;
- virtual ~QueryTerm();
- virtual bool evaluate() const;
- virtual const HitList & evaluateHits(HitList & hl) const;
- virtual void reset();
- virtual void getLeafs(QueryTermList & tl);
- virtual void getLeafs(ConstQueryTermList & tl) const;
+ ~QueryTerm();
+ bool evaluate() const override;
+ const HitList & evaluateHits(HitList & hl) const override;
+ void reset() override;
+ void getLeafs(QueryTermList & tl) override;
+ void getLeafs(ConstQueryTermList & tl) const override;
/// Gives you all phrases of this tree.
- virtual void getPhrases(QueryNodeRefList & tl);
+ void getPhrases(QueryNodeRefList & tl) override;
/// Gives you all phrases of this tree. Indicating that they are all const.
- virtual void getPhrases(ConstQueryNodeRefList & tl) const;
+ void getPhrases(ConstQueryNodeRefList & tl) const override;
void add(unsigned pos, unsigned context, int32_t weight);
EncodingBitMap encoding() const { return _encoding; }
@@ -187,9 +187,9 @@ public:
size_t getFieldInfoSize() const { return _fieldInfo.size(); }
QueryNodeResultBase & getQueryItem() { return *_result; }
const HitList & getHitList() const { return _hitList; }
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
- virtual void setIndex(const string & index_) { _index = index_; }
- virtual const string & getIndex() const { return _index; }
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
+ void setIndex(const string & index_) override { _index = index_; }
+ const string & getIndex() const override { return _index; }
protected:
using QueryNodeResultBaseContainer = vespalib::CloneablePtr<QueryNodeResultBase>;
string _index;
diff --git a/searchlib/src/vespa/searchlib/query/tree/querynodemixin.h b/searchlib/src/vespa/searchlib/query/tree/querynodemixin.h
index 7fbcb45d742..6e7aebc779e 100644
--- a/searchlib/src/vespa/searchlib/query/tree/querynodemixin.h
+++ b/searchlib/src/vespa/searchlib/query/tree/querynodemixin.h
@@ -2,7 +2,7 @@
#pragma once
-#include <vespa/searchlib/query/tree/queryvisitor.h>
+#include "queryvisitor.h"
namespace search {
namespace query {
@@ -11,8 +11,8 @@ template <typename T, typename Base>
struct QueryNodeMixin : Base {
typedef QueryNodeMixin<T, Base> QueryNodeMixinType;
- virtual ~QueryNodeMixin() = 0;
- virtual void accept(QueryVisitor &visitor) {
+ ~QueryNodeMixin() = 0;
+ void accept(QueryVisitor &visitor) override {
visitor.visit(static_cast<T &>(*this));
}
diff --git a/searchlib/src/vespa/searchlib/query/tree/stackdumpcreator.cpp b/searchlib/src/vespa/searchlib/query/tree/stackdumpcreator.cpp
index 4dc5976b35d..3deefa35bec 100644
--- a/searchlib/src/vespa/searchlib/query/tree/stackdumpcreator.cpp
+++ b/searchlib/src/vespa/searchlib/query/tree/stackdumpcreator.cpp
@@ -3,12 +3,10 @@
#include "stackdumpcreator.h"
#include "intermediatenodes.h"
-#include "queryvisitor.h"
#include "termnodes.h"
#include <vespa/vespalib/objects/nbo.h>
#include <vespa/vespalib/stllike/asciistream.h>
#include <vespa/searchlib/parsequery/parse.h>
-#include <vespa/searchlib/util/rawbuf.h>
using vespalib::string;
using std::vector;
@@ -90,35 +88,35 @@ class QueryNodeConverter : public QueryVisitor {
visitNodes(node.getChildren());
}
- virtual void visit(And &node) {
+ void visit(And &node) override {
createIntermediate(node, ParseItem::ITEM_AND);
}
- virtual void visit(AndNot &node) {
+ void visit(AndNot &node) override {
createIntermediate(node, ParseItem::ITEM_NOT);
}
- virtual void visit(Near &node) {
+ void visit(Near &node) override {
createIntermediate(node, ParseItem::ITEM_NEAR, node.getDistance());
}
- virtual void visit(ONear &node) {
+ void visit(ONear &node) override {
createIntermediate(node, ParseItem::ITEM_ONEAR, node.getDistance());
}
- virtual void visit(Or &node) {
+ void visit(Or &node) override {
createIntermediate(node, ParseItem::ITEM_OR);
}
- virtual void visit(WeakAnd &node) {
+ void visit(WeakAnd &node) override {
createIntermediate(node, ParseItem::ITEM_WEAK_AND, node.getMinHits(), node.getView());
}
- virtual void visit(Equiv &node) {
+ void visit(Equiv &node) override {
createIntermediate(node, ParseItem::ITEM_EQUIV);
}
- virtual void visit(Phrase &node) {
+ void visit(Phrase &node) override {
uint8_t typefield = (ParseItem::ITEM_PHRASE | ParseItem::IF_WEIGHT);
uint8_t flags = 0;
if (!node.isRanked()) {
@@ -163,17 +161,17 @@ class QueryNodeConverter : public QueryVisitor {
appendString(node.getView());
}
- virtual void visit(WeightedSetTerm &node) {
+ void visit(WeightedSetTerm &node) override {
createWeightedSet(node, ParseItem::ITEM_WEIGHTED_SET | ParseItem::IF_WEIGHT);
visitNodes(node.getChildren());
}
- virtual void visit(DotProduct &node) {
+ void visit(DotProduct &node) override {
createWeightedSet(node, ParseItem::ITEM_DOT_PRODUCT | ParseItem::IF_WEIGHT);
visitNodes(node.getChildren());
}
- virtual void visit(WandTerm &node) {
+ void visit(WandTerm &node) override {
createWeightedSet(node, ParseItem::ITEM_WAND | ParseItem::IF_WEIGHT);
appendCompressedPositiveNumber(node.getTargetNumHits());
appendDouble(node.getScoreThreshold());
@@ -181,7 +179,7 @@ class QueryNodeConverter : public QueryVisitor {
visitNodes(node.getChildren());
}
- virtual void visit(Rank &node) {
+ void visit(Rank &node) override {
createIntermediate(node, ParseItem::ITEM_RANK);
}
@@ -212,39 +210,39 @@ class QueryNodeConverter : public QueryVisitor {
appendTerm(node);
}
- virtual void visit(NumberTerm &node) {
+ void visit(NumberTerm &node) override {
createTerm(node, ParseItem::ITEM_NUMTERM);
}
- virtual void visit(LocationTerm &node) {
+ void visit(LocationTerm &node) override {
createTerm(node, ParseItem::ITEM_NUMTERM);
}
- virtual void visit(PrefixTerm &node) {
+ void visit(PrefixTerm &node) override {
createTerm(node, ParseItem::ITEM_PREFIXTERM);
}
- virtual void visit(RangeTerm &node) {
+ void visit(RangeTerm &node) override {
createTerm(node, ParseItem::ITEM_NUMTERM);
}
- virtual void visit(StringTerm &node) {
+ void visit(StringTerm &node) override {
createTerm(node, ParseItem::ITEM_TERM);
}
- virtual void visit(SubstringTerm &node) {
+ void visit(SubstringTerm &node) override {
createTerm(node, ParseItem::ITEM_SUBSTRINGTERM);
}
- virtual void visit(SuffixTerm &node) {
+ void visit(SuffixTerm &node) override {
createTerm(node, ParseItem::ITEM_SUFFIXTERM);
}
- virtual void visit(PredicateQuery &node) {
+ void visit(PredicateQuery &node) override {
createTerm(node, ParseItem::ITEM_PREDICATE_QUERY);
}
- virtual void visit(RegExpTerm &node) {
+ void visit(RegExpTerm &node) override {
createTerm(node, ParseItem::ITEM_REGEXP);
}
diff --git a/searchlib/src/vespa/searchlib/queryeval/andnotsearch.h b/searchlib/src/vespa/searchlib/queryeval/andnotsearch.h
index f6ff22cc81f..3d5af860585 100644
--- a/searchlib/src/vespa/searchlib/queryeval/andnotsearch.h
+++ b/searchlib/src/vespa/searchlib/queryeval/andnotsearch.h
@@ -93,8 +93,8 @@ private:
}
}
}
- virtual void doSeek(uint32_t docid);
- virtual void doUnpack(uint32_t docid);
+ void doSeek(uint32_t docid) override;
+ void doUnpack(uint32_t docid) override;
};
} // namespace queryeval
diff --git a/searchlib/src/vespa/searchlib/queryeval/andsearchnostrict.h b/searchlib/src/vespa/searchlib/queryeval/andsearchnostrict.h
index b42359bf760..9329a5c79fb 100644
--- a/searchlib/src/vespa/searchlib/queryeval/andsearchnostrict.h
+++ b/searchlib/src/vespa/searchlib/queryeval/andsearchnostrict.h
@@ -39,16 +39,16 @@ protected:
}
Trinary is_strict() const override { return Trinary::False; }
- virtual void doUnpack(uint32_t docid) {
+ void doUnpack(uint32_t docid) override {
_unpacker.unpack(docid, *this);
}
- virtual void onRemove(size_t index) {
+ void onRemove(size_t index) override {
_unpacker.onRemove(index);
}
- virtual void onInsert(size_t index) {
+ void onInsert(size_t index) override {
_unpacker.onInsert(index);
}
- virtual bool needUnpack(size_t index) const {
+ bool needUnpack(size_t index) const override {
return _unpacker.needUnpack(index);
}
diff --git a/searchlib/src/vespa/searchlib/queryeval/booleanmatchiteratorwrapper.h b/searchlib/src/vespa/searchlib/queryeval/booleanmatchiteratorwrapper.h
index 52b28330998..9e7680a6d1a 100644
--- a/searchlib/src/vespa/searchlib/queryeval/booleanmatchiteratorwrapper.h
+++ b/searchlib/src/vespa/searchlib/queryeval/booleanmatchiteratorwrapper.h
@@ -52,7 +52,7 @@ public:
BooleanMatchIteratorWrapper(SearchIterator::UP search,
const fef::TermFieldMatchDataArray &matchData);
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
};
} // namespace queryeval
diff --git a/searchlib/src/vespa/searchlib/queryeval/dot_product_blueprint.h b/searchlib/src/vespa/searchlib/queryeval/dot_product_blueprint.h
index 1e19264e9cb..a5ca13d2cbc 100644
--- a/searchlib/src/vespa/searchlib/queryeval/dot_product_blueprint.h
+++ b/searchlib/src/vespa/searchlib/queryeval/dot_product_blueprint.h
@@ -4,8 +4,6 @@
#include "searchable.h"
#include <vespa/searchlib/fef/matchdatalayout.h>
-#include <memory>
-#include <vector>
namespace search {
namespace fef { class TermFieldMatchData; }
@@ -24,7 +22,7 @@ class DotProductBlueprint : public ComplexLeafBlueprint
public:
DotProductBlueprint(const FieldSpec &field);
- virtual ~DotProductBlueprint();
+ ~DotProductBlueprint();
// used by create visitor
FieldSpec getNextChildField(const FieldSpec &outer);
@@ -32,14 +30,12 @@ public:
// used by create visitor
void addTerm(Blueprint::UP term, int32_t weight);
- virtual SearchIterator::UP
+ SearchIterator::UP
createLeafSearch(const search::fef::TermFieldMatchDataArray &tfmda,
- bool strict) const;
+ bool strict) const override;
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
-
- virtual void
- fetchPostings(bool strict);
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
+ void fetchPostings(bool strict) override;
};
} // namespace search::queryeval
diff --git a/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.h b/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.h
index bd01be98ef2..9f577297f94 100644
--- a/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.h
+++ b/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.h
@@ -5,8 +5,6 @@
#include "blueprint.h"
#include "searchable.h"
#include <vespa/searchlib/queryeval/multisearch.h>
-#include <vector>
-#include <map>
namespace search {
namespace queryeval {
@@ -19,17 +17,17 @@ class AndNotBlueprint : public IntermediateBlueprint
{
public:
bool supports_termwise_children() const override { return true; }
- virtual HitEstimate combine(const std::vector<HitEstimate> &data) const;
- virtual FieldSpecBaseList exposeFields() const;
- virtual void optimize_self() override;
- virtual Blueprint::UP get_replacement() override;
- virtual void sort(std::vector<Blueprint*> &children) const;
- virtual bool inheritStrict(size_t i) const;
- virtual SearchIterator::UP
+ HitEstimate combine(const std::vector<HitEstimate> &data) const override;
+ FieldSpecBaseList exposeFields() const override;
+ void optimize_self() override;
+ Blueprint::UP get_replacement() override;
+ void sort(std::vector<Blueprint*> &children) const override;
+ bool inheritStrict(size_t i) const override;
+ SearchIterator::UP
createIntermediateSearch(const MultiSearch::Children &subSearches,
- bool strict, search::fef::MatchData &md) const;
+ bool strict, fef::MatchData &md) const override;
private:
- virtual bool isPositive(size_t index) const { return index == 0; }
+ bool isPositive(size_t index) const override { return index == 0; }
};
//-----------------------------------------------------------------------------
@@ -38,15 +36,15 @@ class AndBlueprint : public IntermediateBlueprint
{
public:
bool supports_termwise_children() const override { return true; }
- virtual HitEstimate combine(const std::vector<HitEstimate> &data) const;
- virtual FieldSpecBaseList exposeFields() const;
- virtual void optimize_self() override;
- virtual Blueprint::UP get_replacement() override;
- virtual void sort(std::vector<Blueprint*> &children) const;
- virtual bool inheritStrict(size_t i) const;
- virtual SearchIterator::UP
+ HitEstimate combine(const std::vector<HitEstimate> &data) const override;
+ FieldSpecBaseList exposeFields() const override;
+ void optimize_self() override;
+ Blueprint::UP get_replacement() override;
+ void sort(std::vector<Blueprint*> &children) const override;
+ bool inheritStrict(size_t i) const override;
+ SearchIterator::UP
createIntermediateSearch(const MultiSearch::Children &subSearches,
- bool strict, search::fef::MatchData &md) const;
+ bool strict, fef::MatchData &md) const override;
};
//-----------------------------------------------------------------------------
@@ -55,15 +53,15 @@ class OrBlueprint : public IntermediateBlueprint
{
public:
bool supports_termwise_children() const override { return true; }
- virtual HitEstimate combine(const std::vector<HitEstimate> &data) const;
- virtual FieldSpecBaseList exposeFields() const;
- virtual void optimize_self() override;
- virtual Blueprint::UP get_replacement() override;
- virtual void sort(std::vector<Blueprint*> &children) const;
- virtual bool inheritStrict(size_t i) const;
- virtual SearchIterator::UP
+ HitEstimate combine(const std::vector<HitEstimate> &data) const override;
+ FieldSpecBaseList exposeFields() const override;
+ void optimize_self() override;
+ Blueprint::UP get_replacement() override;
+ void sort(std::vector<Blueprint*> &children) const override;
+ bool inheritStrict(size_t i) const override;
+ SearchIterator::UP
createIntermediateSearch(const MultiSearch::Children &subSearches,
- bool strict, search::fef::MatchData &md) const;
+ bool strict, fef::MatchData &md) const override;
};
//-----------------------------------------------------------------------------
@@ -75,13 +73,13 @@ private:
std::vector<uint32_t> _weights;
public:
- virtual HitEstimate combine(const std::vector<HitEstimate> &data) const;
- virtual FieldSpecBaseList exposeFields() const;
- virtual void sort(std::vector<Blueprint*> &children) const;
- virtual bool inheritStrict(size_t i) const;
- virtual SearchIterator::UP
+ HitEstimate combine(const std::vector<HitEstimate> &data) const override;
+ FieldSpecBaseList exposeFields() const override;
+ void sort(std::vector<Blueprint*> &children) const override;
+ bool inheritStrict(size_t i) const override;
+ SearchIterator::UP
createIntermediateSearch(const MultiSearch::Children &subSearches,
- bool strict, search::fef::MatchData &md) const;
+ bool strict, fef::MatchData &md) const override;
WeakAndBlueprint(uint32_t n) : _n(n) {}
void addTerm(Blueprint::UP bp, uint32_t weight) {
@@ -100,14 +98,14 @@ private:
uint32_t _window;
public:
- virtual HitEstimate combine(const std::vector<HitEstimate> &data) const;
- virtual FieldSpecBaseList exposeFields() const;
- virtual bool should_optimize_children() const override { return false; }
- virtual void sort(std::vector<Blueprint*> &children) const;
- virtual bool inheritStrict(size_t i) const;
- virtual SearchIterator::UP
+ HitEstimate combine(const std::vector<HitEstimate> &data) const override;
+ FieldSpecBaseList exposeFields() const override;
+ bool should_optimize_children() const override { return false; }
+ void sort(std::vector<Blueprint*> &children) const override;
+ bool inheritStrict(size_t i) const override;
+ SearchIterator::UP
createIntermediateSearch(const MultiSearch::Children &subSearches,
- bool strict, search::fef::MatchData &md) const;
+ bool strict, fef::MatchData &md) const override;
NearBlueprint(uint32_t window) : _window(window) {}
};
@@ -120,14 +118,14 @@ private:
uint32_t _window;
public:
- virtual HitEstimate combine(const std::vector<HitEstimate> &data) const;
- virtual FieldSpecBaseList exposeFields() const;
- virtual bool should_optimize_children() const override { return false; }
- virtual void sort(std::vector<Blueprint*> &children) const;
- virtual bool inheritStrict(size_t i) const;
- virtual SearchIterator::UP
+ HitEstimate combine(const std::vector<HitEstimate> &data) const override;
+ FieldSpecBaseList exposeFields() const override;
+ bool should_optimize_children() const override { return false; }
+ void sort(std::vector<Blueprint*> &children) const override;
+ bool inheritStrict(size_t i) const override;
+ SearchIterator::UP
createIntermediateSearch(const MultiSearch::Children &subSearches,
- bool strict, search::fef::MatchData &md) const;
+ bool strict, fef::MatchData &md) const override;
ONearBlueprint(uint32_t window) : _window(window) {}
};
@@ -137,15 +135,15 @@ public:
class RankBlueprint : public IntermediateBlueprint
{
public:
- virtual HitEstimate combine(const std::vector<HitEstimate> &data) const;
- virtual FieldSpecBaseList exposeFields() const;
- virtual void optimize_self() override;
- virtual Blueprint::UP get_replacement() override;
- virtual void sort(std::vector<Blueprint*> &children) const;
- virtual bool inheritStrict(size_t i) const;
- virtual SearchIterator::UP
+ HitEstimate combine(const std::vector<HitEstimate> &data) const override;
+ FieldSpecBaseList exposeFields() const override;
+ void optimize_self() override;
+ Blueprint::UP get_replacement() override;
+ void sort(std::vector<Blueprint*> &children) const override;
+ bool inheritStrict(size_t i) const override;
+ SearchIterator::UP
createIntermediateSearch(const MultiSearch::Children &subSearches,
- bool strict, search::fef::MatchData &md) const;
+ bool strict, fef::MatchData &md) const override;
};
//-----------------------------------------------------------------------------
@@ -157,19 +155,19 @@ private:
public:
SourceBlenderBlueprint(const ISourceSelector &selector);
- virtual HitEstimate combine(const std::vector<HitEstimate> &data) const;
- virtual FieldSpecBaseList exposeFields() const;
- virtual void sort(std::vector<Blueprint*> &children) const;
- virtual bool inheritStrict(size_t i) const;
+ HitEstimate combine(const std::vector<HitEstimate> &data) const override;
+ FieldSpecBaseList exposeFields() const override;
+ void sort(std::vector<Blueprint*> &children) const override;
+ bool inheritStrict(size_t i) const override;
/**
* Will return the index matching the given sourceId.
* @param sourceId The sourceid to find.
* @return The index to the child representing the sourceId. -1 if not found.
*/
ssize_t findSource(uint32_t sourceId) const;
- virtual SearchIterator::UP
+ SearchIterator::UP
createIntermediateSearch(const MultiSearch::Children &subSearches,
- bool strict, search::fef::MatchData &md) const;
+ bool strict, fef::MatchData &md) const override;
/** check if this blueprint has the same source selector as the other */
bool isCompatibleWith(const SourceBlenderBlueprint &other) const;
@@ -177,4 +175,3 @@ public:
}
}
-
diff --git a/searchlib/src/vespa/searchlib/queryeval/leaf_blueprints.h b/searchlib/src/vespa/searchlib/queryeval/leaf_blueprints.h
index eca464c846d..90c59d0f674 100644
--- a/searchlib/src/vespa/searchlib/queryeval/leaf_blueprints.h
+++ b/searchlib/src/vespa/searchlib/queryeval/leaf_blueprints.h
@@ -16,9 +16,9 @@ namespace queryeval {
class EmptyBlueprint : public SimpleLeafBlueprint
{
protected:
- virtual SearchIterator::UP
+ SearchIterator::UP
createLeafSearch(const search::fef::TermFieldMatchDataArray &tfmda,
- bool strict) const;
+ bool strict) const override;
public:
EmptyBlueprint(const FieldSpecBaseList &fields);
@@ -35,9 +35,9 @@ private:
SimpleResult _result;
protected:
- virtual SearchIterator::UP
+ SearchIterator::UP
createLeafSearch(const search::fef::TermFieldMatchDataArray &tfmda,
- bool strict) const;
+ bool strict) const override;
public:
SimpleBlueprint(const SimpleResult &result);
@@ -56,9 +56,9 @@ private:
FakeResult _result;
protected:
- virtual SearchIterator::UP
+ SearchIterator::UP
createLeafSearch(const fef::TermFieldMatchDataArray &tfmda,
- bool strict) const;
+ bool strict) const override;
public:
FakeBlueprint(const FieldSpec &field,
diff --git a/searchlib/src/vespa/searchlib/queryeval/multisearch.h b/searchlib/src/vespa/searchlib/queryeval/multisearch.h
index ef8b6dc0577..13a01777fb0 100644
--- a/searchlib/src/vespa/searchlib/queryeval/multisearch.h
+++ b/searchlib/src/vespa/searchlib/queryeval/multisearch.h
@@ -38,7 +38,7 @@ public:
void initRange(uint32_t beginId, uint32_t endId) override;
protected:
void doUnpack(uint32_t docid) override;
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
private:
/**
* Call back when children are removed / inserted after the Iterator has been constructed.
@@ -48,7 +48,7 @@ private:
virtual void onRemove(size_t index) { (void) index; }
virtual void onInsert(size_t index) { (void) index; }
- virtual bool isMultiSearch() const { return true; }
+ bool isMultiSearch() const override { return true; }
size_t deactivate(size_t index);
Children _children;
};
diff --git a/searchlib/src/vespa/searchlib/queryeval/simple_phrase_blueprint.h b/searchlib/src/vespa/searchlib/queryeval/simple_phrase_blueprint.h
index fc1fde7e2c6..9bf6fe884ba 100644
--- a/searchlib/src/vespa/searchlib/queryeval/simple_phrase_blueprint.h
+++ b/searchlib/src/vespa/searchlib/queryeval/simple_phrase_blueprint.h
@@ -3,10 +3,8 @@
#pragma once
#include "searchable.h"
+#include "irequestcontext.h"
#include <vespa/searchlib/fef/matchdatalayout.h>
-#include <vespa/searchlib/queryeval/irequestcontext.h>
-#include <memory>
-#include <vector>
namespace search {
namespace fef { class TermFieldMatchData; }
@@ -27,7 +25,7 @@ private:
public:
SimplePhraseBlueprint(const FieldSpec &field, const IRequestContext & requestContext);
- virtual ~SimplePhraseBlueprint();
+ ~SimplePhraseBlueprint();
// used by create visitor
FieldSpec getNextChildField(const FieldSpec &outer);
@@ -35,14 +33,11 @@ public:
// used by create visitor
void addTerm(Blueprint::UP term);
- virtual SearchIterator::UP
+ SearchIterator::UP
createLeafSearch(const search::fef::TermFieldMatchDataArray &tfmda,
- bool strict) const;
-
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
-
- virtual void
- fetchPostings(bool strict);
+ bool strict) const override;
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
+ void fetchPostings(bool strict) override;
};
} // namespace search::queryeval
diff --git a/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.h b/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.h
index bae74c046cb..a6e1c337f3d 100644
--- a/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.h
+++ b/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.h
@@ -1,9 +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 <vespa/searchlib/queryeval/blueprint.h>
#include "wand_parts.h"
#include "weak_and_heap.h"
+#include <vespa/searchlib/queryeval/blueprint.h>
#include <vespa/searchlib/fef/matchdatalayout.h>
#include <vespa/searchlib/fef/termfieldmatchdataarray.h>
#include <memory>
@@ -59,17 +59,11 @@ public:
// Used by create visitor
void addTerm(Blueprint::UP term, int32_t weight);
- // Override doc from blueprint::Leaf.
- virtual SearchIterator::UP
- createLeafSearch(const search::fef::TermFieldMatchDataArray &tfmda,
- bool strict) const;
-
- // Override doc from blueprint::Leaf.
- virtual void visitMembers(vespalib::ObjectVisitor &visitor) const;
-
- virtual void fetchPostings(bool strict);
+ SearchIterator::UP createLeafSearch(const fef::TermFieldMatchDataArray &tfmda, bool strict) const override;
+ void visitMembers(vespalib::ObjectVisitor &visitor) const override;
+ void fetchPostings(bool strict) override;
};
-} // namespace search::queryeval
+} // namespace queryeval
} // namespace search
diff --git a/staging_vespalib/src/vespa/vespalib/objects/asciiserializer.h b/staging_vespalib/src/vespa/vespalib/objects/asciiserializer.h
index cc9a4911384..c0b8aa341d5 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/asciiserializer.h
+++ b/staging_vespalib/src/vespa/vespalib/objects/asciiserializer.h
@@ -1,8 +1,8 @@
// 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/objects/serializer.h>
-#include <vespa/vespalib/objects/deserializer.h>
+#include "serializer.h"
+#include "deserializer.h"
namespace vespalib {
@@ -11,14 +11,14 @@ class asciistream;
class AsciiSerializer : public Serializer {
public:
AsciiSerializer(asciistream &stream) : _stream(stream) { }
- virtual AsciiSerializer &put(const IFieldBase &field, bool value);
- virtual AsciiSerializer &put(const IFieldBase &field, uint8_t value);
- virtual AsciiSerializer &put(const IFieldBase &field, uint16_t value);
- virtual AsciiSerializer &put(const IFieldBase &field, uint32_t value);
- virtual AsciiSerializer &put(const IFieldBase &field, uint64_t value);
- virtual AsciiSerializer &put(const IFieldBase &field, float value);
- virtual AsciiSerializer &put(const IFieldBase &field, double value);
- virtual AsciiSerializer &put(const IFieldBase &field, const stringref &val);
+ AsciiSerializer &put(const IFieldBase &field, bool value) override;
+ AsciiSerializer &put(const IFieldBase &field, uint8_t value) override;
+ AsciiSerializer &put(const IFieldBase &field, uint16_t value) override;
+ AsciiSerializer &put(const IFieldBase &field, uint32_t value) override;
+ AsciiSerializer &put(const IFieldBase &field, uint64_t value) override;
+ AsciiSerializer &put(const IFieldBase &field, float value) override;
+ AsciiSerializer &put(const IFieldBase &field, double value) override;
+ AsciiSerializer &put(const IFieldBase &field, const stringref &val) override;
const asciistream &getStream() const { return _stream; }
asciistream &getStream() { return _stream; }
diff --git a/storageframework/src/vespa/storageframework/defaultimplementation/memory/memorystate.cpp b/storageframework/src/vespa/storageframework/defaultimplementation/memory/memorystate.cpp
index 022e0fa54fa..125e01db179 100644
--- a/storageframework/src/vespa/storageframework/defaultimplementation/memory/memorystate.cpp
+++ b/storageframework/src/vespa/storageframework/defaultimplementation/memory/memorystate.cpp
@@ -74,6 +74,11 @@ MemoryState::MemoryState(Clock& clock, uint64_t maxMemory)
{
}
+MemoryState::MemoryState(const MemoryState &) = default;
+MemoryState & MemoryState::operator = (const MemoryState &) = default;
+
+MemoryState::~MemoryState() {}
+
void
MemoryState::addToEntry(const MemoryAllocationType& type, uint64_t memory,
uint8_t priority,
diff --git a/storageframework/src/vespa/storageframework/defaultimplementation/memory/memorystate.h b/storageframework/src/vespa/storageframework/defaultimplementation/memory/memorystate.h
index e84e864d435..4cbc4da1ac5 100644
--- a/storageframework/src/vespa/storageframework/defaultimplementation/memory/memorystate.h
+++ b/storageframework/src/vespa/storageframework/defaultimplementation/memory/memorystate.h
@@ -8,7 +8,7 @@
#pragma once
-#include <vespa/storageframework/defaultimplementation/memory/memorymanager.h>
+#include "memorymanager.h"
#include <vespa/storageframework/storageframework.h>
#include <vespa/vespalib/util/sync.h>
@@ -102,6 +102,11 @@ private:
public:
MemoryState(Clock& clock, uint64_t maxMemory);
+ MemoryState(const MemoryState &);
+ MemoryState & operator = (const MemoryState &);
+ MemoryState(MemoryState &&) = default;
+ MemoryState & operator = (MemoryState &&) = default;
+ ~MemoryState();
void print(std::ostream& out, bool verbose, const std::string& indent) const override;
diff --git a/storageframework/src/vespa/storageframework/defaultimplementation/memory/nomemorymanager.h b/storageframework/src/vespa/storageframework/defaultimplementation/memory/nomemorymanager.h
index 870d735b113..43669eac603 100644
--- a/storageframework/src/vespa/storageframework/defaultimplementation/memory/nomemorymanager.h
+++ b/storageframework/src/vespa/storageframework/defaultimplementation/memory/nomemorymanager.h
@@ -11,10 +11,10 @@
#pragma once
-#include <map>
#include <vespa/storageframework/generic/memory/memorymanagerinterface.h>
#include <vespa/vespalib/util/printable.h>
#include <vespa/vespalib/util/sync.h>
+#include <map>
namespace storage {
namespace framework {
@@ -29,9 +29,8 @@ public:
SimpleMemoryTokenImpl & operator = (const SimpleMemoryTokenImpl &) = delete;
SimpleMemoryTokenImpl(uint64_t allocated) : _allocated(allocated) {}
- virtual uint64_t getSize() const { return _allocated; }
- virtual bool resize(uint64_t /* min */, uint64_t max)
- { _allocated = max; return true; }
+ uint64_t getSize() const override { return _allocated; }
+ bool resize(uint64_t /* min */, uint64_t max) override { _allocated = max; return true; }
};
class NoMemoryManager : public MemoryManagerInterface
@@ -42,29 +41,21 @@ class NoMemoryManager : public MemoryManagerInterface
public:
typedef std::unique_ptr<NoMemoryManager> UP;
- virtual void setMaximumMemoryUsage(uint64_t) {}
-
- virtual const MemoryAllocationType&
- registerAllocationType(const MemoryAllocationType& type);
-
- virtual const MemoryAllocationType&
- getAllocationType(const std::string& name) const;
+ void setMaximumMemoryUsage(uint64_t) override {}
+ const MemoryAllocationType & registerAllocationType(const MemoryAllocationType& type) override;
+ const MemoryAllocationType & getAllocationType(const std::string& name) const override;
- MemoryToken::UP allocate(
- const MemoryAllocationType&,
- uint64_t /* min */,
- uint64_t max,
- uint8_t /* priority */,
- ReduceMemoryUsageInterface* = 0)
+ MemoryToken::UP allocate(const MemoryAllocationType&, uint64_t /* min */, uint64_t max,
+ uint8_t /* priority */, ReduceMemoryUsageInterface* = 0) override
{
return SimpleMemoryTokenImpl::UP(new SimpleMemoryTokenImpl(max));
}
- virtual uint64_t getMemorySizeFreeForPriority(uint8_t priority) const {
+ uint64_t getMemorySizeFreeForPriority(uint8_t priority) const override {
(void) priority;
return std::numeric_limits<uint64_t>().max();
}
- virtual std::vector<const MemoryAllocationType*> getAllocationTypes() const;
+ std::vector<const MemoryAllocationType*> getAllocationTypes() const override;
};
} // defaultimplementation
diff --git a/storageframework/src/vespa/storageframework/defaultimplementation/memory/prioritymemorylogic.h b/storageframework/src/vespa/storageframework/defaultimplementation/memory/prioritymemorylogic.h
index 0761603a324..c43d6ef7fa9 100644
--- a/storageframework/src/vespa/storageframework/defaultimplementation/memory/prioritymemorylogic.h
+++ b/storageframework/src/vespa/storageframework/defaultimplementation/memory/prioritymemorylogic.h
@@ -9,7 +9,7 @@
#pragma once
-#include <vespa/storageframework/defaultimplementation/memory/simplememorylogic.h>
+#include "simplememorylogic.h"
#include <vespa/vespalib/util/sync.h>
namespace storage {
@@ -19,11 +19,8 @@ namespace defaultimplementation {
struct PriorityMemoryLogic : public SimpleMemoryLogic
{
PriorityMemoryLogic(Clock&, uint64_t maxMemory);
-
- virtual float getNonCacheThreshold(uint8_t priority) const;
-
- virtual void print(std::ostream& out, bool verbose,
- const std::string& indent) const;
+ float getNonCacheThreshold(uint8_t priority) const override;
+ void print(std::ostream& out, bool verbose, const std::string& indent) const override;
};
} // defaultimplementation
diff --git a/storageframework/src/vespa/storageframework/defaultimplementation/memory/simplememorylogic.h b/storageframework/src/vespa/storageframework/defaultimplementation/memory/simplememorylogic.h
index aafae3d6a21..5a8df6441f1 100644
--- a/storageframework/src/vespa/storageframework/defaultimplementation/memory/simplememorylogic.h
+++ b/storageframework/src/vespa/storageframework/defaultimplementation/memory/simplememorylogic.h
@@ -21,8 +21,8 @@
#pragma once
-#include <vespa/storageframework/defaultimplementation/memory/memorymanager.h>
-#include <vespa/storageframework/defaultimplementation/memory/memorystate.h>
+#include "memorymanager.h"
+#include "memorystate.h"
#include <vespa/vespalib/util/sync.h>
namespace storage {
@@ -64,26 +64,22 @@ public:
return *this;
}
- virtual void setMaximumMemoryUsage(uint64_t max);
+ void setMaximumMemoryUsage(uint64_t max) override;
void setCacheThreshold(float limit) { _cacheThreshold = limit; }
void setNonCacheThreshold(float limit) { _nonCacheThreshold = limit; }
MemoryState& getState() { return _state; } // Not threadsafe. Unit testing.
+ void getState(MemoryState& state, bool resetMax) override;
- virtual void getState(MemoryState& state, bool resetMax);
+ MemoryToken::UP allocate(const MemoryAllocationType&, uint8_t priority,
+ ReduceMemoryUsageInterface* = 0) override;
+ bool resize(MemoryToken& token, uint64_t min, uint64_t max, uint32_t allocationCounts) override;
- virtual MemoryToken::UP allocate(const MemoryAllocationType&,
- uint8_t priority,
- ReduceMemoryUsageInterface* = 0);
- virtual bool resize(MemoryToken& token, uint64_t min, uint64_t max,
- uint32_t allocationCounts);
-
- virtual void freeToken(MemoryTokenImpl& token);
- virtual void print(std::ostream& out, bool verbose,
- const std::string& indent) const;
+ void freeToken(MemoryTokenImpl& token) override;
+ void print(std::ostream& out, bool verbose, const std::string& indent) const override;
- virtual uint64_t getMemorySizeFreeForPriority(uint8_t priority) const;
+ virtual uint64_t getMemorySizeFreeForPriority(uint8_t priority) const override;
private:
void handleReduction(MemoryTokenImpl&, uint64_t size,
diff --git a/storageframework/src/vespa/storageframework/generic/component/component.h b/storageframework/src/vespa/storageframework/generic/component/component.h
index 5f55bb30397..5ce86292f7d 100644
--- a/storageframework/src/vespa/storageframework/generic/component/component.h
+++ b/storageframework/src/vespa/storageframework/generic/component/component.h
@@ -67,7 +67,7 @@
*/
#pragma once
-#include <vespa/storageframework/generic/component/managedcomponent.h>
+#include "managedcomponent.h"
#include <vespa/storageframework/generic/thread/runnable.h>
#include <vespa/storageframework/generic/thread/thread.h>
#include <vespa/storageframework/generic/clock/clock.h>
@@ -107,17 +107,17 @@ class Component : private ManagedComponent
// ManagedComponent implementation
metrics::Metric* getMetric() override { return _metric; }
std::pair<MetricUpdateHook*, SecondTime> getMetricUpdateHook() override { return _metricUpdateHook; }
- const StatusReporter* getStatusReporter() { return _status; }
- void setMetricRegistrator(MetricRegistrator& mr);
- void setMemoryManager(MemoryManagerInterface& mm) { _memoryManager = &mm; }
- void setClock(Clock& c) { _clock = &c; }
- void setThreadPool(ThreadPool& tp) { _threadPool = &tp; }
- void setUpgradeFlag(UpgradeFlags flag) {
+ const StatusReporter* getStatusReporter() override { return _status; }
+ void setMetricRegistrator(MetricRegistrator& mr) override;
+ void setMemoryManager(MemoryManagerInterface& mm) override { _memoryManager = &mm; }
+ void setClock(Clock& c) override { _clock = &c; }
+ void setThreadPool(ThreadPool& tp) override { _threadPool = &tp; }
+ void setUpgradeFlag(UpgradeFlags flag) override {
assert(_upgradeFlag.is_lock_free());
_upgradeFlag.store(flag, std::memory_order_relaxed);
}
- void open();
- void close();
+ void open() override;
+ void close() override;
public:
typedef std::unique_ptr<Component> UP;
@@ -164,7 +164,7 @@ public:
vespalib::MonitorGuard getMetricManagerLock();
/** Get the name of the component. Must be a unique name. */
- const vespalib::string& getName() const { return _name; }
+ const vespalib::string& getName() const override { return _name; }
/**
* Get the thread pool for this application. Note that this call will fail
diff --git a/storageframework/src/vespa/storageframework/generic/status/htmlstatusreporter.h b/storageframework/src/vespa/storageframework/generic/status/htmlstatusreporter.h
index c76ec879121..fb9248a97b9 100644
--- a/storageframework/src/vespa/storageframework/generic/status/htmlstatusreporter.h
+++ b/storageframework/src/vespa/storageframework/generic/status/htmlstatusreporter.h
@@ -16,7 +16,7 @@
#pragma once
-#include <vespa/storageframework/generic/status/statusreporter.h>
+#include "statusreporter.h"
namespace storage {
namespace framework {
@@ -46,8 +46,8 @@ struct HtmlStatusReporter : public StatusReporter {
virtual void reportHtmlFooter(std::ostream&, const HttpUrlPath&) const;
// Implementation of StatusReporter interface
- virtual vespalib::string getReportContentType(const HttpUrlPath&) const;
- virtual bool reportStatus(std::ostream&, const HttpUrlPath&) const;
+ vespalib::string getReportContentType(const HttpUrlPath&) const override;
+ bool reportStatus(std::ostream&, const HttpUrlPath&) const override;
};
/**
@@ -59,7 +59,7 @@ struct PartlyHtmlStatusReporter : public HtmlStatusReporter {
PartlyHtmlStatusReporter(const StatusReporter& main)
: HtmlStatusReporter(main.getId(), main.getName()) {}
- virtual void reportHtmlStatus(std::ostream&, const HttpUrlPath&) const {}
+ void reportHtmlStatus(std::ostream&, const HttpUrlPath&) const override {}
};
} // framework
diff --git a/storageframework/src/vespa/storageframework/generic/status/httpurlpath.h b/storageframework/src/vespa/storageframework/generic/status/httpurlpath.h
index f73fdc752ed..8c8c24c29dd 100644
--- a/storageframework/src/vespa/storageframework/generic/status/httpurlpath.h
+++ b/storageframework/src/vespa/storageframework/generic/status/httpurlpath.h
@@ -10,7 +10,6 @@
#include <vespa/vespalib/stllike/string.h>
#include <vespa/vespalib/text/stringtokenizer.h>
#include <map>
-#include <string>
namespace storage {
namespace framework {
@@ -43,15 +42,13 @@ public:
template<typename T>
T get(const vespalib::string& id, const T& defaultValue = T()) const;
- 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;
};
template<typename T>
T HttpUrlPath::get(const vespalib::string& id, const T& defaultValue) const
{
- std::map<vespalib::string, vespalib::string>::const_iterator it
- = _attributes.find(id);
+ std::map<vespalib::string, vespalib::string>::const_iterator it = _attributes.find(id);
if (it == _attributes.end()) return defaultValue;
T val;
std::istringstream ist(it->second);
diff --git a/storageframework/src/vespa/storageframework/generic/status/xmlstatusreporter.h b/storageframework/src/vespa/storageframework/generic/status/xmlstatusreporter.h
index 0516989aaac..98002bf1113 100644
--- a/storageframework/src/vespa/storageframework/generic/status/xmlstatusreporter.h
+++ b/storageframework/src/vespa/storageframework/generic/status/xmlstatusreporter.h
@@ -17,12 +17,9 @@
#pragma once
-#include <vespa/storageframework/generic/status/statusreporter.h>
+#include "statusreporter.h"
#include <vespa/vespalib/util/xmlserializable.h>
-namespace vespalib {
-}
-
namespace storage {
namespace framework {
@@ -43,8 +40,8 @@ struct XmlStatusReporter : public StatusReporter {
const HttpUrlPath&) const;
// Implementation of status reporter interface
- virtual vespalib::string getReportContentType(const HttpUrlPath&) const;
- virtual bool reportStatus(std::ostream&, const HttpUrlPath&) const;
+ vespalib::string getReportContentType(const HttpUrlPath&) const override;
+ bool reportStatus(std::ostream&, const HttpUrlPath&) const override;
};
/**
@@ -71,12 +68,7 @@ public:
}
vespalib::XmlOutputStream& getStream() { return _xos; }
-
- virtual vespalib::string reportXmlStatus(vespalib::xml::XmlOutputStream&,
- const HttpUrlPath&) const
- {
- return "";
- }
+ vespalib::string reportXmlStatus(vespalib::xml::XmlOutputStream&, const HttpUrlPath&) const override { return ""; }
template<typename T>
PartlyXmlStatusReporter& operator<<(const T& v) {
diff --git a/storageframework/src/vespa/storageframework/generic/thread/thread.h b/storageframework/src/vespa/storageframework/generic/thread/thread.h
index e30e9b10404..a40a209e980 100644
--- a/storageframework/src/vespa/storageframework/generic/thread/thread.h
+++ b/storageframework/src/vespa/storageframework/generic/thread/thread.h
@@ -12,9 +12,8 @@
*/
#pragma once
-#include <memory>
+#include "runnable.h"
#include <vespa/vespalib/stllike/string.h>
-#include <vespa/storageframework/generic/thread/runnable.h>
namespace vespalib {
class Monitor;
@@ -35,7 +34,7 @@ public:
virtual const vespalib::string& getId() const { return _id; }
/** Check whether thread have been interrupted or not. */
- virtual bool interrupted() const = 0;
+ virtual bool interrupted() const override = 0;
/** Check whether thread have been joined or not. */
virtual bool joined() const = 0;
diff --git a/storageframework/src/vespa/storageframework/generic/thread/tickingthread.cpp b/storageframework/src/vespa/storageframework/generic/thread/tickingthread.cpp
index d425ff3a1d8..3b6d561b01f 100644
--- a/storageframework/src/vespa/storageframework/generic/thread/tickingthread.cpp
+++ b/storageframework/src/vespa/storageframework/generic/thread/tickingthread.cpp
@@ -1,12 +1,8 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/storageframework/generic/thread/tickingthread.h>
-#include <atomic>
-#include <vespa/log/log.h>
-#include <sstream>
-#include <vespa/storageframework/generic/thread/threadpool.h>
+#include "tickingthread.h"
+#include "threadpool.h"
#include <vespa/vespalib/util/exceptions.h>
-
-LOG_SETUP(".framework.thread.ticker");
+#include <vespa/vespalib/stllike/asciistream.h>
namespace storage {
namespace framework {
@@ -64,7 +60,7 @@ public:
char getState() const { return _state; }
private:
- virtual void run(ThreadHandle& handle) {
+ void run(ThreadHandle& handle) override {
ThreadWaitInfo info = ThreadWaitInfo::MORE_WORK_ENQUEUED;
CycleType cycle = PROCESS_CYCLE;
int ticksExecutedAfterWait = 0;
@@ -117,26 +113,21 @@ class TickingThreadPoolImpl : public TickingThreadPool {
struct FreezeGuard : public TickingLockGuard::Impl {
TickingThreadPoolImpl& _pool;
- FreezeGuard(TickingThreadPoolImpl& pool)
- : _pool(pool) { _pool.freeze(); }
-
- virtual ~FreezeGuard() { _pool.thaw(); }
-
- virtual void broadcast() {}
+ FreezeGuard(TickingThreadPoolImpl& pool) : _pool(pool) { _pool.freeze(); }
+ ~FreezeGuard() { _pool.thaw(); }
+ void broadcast() override {}
};
struct CriticalGuard : public TickingLockGuard::Impl {
vespalib::MonitorGuard _guard;
CriticalGuard(vespalib::Monitor& m) : _guard(m) {}
- virtual void broadcast() { _guard.broadcast(); }
+ void broadcast() override { _guard.broadcast(); }
};
public:
- TickingThreadPoolImpl(vespalib::stringref name,
- MilliSecTime waitTime,
- int ticksBeforeWait,
- MilliSecTime maxProcessTime)
+ TickingThreadPoolImpl(vespalib::stringref name, MilliSecTime waitTime,
+ int ticksBeforeWait, MilliSecTime maxProcessTime)
: _name(name),
_waitTime(waitTime.getTime()),
_ticksBeforeWait(ticksBeforeWait),
@@ -146,36 +137,31 @@ public:
stop();
}
- virtual void updateParametersAllThreads(
- MilliSecTime waitTime,
- MilliSecTime maxProcessTime,
- int ticksBeforeWait) {
+ void updateParametersAllThreads(MilliSecTime waitTime, MilliSecTime maxProcessTime,
+ int ticksBeforeWait) override {
_waitTime.store(waitTime.getTime());
_maxProcessTime.store(maxProcessTime.getTime());
_ticksBeforeWait.store(ticksBeforeWait);
// TODO: Add locking so threads not deleted while updating
- for (uint32_t i=0; i<_threads.size(); ++i) {
- _threads[i]->updateParameters(waitTime.getTime(),
- maxProcessTime.getTime(),
- ticksBeforeWait);
+ for (uint32_t i=0; i<_threads.size(); ++i) {
+ _threads[i]->updateParameters(waitTime.getTime(), maxProcessTime.getTime(), ticksBeforeWait);
}
}
- void addThread(TickingThread& ticker) {
+ void addThread(TickingThread& ticker) override {
ThreadIndex index = _tickers.size();
ticker.newThreadCreated(index);
- _tickers.push_back(TickingThreadRunner::SP(
- new TickingThreadRunner(_monitor, ticker, index)));
+ _tickers.push_back(TickingThreadRunner::SP(new TickingThreadRunner(_monitor, ticker, index)));
}
- void start(ThreadPool& pool) {
+ void start(ThreadPool& pool) override {
if (_tickers.empty()) {
throw vespalib::IllegalStateException(
"Makes no sense to start threadpool without threads",
VESPA_STRLOC);
}
for (uint32_t i=0; i<_tickers.size(); ++i) {
- std::ostringstream ost;
+ vespalib::asciistream ost;
ost << _name.c_str() << " thread " << i;
_threads.push_back(std::shared_ptr<Thread>(pool.startThread(
*_tickers[i],
@@ -186,17 +172,16 @@ public:
}
}
- virtual TickingLockGuard freezeAllTicks() {
- return TickingLockGuard(std::unique_ptr<TickingLockGuard::Impl>(
- new FreezeGuard(*this)));
+ TickingLockGuard freezeAllTicks() override {
+ return TickingLockGuard(std::unique_ptr<TickingLockGuard::Impl>(new FreezeGuard(*this)));
}
- virtual TickingLockGuard freezeCriticalTicks() {
+ TickingLockGuard freezeCriticalTicks() override {
return TickingLockGuard(std::unique_ptr<TickingLockGuard::Impl>(
new CriticalGuard(_monitor)));
}
- void stop() {
+ void stop() override {
for (uint32_t i=0; i<_threads.size(); ++i) {
_threads[i]->interrupt();
}
@@ -209,7 +194,7 @@ public:
}
}
- vespalib::string getStatus() {
+ vespalib::string getStatus() override {
vespalib::string result(_tickers.size(), ' ');
for (uint32_t i=0, n=_tickers.size(); i<n; ++i) {
result[i] = _tickers[i]->getState();
diff --git a/vdslib/src/vespa/vdslib/container/documentlist.h b/vdslib/src/vespa/vdslib/container/documentlist.h
index e6817619228..5ac2ce21288 100644
--- a/vdslib/src/vespa/vdslib/container/documentlist.h
+++ b/vdslib/src/vespa/vdslib/container/documentlist.h
@@ -22,9 +22,9 @@
#pragma once
+#include <vespa/vdslib/defs.h>
#include <vespa/document/fieldvalue/document.h>
#include <vespa/document/repo/documenttyperepo.h>
-#include <vespa/vdslib/defs.h>
namespace document {
class DocumentUpdate;
@@ -118,7 +118,7 @@ public:
+ sizeof(MetaEntry);
}
- 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 Entry& e) const { return (_start == e._start && _entry == e._entry); }
};
@@ -184,7 +184,7 @@ public:
}
void checkConsistency(bool do_memset = false);
- 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;
const document::DocumentTypeRepo::SP & getTypeRepo() const { return _repo; }
protected:
diff --git a/vdslib/src/vespa/vdslib/container/parameters.h b/vdslib/src/vespa/vdslib/container/parameters.h
index 2a551d6ff39..9ed86333e7a 100644
--- a/vdslib/src/vespa/vdslib/container/parameters.h
+++ b/vdslib/src/vespa/vdslib/container/parameters.h
@@ -42,9 +42,9 @@ public:
private:
ParametersMap _parameters;
- void onSerialize(document::ByteBuffer& buffer) const;
- void onDeserialize(const document::DocumentTypeRepo &repo, document::ByteBuffer& buffer);
- void printXml(document::XmlOutputStream& xos) const;
+ void onSerialize(document::ByteBuffer& buffer) const override;
+ void onDeserialize(const document::DocumentTypeRepo &repo, document::ByteBuffer& buffer) override;
+ void printXml(document::XmlOutputStream& xos) const override;
public:
Parameters();
@@ -53,9 +53,9 @@ public:
bool operator==(const Parameters &other) const;
- Parameters* clone() const;
+ Parameters* clone() const override;
- size_t getSerializedSize() const;
+ size_t getSerializedSize() const override;
bool hasValue(const KeyT & id) const { return (_parameters.find(id) != _parameters.end()); }
unsigned int size() const { return _parameters.size(); }
diff --git a/vdslib/src/vespa/vdslib/container/visitorstatistics.h b/vdslib/src/vespa/vdslib/container/visitorstatistics.h
index 5812ea25fde..d668b7fa693 100644
--- a/vdslib/src/vespa/vdslib/container/visitorstatistics.h
+++ b/vdslib/src/vespa/vdslib/container/visitorstatistics.h
@@ -1,8 +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 <string>
-#include <stdint.h>
#include <vespa/document/util/printable.h>
namespace vdslib {
@@ -35,7 +33,7 @@ public:
uint64_t getSecondPassBytesReturned() const { return _secondPassBytesReturned; }
void setSecondPassBytesReturned(uint32_t bytesReturned) { _secondPassBytesReturned = bytesReturned; }
- 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:
uint32_t _bucketsVisited;
uint64_t _documentsVisited;
diff --git a/vdslib/src/vespa/vdslib/defs.h b/vdslib/src/vespa/vdslib/defs.h
index da4a4589715..91421787e1b 100644
--- a/vdslib/src/vespa/vdslib/defs.h
+++ b/vdslib/src/vespa/vdslib/defs.h
@@ -1,5 +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 <cstdint>
+
namespace vdslib {
typedef uint64_t Timestamp;
diff --git a/vdslib/src/vespa/vdslib/distribution/distribution.cpp b/vdslib/src/vespa/vdslib/distribution/distribution.cpp
index 0997c9047e1..a75ba591af5 100644
--- a/vdslib/src/vespa/vdslib/distribution/distribution.cpp
+++ b/vdslib/src/vespa/vdslib/distribution/distribution.cpp
@@ -7,7 +7,6 @@
#include <vespa/vespalib/stllike/asciistream.h>
#include <boost/lexical_cast.hpp>
#include <vespa/config/config.h>
-#include <vespa/config/common/misc.h>
#include <vespa/config/print/asciiconfigwriter.h>
#include <vespa/config/print/asciiconfigreader.h>
#include <vespa/vespalib/util/exceptions.h>
diff --git a/vdslib/src/vespa/vdslib/distribution/group.h b/vdslib/src/vespa/vdslib/distribution/group.h
index 8e8740ca739..07ba774931a 100644
--- a/vdslib/src/vespa/vdslib/distribution/group.h
+++ b/vdslib/src/vespa/vdslib/distribution/group.h
@@ -11,17 +11,13 @@
*/
#pragma once
-#include <map>
-#include <vector>
+#include "redundancygroupdistribution.h"
#include <vespa/vespalib/objects/floatingpointtype.h>
-#include <vespa/vdslib/distribution/redundancygroupdistribution.h>
#include <vespa/vespalib/util/crc.h>
+#include <map>
+#include <vector>
-namespace vespalib {
-
-class asciistream;
-
-}
+namespace vespalib { class asciistream; }
namespace storage {
namespace lib {
@@ -64,8 +60,7 @@ public:
bool isLeafGroup() const { return _nodes.size() > 0; }
bool operator==(const Group& other) const;
- 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;
vespalib::Double getCapacity() const { return _capacity; }
const vespalib::string & getName() const { return _name; }
diff --git a/vdslib/src/vespa/vdslib/distribution/redundancygroupdistribution.h b/vdslib/src/vespa/vdslib/distribution/redundancygroupdistribution.h
index 3b45cc3d612..080e5042440 100644
--- a/vdslib/src/vespa/vdslib/distribution/redundancygroupdistribution.h
+++ b/vdslib/src/vespa/vdslib/distribution/redundancygroupdistribution.h
@@ -38,7 +38,7 @@ public:
bool operator==(const RedundancyGroupDistribution& o) const
{ return (_values == o._values); }
- void print(std::ostream&, bool verbose, const std::string& indent) const;
+ void print(std::ostream&, bool verbose, const std::string& indent) const override;
private:
uint16_t getFirstAsterixIndex() const;
diff --git a/vdslib/src/vespa/vdslib/state/clusterstate.h b/vdslib/src/vespa/vdslib/state/clusterstate.h
index 2d0f73413fd..dcea1308b6b 100644
--- a/vdslib/src/vespa/vdslib/state/clusterstate.h
+++ b/vdslib/src/vespa/vdslib/state/clusterstate.h
@@ -8,9 +8,9 @@
#pragma once
+#include "node.h"
+#include "nodestate.h"
#include <map>
-#include <vespa/vdslib/state/node.h>
-#include <vespa/vdslib/state/nodestate.h>
namespace storage {
namespace lib {
@@ -63,8 +63,7 @@ public:
void setDescription(const vespalib::stringref & s) { _description = s; }
void setDistributionBitCount(uint16_t count) { _distributionBits = count; }
- 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;
void printStateGroupwise(std::ostream& out,
const Distribution&, bool verbose = false,
diff --git a/vdslib/src/vespa/vdslib/state/diskstate.h b/vdslib/src/vespa/vdslib/state/diskstate.h
index 9a6855efedd..9c92f211b73 100644
--- a/vdslib/src/vespa/vdslib/state/diskstate.h
+++ b/vdslib/src/vespa/vdslib/state/diskstate.h
@@ -6,8 +6,8 @@
*/
#pragma once
+#include "state.h"
#include <vespa/document/util/printable.h>
-#include <vespa/vdslib/state/state.h>
#include <vespa/vespalib/objects/floatingpointtype.h>
namespace storage {
@@ -38,8 +38,7 @@ public:
void setCapacity(double capacity);
void setDescription(const vespalib::stringref & desc) { _description = desc; }
- 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;
bool operator==(const DiskState& other) const;
bool operator!=(const DiskState& other) const;
diff --git a/vdslib/src/vespa/vdslib/state/node.h b/vdslib/src/vespa/vdslib/state/node.h
index 4b9718162ab..357f39c6694 100644
--- a/vdslib/src/vespa/vdslib/state/node.h
+++ b/vdslib/src/vespa/vdslib/state/node.h
@@ -7,8 +7,8 @@
#pragma once
+#include "nodetype.h"
#include <vespa/vespalib/util/printable.h>
-#include <vespa/vdslib/state/nodetype.h>
namespace storage {
namespace lib {
@@ -24,7 +24,7 @@ public:
const NodeType& getType() const { return *_type; }
uint16_t getIndex() const { return _index; }
- void print(vespalib::asciistream&, const PrintProperties&) const;
+ void print(vespalib::asciistream&, const PrintProperties&) const override;
bool operator==(const Node& other) const
{ return (other._index == _index && *other._type == *_type); }
diff --git a/vdslib/src/vespa/vdslib/state/nodestate.h b/vdslib/src/vespa/vdslib/state/nodestate.h
index 275e8d5658c..0b5f38ecc92 100644
--- a/vdslib/src/vespa/vdslib/state/nodestate.h
+++ b/vdslib/src/vespa/vdslib/state/nodestate.h
@@ -10,12 +10,10 @@
*/
#pragma once
-#include <string>
-#include <vector>
+#include "diskstate.h"
+#include "state.h"
+#include "random.h"
#include <vespa/document/bucket/bucketidfactory.h>
-#include <vespa/vdslib/state/diskstate.h>
-#include <vespa/vdslib/state/state.h>
-#include <vespa/vdslib/state/random.h>
namespace storage {
namespace lib {
@@ -87,8 +85,8 @@ public:
void setDiskCount(uint16_t count);
void setDiskState(uint16_t index, const DiskState&);
- 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;
bool operator==(const NodeState& other) const;
bool operator!=(const NodeState& other) const
{ return !(operator==(other)); }
diff --git a/vdslib/src/vespa/vdslib/state/state.h b/vdslib/src/vespa/vdslib/state/state.h
index f42402f687b..27c672f9132 100644
--- a/vdslib/src/vespa/vdslib/state/state.h
+++ b/vdslib/src/vespa/vdslib/state/state.h
@@ -9,9 +9,9 @@
*/
#pragma once
+#include "nodetype.h"
#include <vespa/vespalib/util/printable.h>
#include <vespa/vespalib/stllike/string.h>
-#include <vespa/vdslib/state/nodetype.h>
#include <vector>
namespace storage {
@@ -70,8 +70,7 @@ public:
return _name;
}
- 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;
bool operator==(const State& other) const { return (&other == this); }
bool operator!=(const State& other) const { return (&other != this); }
diff --git a/vdslib/src/vespa/vdslib/thread/taskscheduler.h b/vdslib/src/vespa/vdslib/thread/taskscheduler.h
index 558ebd46c1e..8e75e488c2b 100644
--- a/vdslib/src/vespa/vdslib/thread/taskscheduler.h
+++ b/vdslib/src/vespa/vdslib/thread/taskscheduler.h
@@ -97,8 +97,8 @@ private:
TaskVector _currentRunningTasks;
uint64_t _taskCounter;
- virtual void run();
- virtual bool onStop();
+ void run() override;
+ bool onStop() override;
};
} // vdslib
diff --git a/vespalib/src/vespa/vespalib/util/closure.h b/vespalib/src/vespa/vespalib/util/closure.h
index 798ab4ea698..a389bc5deeb 100644
--- a/vespalib/src/vespa/vespalib/util/closure.h
+++ b/vespalib/src/vespa/vespalib/util/closure.h
@@ -174,8 +174,7 @@ class MemberClosure0_1 : public Closure0<R> {
MemFun _mem_fun;
T1 _arg1;
- virtual R call()
- { return ((*_ptr).*_mem_fun)(std::move(_arg1)); }
+ R call() override { return ((*_ptr).*_mem_fun)(std::move(_arg1)); }
public:
MemberClosure0_1(Ptr ptr, MemFun mem_fun, T1 arg1)
@@ -192,8 +191,7 @@ class MemberClosure0_2 : public Closure0<R> {
T1 _arg1;
T2 _arg2;
- virtual R call()
- { return ((*_ptr).*_mem_fun)(std::move(_arg1), std::move(_arg2)); }
+ R call() override { return ((*_ptr).*_mem_fun)(std::move(_arg1), std::move(_arg2)); }
public:
MemberClosure0_2(Ptr ptr, MemFun mem_fun, T1 arg1, T2 arg2)