aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configutil/src/lib/modelinspect.cpp1
-rw-r--r--document/src/tests/bucketselectortest.cpp2
-rw-r--r--document/src/tests/fieldsettest.cpp6
-rw-r--r--document/src/tests/primitivefieldvaluetest.cpp1
-rw-r--r--document/src/tests/serialization/annotationserializer_test.cpp1
-rw-r--r--document/src/vespa/document/base/idstring.cpp1
-rw-r--r--document/src/vespa/document/bucket/bucketid.cpp1
-rw-r--r--document/src/vespa/document/bucket/bucketidfactory.cpp6
-rw-r--r--document/src/vespa/document/bucket/bucketselector.cpp1
-rw-r--r--document/src/vespa/document/fieldvalue/document.cpp1
-rw-r--r--document/src/vespa/document/fieldvalue/mapfieldvalue.cpp1
-rw-r--r--document/src/vespa/document/fieldvalue/serializablearray.cpp1
-rw-r--r--document/src/vespa/document/fieldvalue/structfieldvalue.cpp1
-rw-r--r--documentapi/src/tests/messages/testbase.cpp3
-rw-r--r--documentapi/src/tests/priority/priority.cpp1
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/routablerepository.cpp1
-rw-r--r--eval/src/vespa/eval/eval/basic_nodes.h104
-rw-r--r--eval/src/vespa/eval/eval/test/eval_spec.cpp9
-rw-r--r--eval/src/vespa/eval/eval/value_type.cpp7
-rw-r--r--eval/src/vespa/eval/tensor/dense/dense_tensor_builder.cpp10
-rw-r--r--eval/src/vespa/eval/tensor/dense/dense_tensor_reduce.hpp9
-rw-r--r--eval/src/vespa/eval/tensor/sparse/sparse_tensor.cpp8
-rw-r--r--eval/src/vespa/eval/tensor/sparse/sparse_tensor_unsorted_address_builder.cpp8
-rw-r--r--eval/src/vespa/eval/tensor/tensor_mapper.cpp12
-rw-r--r--memfilepersistence/src/vespa/memfilepersistence/device/device.cpp9
-rw-r--r--memfilepersistence/src/vespa/memfilepersistence/mapper/locationreadplanner.cpp7
-rw-r--r--memfilepersistence/src/vespa/memfilepersistence/mapper/memfile_v1_verifier.cpp1
-rw-r--r--memfilepersistence/src/vespa/memfilepersistence/mapper/memfilemapper.cpp2
-rw-r--r--memfilepersistence/src/vespa/memfilepersistence/memfile/memfilecompactor.cpp13
-rw-r--r--metrics/src/vespa/metrics/metric.cpp1
-rw-r--r--metrics/src/vespa/metrics/metricmanager.cpp1
-rw-r--r--metrics/src/vespa/metrics/metricset.cpp1
-rw-r--r--metrics/src/vespa/metrics/summetric.hpp4
-rw-r--r--metrics/src/vespa/metrics/valuemetricvalues.h1
-rw-r--r--persistence/src/vespa/persistence/conformancetest/conformancetest.cpp9
-rw-r--r--persistence/src/vespa/persistence/dummyimpl/dummypersistence.cpp1
-rw-r--r--searchcommon/src/vespa/searchcommon/attribute/persistent_predicate_params.h8
-rw-r--r--searchcore/src/tests/proton/index/diskindexcleaner_test.cpp3
-rw-r--r--searchcore/src/vespa/searchcore/fdispatch/search/search_path.h1
-rw-r--r--searchcore/src/vespa/searchcore/proton/bucketdb/bucketdb.cpp1
-rw-r--r--searchcore/src/vespa/searchcore/proton/documentmetastore/lid_gid_key_comparator.cpp1
-rw-r--r--searchcore/src/vespa/searchcore/proton/flushengine/flush_all_strategy.cpp1
-rw-r--r--searchcore/src/vespa/searchcore/proton/flushengine/prepare_restart_flush_strategy.cpp1
-rw-r--r--searchcore/src/vespa/searchcore/proton/matching/handlerecorder.cpp8
-rw-r--r--searchcore/src/vespa/searchcore/proton/persistenceengine/document_iterator.cpp1
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/bootstrapconfigmanager.cpp4
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/fileconfigmanager.cpp9
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/frozenbuckets.cpp4
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/memoryflush.cpp1
-rw-r--r--searchcore/src/vespa/searchcore/proton/test/bucketdocuments.h11
-rw-r--r--searchlib/src/tests/bitcompression/expgolomb/expgolomb_test.cpp6
-rw-r--r--searchlib/src/tests/memoryindex/document_remover/document_remover_test.cpp7
-rw-r--r--searchlib/src/vespa/searchlib/btree/btreetraits.h12
-rw-r--r--searchlib/src/vespa/searchlib/common/bitvectorcache.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/common/indexmetainfo.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/common/location.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/common/rankedhit.h4
-rw-r--r--searchlib/src/vespa/searchlib/common/tunefileinfo.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/common/tunefileinfo.h24
-rw-r--r--searchlib/src/vespa/searchlib/common/tunefileinfo.hpp35
-rw-r--r--searchlib/src/vespa/searchlib/datastore/array_store.hpp1
-rw-r--r--searchlib/src/vespa/searchlib/datastore/buffer_type.cpp6
-rw-r--r--searchlib/src/vespa/searchlib/datastore/buffer_type.h8
-rw-r--r--searchlib/src/vespa/searchlib/datastore/datastorebase.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/wordnummapper.h1
-rw-r--r--searchlib/src/vespa/searchlib/docstore/storebybucket.cpp5
-rw-r--r--searchlib/src/vespa/searchlib/docstore/visitcache.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/features/array_parser.h6
-rw-r--r--searchlib/src/vespa/searchlib/features/array_parser.hpp7
-rw-r--r--searchlib/src/vespa/searchlib/features/utils.h1
-rw-r--r--searchlib/src/vespa/searchlib/fef/indexproperties.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/fef/rank_program.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/fef/termfieldmatchdata.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/fef/termmatchdatamerger.cpp7
-rw-r--r--searchlib/src/vespa/searchlib/index/dictionaryfile.h1
-rw-r--r--searchlib/src/vespa/searchlib/query/queryterm.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/predicate_search.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/unpackinfo.cpp7
-rw-r--r--searchlib/src/vespa/searchlib/test/initrange.cpp5
-rw-r--r--staging_vespalib/src/tests/array/sort_benchmark.cpp1
-rw-r--r--storage/src/tests/distributor/bucketdatabasetest.cpp5
-rw-r--r--storage/src/tests/distributor/simplemaintenancescannertest.cpp6
-rw-r--r--storage/src/tests/persistence/splitbitdetectortest.cpp1
-rw-r--r--storage/src/vespa/storage/bucketdb/bucketinfo.cpp1
-rw-r--r--storage/src/vespa/storage/distributor/operations/idealstate/mergelimiter.cpp3
-rw-r--r--storage/src/vespa/storage/distributor/operationtargetresolverimpl.h7
-rw-r--r--storage/src/vespa/storage/frameworkimpl/memory/memorystatusviewer.cpp2
-rw-r--r--storage/src/vespa/storage/persistence/filestorage/modifiedbucketchecker.cpp1
-rw-r--r--storage/src/vespa/storage/persistence/mergehandler.cpp3
-rw-r--r--storage/src/vespa/storage/persistence/persistencethread.cpp1
-rw-r--r--storage/src/vespa/storage/storageserver/mergethrottler.cpp2
-rw-r--r--storage/src/vespa/storage/tools/generatedistributionbits.cpp1
-rw-r--r--storageapi/src/vespa/storageapi/message/batch.cpp1
-rw-r--r--storageapi/src/vespa/storageapi/message/bucketsplitting.cpp8
-rw-r--r--streamingvisitors/src/vespa/searchvisitor/hitcollector.cpp1
-rw-r--r--vdslib/src/vespa/vdslib/container/documentlist.cpp1
-rw-r--r--vdslib/src/vespa/vdslib/container/documentsummary.cpp1
-rw-r--r--vdslib/src/vespa/vdslib/container/searchresult.cpp1
-rw-r--r--vdslib/src/vespa/vdslib/distribution/group.cpp1
-rw-r--r--vespalib/src/tests/stllike/hash_test.cpp1
-rw-r--r--vespalib/src/tests/stllike/string_test.cpp1
-rw-r--r--vespalib/src/vespa/vespalib/util/alloc.h8
-rw-r--r--vespalib/src/vespa/vespalib/util/array.h7
-rw-r--r--vespalib/src/vespa/vespalib/util/array.hpp5
-rw-r--r--vespalib/src/vespa/vespalib/util/compress.h11
-rw-r--r--vespalib/src/vespa/vespalib/websocket/request.cpp7
106 files changed, 315 insertions, 229 deletions
diff --git a/configutil/src/lib/modelinspect.cpp b/configutil/src/lib/modelinspect.cpp
index de21a0f4388..bf0536a9d4c 100644
--- a/configutil/src/lib/modelinspect.cpp
+++ b/configutil/src/lib/modelinspect.cpp
@@ -5,6 +5,7 @@
#include <vespa/config/helper/configgetter.hpp>
#include <vespa/config/common/exceptions.h>
#include <iostream>
+#include <algorithm>
using configdefinitions::tagsContain;
using configdefinitions::upcase;
diff --git a/document/src/tests/bucketselectortest.cpp b/document/src/tests/bucketselectortest.cpp
index d2a66737d19..0f8520745f1 100644
--- a/document/src/tests/bucketselectortest.cpp
+++ b/document/src/tests/bucketselectortest.cpp
@@ -6,7 +6,7 @@
#include <vespa/vdstestlib/cppunit/macros.h>
#include <vespa/document/select/parser.h>
#include <vespa/document/base/testdocrepo.h>
-#include <memory>
+#include <algorithm>
using document::select::Node;
using document::select::Parser;
diff --git a/document/src/tests/fieldsettest.cpp b/document/src/tests/fieldsettest.cpp
index 0599ce723a6..3711ff05535 100644
--- a/document/src/tests/fieldsettest.cpp
+++ b/document/src/tests/fieldsettest.cpp
@@ -2,17 +2,13 @@
#include <vespa/document/base/testdocman.h>
#include <vespa/document/fieldset/fieldsetrepo.h>
-#include <vespa/document/fieldvalue/fieldvalues.h>
#include <vespa/vespalib/io/fileutil.h>
#include <vespa/vdstestlib/cppunit/macros.h>
-#include <vespa/document/annotation/spantree.h>
-#include <vespa/document/config/config-documenttypes.h>
#include <vespa/document/datatype/annotationreferencedatatype.h>
#include <vespa/document/repo/configbuilder.h>
-#include <vespa/document/repo/documenttyperepo.h>
#include <vespa/vespalib/objects/nbostream.h>
-#include <fstream>
+#include <algorithm>
using vespalib::nbostream;
diff --git a/document/src/tests/primitivefieldvaluetest.cpp b/document/src/tests/primitivefieldvaluetest.cpp
index 39abba58e6f..3d74c9e539b 100644
--- a/document/src/tests/primitivefieldvaluetest.cpp
+++ b/document/src/tests/primitivefieldvaluetest.cpp
@@ -5,6 +5,7 @@
#include <vespa/vdstestlib/cppunit/macros.h>
#include <vespa/vespalib/objects/nbostream.h>
#include <vespa/document/util/bytebuffer.h>
+#include <limits>
using vespalib::nbostream;
diff --git a/document/src/tests/serialization/annotationserializer_test.cpp b/document/src/tests/serialization/annotationserializer_test.cpp
index 9f045980f92..317b090c671 100644
--- a/document/src/tests/serialization/annotationserializer_test.cpp
+++ b/document/src/tests/serialization/annotationserializer_test.cpp
@@ -13,6 +13,7 @@
#include <vespa/vespalib/testkit/testapp.h>
#include <vespa/fastos/file.h>
#include <fstream>
+#include <algorithm>
using document::DocumenttypesConfig;
diff --git a/document/src/vespa/document/base/idstring.cpp b/document/src/vespa/document/base/idstring.cpp
index 4118ccb88af..9c64ac6a648 100644
--- a/document/src/vespa/document/base/idstring.cpp
+++ b/document/src/vespa/document/base/idstring.cpp
@@ -5,6 +5,7 @@
#include <vespa/document/bucket/bucketid.h>
#include <vespa/vespalib/util/md5.h>
#include <vespa/vespalib/util/stringfmt.h>
+#include <limits>
using vespalib::string;
using vespalib::stringref;
diff --git a/document/src/vespa/document/bucket/bucketid.cpp b/document/src/vespa/document/bucket/bucketid.cpp
index c9572e43eb4..ddea0d4ba85 100644
--- a/document/src/vespa/document/bucket/bucketid.cpp
+++ b/document/src/vespa/document/bucket/bucketid.cpp
@@ -7,6 +7,7 @@
#include <vespa/vespalib/stllike/asciistream.h>
#include <vespa/vespalib/stllike/hash_set.hpp>
#include <vespa/vespalib/util/stringfmt.h>
+#include <limits>
using vespalib::nbostream;
using vespalib::asciistream;
diff --git a/document/src/vespa/document/bucket/bucketidfactory.cpp b/document/src/vespa/document/bucket/bucketidfactory.cpp
index fe8acf24e18..0d7ad9da71e 100644
--- a/document/src/vespa/document/bucket/bucketidfactory.cpp
+++ b/document/src/vespa/document/bucket/bucketidfactory.cpp
@@ -1,11 +1,11 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/document/bucket/bucketidfactory.h>
-
-#include <vespa/document/bucket/bucketid.h>
+#include "bucketidfactory.h"
+#include "bucketid.h"
#include <vespa/document/base/documentid.h>
#include <ostream>
#include <cassert>
+#include <limits>
namespace document {
diff --git a/document/src/vespa/document/bucket/bucketselector.cpp b/document/src/vespa/document/bucket/bucketselector.cpp
index 5589efa1a5f..5ded691269a 100644
--- a/document/src/vespa/document/bucket/bucketselector.cpp
+++ b/document/src/vespa/document/bucket/bucketselector.cpp
@@ -9,6 +9,7 @@
#include <vespa/document/select/branch.h>
#include <vespa/document/select/compare.h>
#include <vespa/vespalib/util/stringfmt.h>
+#include <algorithm>
namespace document {
diff --git a/document/src/vespa/document/fieldvalue/document.cpp b/document/src/vespa/document/fieldvalue/document.cpp
index ddb3e66af23..acbb2e800cb 100644
--- a/document/src/vespa/document/fieldvalue/document.cpp
+++ b/document/src/vespa/document/fieldvalue/document.cpp
@@ -12,6 +12,7 @@
#include <vespa/document/util/bytebuffer.h>
#include <vespa/vespalib/util/xmlstream.h>
#include <sstream>
+#include <limits>
using vespalib::nbostream;
using vespalib::make_string;
diff --git a/document/src/vespa/document/fieldvalue/mapfieldvalue.cpp b/document/src/vespa/document/fieldvalue/mapfieldvalue.cpp
index 081d0325a6e..8e5a641ab6e 100644
--- a/document/src/vespa/document/fieldvalue/mapfieldvalue.cpp
+++ b/document/src/vespa/document/fieldvalue/mapfieldvalue.cpp
@@ -8,6 +8,7 @@
#include <vespa/vespalib/util/xmlstream.h>
#include <vespa/vespalib/stllike/hash_set.hpp>
#include <cassert>
+#include <algorithm>
#include <vespa/log/log.h>
LOG_SETUP(".document.fieldvalue.map");
diff --git a/document/src/vespa/document/fieldvalue/serializablearray.cpp b/document/src/vespa/document/fieldvalue/serializablearray.cpp
index ac1cabc82c0..76216d75f1b 100644
--- a/document/src/vespa/document/fieldvalue/serializablearray.cpp
+++ b/document/src/vespa/document/fieldvalue/serializablearray.cpp
@@ -5,6 +5,7 @@
#include <vespa/document/util/compressor.h>
#include <vespa/vespalib/stllike/hash_map.hpp>
#include <vespa/vespalib/data/databuffer.h>
+#include <algorithm>
#include <vespa/log/log.h>
LOG_SETUP(".document.serializable-array");
diff --git a/document/src/vespa/document/fieldvalue/structfieldvalue.cpp b/document/src/vespa/document/fieldvalue/structfieldvalue.cpp
index adb6fb9fa4e..c0ae342fd34 100644
--- a/document/src/vespa/document/fieldvalue/structfieldvalue.cpp
+++ b/document/src/vespa/document/fieldvalue/structfieldvalue.cpp
@@ -12,6 +12,7 @@
#include <vespa/document/base/exceptions.h>
#include <vespa/document/util/bytebuffer.h>
#include <vespa/vespalib/util/xmlstream.h>
+#include <algorithm>
#include <vespa/log/log.h>
LOG_SETUP(".document.structfieldvalue");
diff --git a/documentapi/src/tests/messages/testbase.cpp b/documentapi/src/tests/messages/testbase.cpp
index 995fde4aa69..8f2729964a6 100644
--- a/documentapi/src/tests/messages/testbase.cpp
+++ b/documentapi/src/tests/messages/testbase.cpp
@@ -3,10 +3,11 @@
#include "testbase.h"
#include <vespa/document/base/testdocrepo.h>
#include <vespa/vespalib/util/exception.h>
-#include <vespa/log/log.h>
#include <fcntl.h>
#include <unistd.h>
+#include <algorithm>
+#include <vespa/log/log.h>
LOG_SETUP(".testbase");
using document::DocumentTypeRepo;
diff --git a/documentapi/src/tests/priority/priority.cpp b/documentapi/src/tests/priority/priority.cpp
index 1a363dfff31..bc255215813 100644
--- a/documentapi/src/tests/priority/priority.cpp
+++ b/documentapi/src/tests/priority/priority.cpp
@@ -3,6 +3,7 @@
#include <vespa/vespalib/testkit/testapp.h>
#include <vespa/documentapi/messagebus/priority.h>
#include <fstream>
+#include <algorithm>
using namespace documentapi;
diff --git a/documentapi/src/vespa/documentapi/messagebus/routablerepository.cpp b/documentapi/src/vespa/documentapi/messagebus/routablerepository.cpp
index 03562553fc0..ce83a2cd638 100644
--- a/documentapi/src/vespa/documentapi/messagebus/routablerepository.cpp
+++ b/documentapi/src/vespa/documentapi/messagebus/routablerepository.cpp
@@ -5,6 +5,7 @@
#include <vespa/document/util/stringutil.h>
#include <vespa/vespalib/util/exceptions.h>
#include <sstream>
+#include <algorithm>
#include <vespa/log/log.h>
LOG_SETUP(".routablerepository");
diff --git a/eval/src/vespa/eval/eval/basic_nodes.h b/eval/src/vespa/eval/eval/basic_nodes.h
index 027d6c28d78..c76a43468db 100644
--- a/eval/src/vespa/eval/eval/basic_nodes.h
+++ b/eval/src/vespa/eval/eval/basic_nodes.h
@@ -9,9 +9,9 @@
#include <map>
#include <vector>
#include <cassert>
+#include <limits>
-namespace vespalib {
-namespace eval {
+namespace vespalib::eval {
namespace nodes { class Node; }
@@ -24,6 +24,7 @@ struct NodeVisitor;
**/
struct NodeHandler {
virtual void handle(std::unique_ptr<nodes::Node> node) = 0;
+
virtual ~NodeHandler() {}
};
@@ -35,9 +36,10 @@ namespace nodes {
**/
struct DumpContext {
const std::vector<vespalib::string> &param_names;
- std::vector<vespalib::string> let_names;
+ std::vector<vespalib::string> let_names;
+
DumpContext(const std::vector<vespalib::string> &param_names_in)
- : param_names(param_names_in), let_names() {}
+ : param_names(param_names_in), let_names() {}
};
/**
@@ -46,19 +48,32 @@ struct DumpContext {
**/
struct Node {
virtual bool is_forest() const { return false; }
+
virtual bool is_tree() const { return false; }
+
virtual bool is_const() const { return false; }
+
virtual bool is_param() const { return false; }
+
virtual double get_const_value() const;
+
void traverse(NodeTraverser &traverser) const;
+
virtual vespalib::string dump(DumpContext &ctx) const = 0;
+
virtual void accept(NodeVisitor &visitor) const = 0;
+
virtual size_t num_children() const = 0;
+
virtual const Node &get_child(size_t idx) const = 0;
+
virtual void detach_children(NodeHandler &handler) = 0;
+
bool is_leaf() const { return (num_children() == 0); }
+
virtual ~Node() {}
};
+
typedef std::unique_ptr<Node> Node_UP;
/**
@@ -70,7 +85,7 @@ typedef std::unique_ptr<Node> Node_UP;
* }
* </pre>
**/
-template <typename T>
+template<typename T>
const T *as(const Node &node) { return dynamic_cast<const T *>(&node); }
/**
@@ -79,9 +94,11 @@ const T *as(const Node &node) { return dynamic_cast<const T *>(&node); }
**/
struct Leaf : public Node {
size_t num_children() const override { return 0; }
+
const Node &get_child(size_t) const override {
abort();
}
+
void detach_children(NodeHandler &) override {}
};
@@ -91,7 +108,9 @@ struct Leaf : public Node {
**/
struct CommaTracker {
bool first;
+
CommaTracker() : first(true) {}
+
void maybe_comma(vespalib::string &dst) {
if (first) {
first = false;
@@ -106,12 +125,17 @@ private:
double _value;
public:
Number(double value_in) : _value(value_in) {}
+
virtual bool is_const() const override { return true; }
+
virtual double get_const_value() const override { return value(); }
+
double value() const { return _value; }
+
vespalib::string dump(DumpContext &) const override {
return make_string("%g", _value);
}
+
void accept(NodeVisitor &visitor) const override;
};
@@ -120,11 +144,15 @@ private:
int _id;
public:
static const int UNDEF = std::numeric_limits<int>::max();
+
explicit Symbol(int id_in) : _id(id_in) {}
+
int id() const { return _id; }
+
bool is_param() const override {
return (_id >= 0);
}
+
vespalib::string dump(DumpContext &ctx) const override {
if (_id >= 0) { // param value
assert(size_t(_id) < ctx.param_names.size());
@@ -135,6 +163,7 @@ public:
return ctx.let_names[let_offset];
}
}
+
void accept(NodeVisitor &visitor) const override;
};
@@ -143,11 +172,17 @@ private:
vespalib::string _value;
public:
String(const vespalib::string &value_in) : _value(value_in) {}
+
bool is_const() const override { return true; }
+
double get_const_value() const override { return hash(); }
+
const vespalib::string value() const { return _value; }
+
uint32_t hash() const { return hash_code(_value.data(), _value.size()); }
+
vespalib::string dump(DumpContext &ctx) const override;
+
void accept(NodeVisitor &visitor) const override;
};
@@ -157,17 +192,24 @@ private:
bool _is_const;
public:
Array() : _nodes(), _is_const(false) {}
+
bool is_const() const override { return _is_const; }
+
size_t size() const { return _nodes.size(); }
+
const Node &get(size_t i) const { return *_nodes[i]; }
+
size_t num_children() const override { return size(); }
+
const Node &get_child(size_t idx) const override { return get(idx); }
+
void detach_children(NodeHandler &handler) override {
for (size_t i = 0; i < _nodes.size(); ++i) {
handler.handle(std::move(_nodes[i]));
}
_nodes.clear();
}
+
void add(Node_UP node) {
if (_nodes.empty()) {
_is_const = node->is_const();
@@ -176,6 +218,7 @@ public:
}
_nodes.push_back(std::move(node));
}
+
vespalib::string dump(DumpContext &ctx) const override {
vespalib::string str;
str += "[";
@@ -187,6 +230,7 @@ public:
str += "]";
return str;
}
+
void accept(NodeVisitor &visitor) const override;
};
@@ -196,17 +240,23 @@ private:
bool _is_const;
public:
Neg(Node_UP child_in) : _child(std::move(child_in)), _is_const(_child->is_const()) {}
+
bool is_const() const override { return _is_const; }
+
const Node &child() const { return *_child; }
+
size_t num_children() const override { return _child ? 1 : 0; }
+
const Node &get_child(size_t idx) const override {
(void) idx;
assert(idx == 0);
return child();
}
+
void detach_children(NodeHandler &handler) override {
handler.handle(std::move(_child));
}
+
vespalib::string dump(DumpContext &ctx) const override {
vespalib::string str;
str += "(-";
@@ -214,6 +264,7 @@ public:
str += ")";
return str;
}
+
void accept(NodeVisitor &visitor) const override;
};
@@ -223,17 +274,23 @@ private:
bool _is_const;
public:
Not(Node_UP child_in) : _child(std::move(child_in)), _is_const(_child->is_const()) {}
+
bool is_const() const override { return _is_const; }
+
const Node &child() const { return *_child; }
+
size_t num_children() const override { return _child ? 1 : 0; }
+
const Node &get_child(size_t idx) const override {
(void) idx;
assert(idx == 0);
return child();
}
+
void detach_children(NodeHandler &handler) override {
handler.handle(std::move(_child));
}
+
vespalib::string dump(DumpContext &ctx) const override {
vespalib::string str;
str += "(!";
@@ -241,6 +298,7 @@ public:
str += ")";
return str;
}
+
void accept(NodeVisitor &visitor) const override;
};
@@ -249,18 +307,25 @@ private:
Node_UP _cond;
Node_UP _true_expr;
Node_UP _false_expr;
- double _p_true;
- bool _is_tree;
+ double _p_true;
+ bool _is_tree;
public:
If(Node_UP cond_in, Node_UP true_expr_in, Node_UP false_expr_in, double p_true_in);
+
const Node &cond() const { return *_cond; }
+
const Node &true_expr() const { return *_true_expr; }
+
const Node &false_expr() const { return *_false_expr; }
+
double p_true() const { return _p_true; }
+
bool is_tree() const override { return _is_tree; }
+
size_t num_children() const override {
return (_cond && _true_expr && _false_expr) ? 3 : 0;
}
+
const Node &get_child(size_t idx) const override {
assert(idx < 3);
if (idx == 0) {
@@ -271,11 +336,13 @@ public:
return false_expr();
}
}
+
void detach_children(NodeHandler &handler) override {
handler.handle(std::move(_cond));
handler.handle(std::move(_true_expr));
handler.handle(std::move(_false_expr));
}
+
vespalib::string dump(DumpContext &ctx) const override {
vespalib::string str;
str += "if(";
@@ -290,29 +357,37 @@ public:
str += ")";
return str;
}
+
void accept(NodeVisitor &visitor) const override;
};
class Let : public Node {
private:
vespalib::string _name;
- Node_UP _value;
- Node_UP _expr;
+ Node_UP _value;
+ Node_UP _expr;
public:
Let(const vespalib::string &name_in, Node_UP value_in, Node_UP expr_in)
- : _name(name_in), _value(std::move(value_in)), _expr(std::move(expr_in)) {}
+ : _name(name_in), _value(std::move(value_in)), _expr(std::move(expr_in)) {}
+
const vespalib::string &name() const { return _name; }
+
const Node &value() const { return *_value; }
+
const Node &expr() const { return *_expr; }
+
size_t num_children() const override { return (_value && _expr) ? 2 : 0; }
+
const Node &get_child(size_t idx) const override {
assert(idx < 2);
return (idx == 0) ? value() : expr();
}
+
void detach_children(NodeHandler &handler) override {
handler.handle(std::move(_value));
handler.handle(std::move(_expr));
}
+
vespalib::string dump(DumpContext &ctx) const override {
vespalib::string str;
str += "let(";
@@ -326,6 +401,7 @@ public:
str += ")";
return str;
}
+
void accept(NodeVisitor &visitor) const override;
};
@@ -334,11 +410,13 @@ private:
vespalib::string _message;
public:
Error(const vespalib::string &message_in) : _message(message_in) {}
+
const vespalib::string &message() const { return _message; }
+
vespalib::string dump(DumpContext &) const override { return _message; }
+
void accept(NodeVisitor &visitor) const override;
};
-} // namespace vespalib::eval::nodes
-} // namespace vespalib::eval
-} // namespace vespalib
+}
+}
diff --git a/eval/src/vespa/eval/eval/test/eval_spec.cpp b/eval/src/vespa/eval/eval/test/eval_spec.cpp
index c4f349c614e..f9c36c9eb93 100644
--- a/eval/src/vespa/eval/eval/test/eval_spec.cpp
+++ b/eval/src/vespa/eval/eval/test/eval_spec.cpp
@@ -4,10 +4,9 @@
#include <vespa/vespalib/util/stringfmt.h>
#include <vespa/vespalib/util/string_hash.h>
#include <cmath>
+#include <limits>
-namespace vespalib {
-namespace eval {
-namespace test {
+namespace vespalib::eval::test {
constexpr double my_nan = std::numeric_limits<double>::quiet_NaN();
constexpr double my_inf = std::numeric_limits<double>::infinity();
@@ -414,6 +413,4 @@ EvalSpec::add_complex_cases() {
[](double a)->double{ return -double(!bool(a)); });
}
-} // namespace vespalib::eval::test
-} // namespace vespalib::eval
-} // namespace vespalib
+}
diff --git a/eval/src/vespa/eval/eval/value_type.cpp b/eval/src/vespa/eval/eval/value_type.cpp
index 1553c6e064e..03e6d2bbcdf 100644
--- a/eval/src/vespa/eval/eval/value_type.cpp
+++ b/eval/src/vespa/eval/eval/value_type.cpp
@@ -2,9 +2,9 @@
#include "value_type.h"
#include "value_type_spec.h"
+#include <algorithm>
-namespace vespalib {
-namespace eval {
+namespace vespalib::eval {
namespace {
@@ -270,5 +270,4 @@ operator<<(std::ostream &os, const ValueType &type) {
return os << type.to_spec();
}
-} // namespace vespalib::eval
-} // namespace vespalib
+}
diff --git a/eval/src/vespa/eval/tensor/dense/dense_tensor_builder.cpp b/eval/src/vespa/eval/tensor/dense/dense_tensor_builder.cpp
index caf42c9ae60..0b66dd51206 100644
--- a/eval/src/vespa/eval/tensor/dense/dense_tensor_builder.cpp
+++ b/eval/src/vespa/eval/tensor/dense/dense_tensor_builder.cpp
@@ -2,14 +2,15 @@
#include "dense_tensor_builder.h"
#include <vespa/vespalib/util/exceptions.h>
-#include <vespa/vespalib/util/stringfmt.h>
#include <cassert>
+#include <limits>
+#include <algorithm>
+
using vespalib::IllegalArgumentException;
using vespalib::make_string;
-namespace vespalib {
-namespace tensor {
+namespace vespalib::tensor {
namespace {
@@ -169,5 +170,4 @@ DenseTensorBuilder::build()
return result;
}
-} // namespace vespalib::tensor
-} // namespace vespalib
+}
diff --git a/eval/src/vespa/eval/tensor/dense/dense_tensor_reduce.hpp b/eval/src/vespa/eval/tensor/dense/dense_tensor_reduce.hpp
index 24e12f83b24..c6fc04bb27b 100644
--- a/eval/src/vespa/eval/tensor/dense/dense_tensor_reduce.hpp
+++ b/eval/src/vespa/eval/tensor/dense/dense_tensor_reduce.hpp
@@ -2,10 +2,9 @@
#include "dense_tensor_reduce.h"
#include <cassert>
+#include <algorithm>
-namespace vespalib {
-namespace tensor {
-namespace dense {
+namespace vespalib::tensor::dense {
using Cells = DenseTensorView::Cells;
using CellsRef = DenseTensorView::CellsRef;
@@ -120,6 +119,4 @@ reduce(const DenseTensorView &tensor, const std::vector<vespalib::string> &dimen
}
}
-} // namespace dense
-} // namespace tensor
-} // namespace vespalib
+}
diff --git a/eval/src/vespa/eval/tensor/sparse/sparse_tensor.cpp b/eval/src/vespa/eval/tensor/sparse/sparse_tensor.cpp
index 4a6cb4dedd5..92f0b40e259 100644
--- a/eval/src/vespa/eval/tensor/sparse/sparse_tensor.cpp
+++ b/eval/src/vespa/eval/tensor/sparse/sparse_tensor.cpp
@@ -13,11 +13,11 @@
#include <vespa/vespalib/stllike/hash_map_equal.hpp>
#include <vespa/vespalib/util/array_equal.hpp>
#include <sstream>
+#include <algorithm>
using vespalib::eval::TensorSpec;
-namespace vespalib {
-namespace tensor {
+namespace vespalib::tensor {
namespace {
@@ -307,8 +307,6 @@ SparseTensor::reduce(const eval::BinaryOperation &op,
{ return op.eval(lhsValue, rhsValue); });
}
-} // namespace vespalib::tensor
-
-} // namespace vespalib
+}
VESPALIB_HASH_MAP_INSTANTIATE(vespalib::tensor::SparseTensorAddressRef, double);
diff --git a/eval/src/vespa/eval/tensor/sparse/sparse_tensor_unsorted_address_builder.cpp b/eval/src/vespa/eval/tensor/sparse/sparse_tensor_unsorted_address_builder.cpp
index 1ca32aad6be..1e112cbaa6e 100644
--- a/eval/src/vespa/eval/tensor/sparse/sparse_tensor_unsorted_address_builder.cpp
+++ b/eval/src/vespa/eval/tensor/sparse/sparse_tensor_unsorted_address_builder.cpp
@@ -4,9 +4,9 @@
#include "sparse_tensor_address_builder.h"
#include <vespa/eval/eval/value_type.h>
#include <cassert>
+#include <algorithm>
-namespace vespalib {
-namespace tensor {
+namespace vespalib::tensor {
SparseTensorUnsortedAddressBuilder::SparseTensorUnsortedAddressBuilder()
: _elementStrings(),
@@ -46,6 +46,4 @@ SparseTensorUnsortedAddressBuilder::buildTo(SparseTensorAddressBuilder &
}
}
-
-} // namespace vespalib::tensor
-} // namespace vespalib
+}
diff --git a/eval/src/vespa/eval/tensor/tensor_mapper.cpp b/eval/src/vespa/eval/tensor/tensor_mapper.cpp
index c15494ed7fe..7c2c72abd46 100644
--- a/eval/src/vespa/eval/tensor/tensor_mapper.cpp
+++ b/eval/src/vespa/eval/tensor/tensor_mapper.cpp
@@ -3,18 +3,17 @@
#include "tensor_mapper.h"
#include "tensor.h"
#include "tensor_visitor.h"
-#include <vespa/eval/tensor/sparse/direct_sparse_tensor_builder.h>
-#include <vespa/eval/tensor/dense/dense_tensor.h>
-#include <vespa/eval/eval/simple_tensor.h>
#include "tensor_address_element_iterator.h"
#include "default_tensor.h"
#include "wrapped_simple_tensor.h"
+#include <vespa/eval/tensor/sparse/direct_sparse_tensor_builder.h>
+#include <vespa/eval/tensor/dense/dense_tensor.h>
+#include <limits>
using vespalib::eval::ValueType;
using vespalib::eval::TensorSpec;
-namespace vespalib {
-namespace tensor {
+namespace vespalib::tensor {
namespace {
@@ -422,5 +421,4 @@ std::unique_ptr<Tensor>
TensorMapper::mapToSparse<SparseTensor>(const Tensor &tensor,
const ValueType &type);
-} // namespace vespalib::tensor
-} // namespace vespalib
+}
diff --git a/memfilepersistence/src/vespa/memfilepersistence/device/device.cpp b/memfilepersistence/src/vespa/memfilepersistence/device/device.cpp
index 50286b4c033..cd1fcafb52c 100644
--- a/memfilepersistence/src/vespa/memfilepersistence/device/device.cpp
+++ b/memfilepersistence/src/vespa/memfilepersistence/device/device.cpp
@@ -2,10 +2,9 @@
#include "device.h"
#include "ioevent.h"
#include <sstream>
+#include <algorithm>
-namespace storage {
-
-namespace memfile {
+namespace storage::memfile {
Device::Device(DeviceManager& manager)
: _manager(manager)
@@ -54,6 +53,4 @@ Device::clearEvents()
_events.clear();
}
-} // memfile
-
-} // storage
+}
diff --git a/memfilepersistence/src/vespa/memfilepersistence/mapper/locationreadplanner.cpp b/memfilepersistence/src/vespa/memfilepersistence/mapper/locationreadplanner.cpp
index 46964d9058d..381e5d17766 100644
--- a/memfilepersistence/src/vespa/memfilepersistence/mapper/locationreadplanner.cpp
+++ b/memfilepersistence/src/vespa/memfilepersistence/mapper/locationreadplanner.cpp
@@ -2,9 +2,9 @@
#include "locationreadplanner.h"
#include <vespa/memfilepersistence/memfile/memfileiointerface.h>
+#include <algorithm>
-namespace storage {
-namespace memfile {
+namespace storage::memfile {
LocationDiskIoPlanner::LocationDiskIoPlanner(
const MemFileIOInterface& io,
@@ -97,5 +97,4 @@ LocationDiskIoPlanner::print(std::ostream& out, bool verbose,
}
}
-} // memfile
-} // storage
+}
diff --git a/memfilepersistence/src/vespa/memfilepersistence/mapper/memfile_v1_verifier.cpp b/memfilepersistence/src/vespa/memfilepersistence/mapper/memfile_v1_verifier.cpp
index be1793ca355..39eb68315d2 100644
--- a/memfilepersistence/src/vespa/memfilepersistence/mapper/memfile_v1_verifier.cpp
+++ b/memfilepersistence/src/vespa/memfilepersistence/mapper/memfile_v1_verifier.cpp
@@ -7,6 +7,7 @@
#include <vespa/vespalib/stllike/asciistream.h>
#include <vespa/vespalib/stllike/hash_set.hpp>
#include <sstream>
+#include <algorithm>
#include <vespa/log/log.h>
LOG_SETUP(".persistence.memfilev1.verifier");
diff --git a/memfilepersistence/src/vespa/memfilepersistence/mapper/memfilemapper.cpp b/memfilepersistence/src/vespa/memfilepersistence/mapper/memfilemapper.cpp
index 6bf2821d7a9..71d6a6b6fcf 100644
--- a/memfilepersistence/src/vespa/memfilepersistence/mapper/memfilemapper.cpp
+++ b/memfilepersistence/src/vespa/memfilepersistence/mapper/memfilemapper.cpp
@@ -1,6 +1,5 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-
#include "memfilemapper.h"
#include "memfile_v1_serializer.h"
#include <vespa/memfilepersistence/spi/memfilepersistenceprovidermetrics.h>
@@ -8,6 +7,7 @@
#include <vespa/vdslib/distribution/distribution.h>
#include <vespa/storageframework/generic/clock/timer.h>
#include <sstream>
+#include <algorithm>
#include <vespa/log/bufferedlogger.h>
LOG_SETUP(".persistence.memfile.mapper");
diff --git a/memfilepersistence/src/vespa/memfilepersistence/memfile/memfilecompactor.cpp b/memfilepersistence/src/vespa/memfilepersistence/memfile/memfilecompactor.cpp
index 3ee3b5fca09..7d84fd3dde5 100644
--- a/memfilepersistence/src/vespa/memfilepersistence/memfile/memfilecompactor.cpp
+++ b/memfilepersistence/src/vespa/memfilepersistence/memfile/memfilecompactor.cpp
@@ -3,12 +3,12 @@
#include "memfilecompactor.h"
#include "memfile.h"
#include <vespa/vespalib/stllike/hash_map.hpp>
-#include <vespa/log/log.h>
+#include <algorithm>
+#include <vespa/log/log.h>
LOG_SETUP(".persistence.memfile.compactor");
-namespace storage {
-namespace memfile {
+namespace storage::memfile {
struct DocumentVersionInfo {
document::DocumentId _id;
@@ -71,8 +71,7 @@ struct CompactSlotInfo : private Types {
auto matchesId = [&](const DocumentVersionInfo& doc) {
return (id == doc._id);
};
- auto existing = std::find_if(
- gidDocs.begin(), gidDocs.end(), matchesId);
+ auto existing = std::find_if(gidDocs.begin(), gidDocs.end(), matchesId);
if (existing == gidDocs.end()) { // (Very) common case
gidDocs.emplace_back(id, isTombstone(slot));
@@ -202,6 +201,4 @@ MemFileCompactor::alwaysCompact(const MemSlot& slot,
slotsToRemove.push_back(&slot);
}
-
-} // memfile
-} // storage
+}
diff --git a/metrics/src/vespa/metrics/metric.cpp b/metrics/src/vespa/metrics/metric.cpp
index 5f39fccab07..f6be5f79357 100644
--- a/metrics/src/vespa/metrics/metric.cpp
+++ b/metrics/src/vespa/metrics/metric.cpp
@@ -11,6 +11,7 @@
#include <vespa/vespalib/util/stringfmt.h>
#include <iterator>
#include <cassert>
+#include <algorithm>
namespace metrics {
diff --git a/metrics/src/vespa/metrics/metricmanager.cpp b/metrics/src/vespa/metrics/metricmanager.cpp
index c1bcc126623..5530e468007 100644
--- a/metrics/src/vespa/metrics/metricmanager.cpp
+++ b/metrics/src/vespa/metrics/metricmanager.cpp
@@ -14,6 +14,7 @@
#include <vespa/vespalib/util/exceptions.h>
#include <vespa/vespalib/stllike/asciistream.h>
#include <sstream>
+#include <algorithm>
#include <vespa/log/bufferedlogger.h>
LOG_SETUP(".metrics.manager");
diff --git a/metrics/src/vespa/metrics/metricset.cpp b/metrics/src/vespa/metrics/metricset.cpp
index af6d9c43d08..6ac27ba38c9 100644
--- a/metrics/src/vespa/metrics/metricset.cpp
+++ b/metrics/src/vespa/metrics/metricset.cpp
@@ -7,6 +7,7 @@
#include <vespa/vespalib/util/stringfmt.h>
#include <list>
#include <cassert>
+#include <algorithm>
#include <vespa/log/log.h>
LOG_SETUP(".metrics.metricsset");
diff --git a/metrics/src/vespa/metrics/summetric.hpp b/metrics/src/vespa/metrics/summetric.hpp
index 01e4f5c5dfe..761b369fb57 100644
--- a/metrics/src/vespa/metrics/summetric.hpp
+++ b/metrics/src/vespa/metrics/summetric.hpp
@@ -8,6 +8,7 @@
#include <vespa/vespalib/util/stringfmt.h>
#include <ostream>
#include <cassert>
+#include <algorithm>
namespace metrics {
@@ -217,8 +218,7 @@ template<typename AddendMetric>
void
SumMetric<AddendMetric>::removeMetricFromSum(const AddendMetric &metric)
{
- _metricsToSum.erase(remove(_metricsToSum.begin(), _metricsToSum.end(),
- &metric));
+ _metricsToSum.erase(std::remove(_metricsToSum.begin(), _metricsToSum.end(), &metric));
}
template<typename AddendMetric>
diff --git a/metrics/src/vespa/metrics/valuemetricvalues.h b/metrics/src/vespa/metrics/valuemetricvalues.h
index 6422ab1b263..391b9c9d588 100644
--- a/metrics/src/vespa/metrics/valuemetricvalues.h
+++ b/metrics/src/vespa/metrics/valuemetricvalues.h
@@ -14,6 +14,7 @@
#pragma once
#include "metricvalueset.h"
+#include <limits>
namespace metrics {
diff --git a/persistence/src/vespa/persistence/conformancetest/conformancetest.cpp b/persistence/src/vespa/persistence/conformancetest/conformancetest.cpp
index e6d21a83c01..a0176fe88f2 100644
--- a/persistence/src/vespa/persistence/conformancetest/conformancetest.cpp
+++ b/persistence/src/vespa/persistence/conformancetest/conformancetest.cpp
@@ -12,11 +12,12 @@
#include <vespa/vdslib/state/clusterstate.h>
#include <vespa/vdslib/distribution/distribution.h>
#include <vespa/config-stor-distribution.h>
+#include <algorithm>
+#include <limits>
using document::BucketId;
-namespace storage {
-namespace spi {
+namespace storage::spi {
namespace {
@@ -2306,6 +2307,4 @@ void ConformanceTest::detectAndTestOptionalBehavior() {
}
-} // spi
-} // storage
-
+}
diff --git a/persistence/src/vespa/persistence/dummyimpl/dummypersistence.cpp b/persistence/src/vespa/persistence/dummyimpl/dummypersistence.cpp
index 8977b505740..489af79d595 100644
--- a/persistence/src/vespa/persistence/dummyimpl/dummypersistence.cpp
+++ b/persistence/src/vespa/persistence/dummyimpl/dummypersistence.cpp
@@ -10,6 +10,7 @@
#include <vespa/vespalib/stllike/asciistream.h>
#include <vespa/vespalib/util/exceptions.h>
#include <vespa/vespalib/stllike/hash_map.hpp>
+#include <algorithm>
using std::binary_search;
using std::lower_bound;
diff --git a/searchcommon/src/vespa/searchcommon/attribute/persistent_predicate_params.h b/searchcommon/src/vespa/searchcommon/attribute/persistent_predicate_params.h
index 96a4e0aa62e..baa341e8d15 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/persistent_predicate_params.h
+++ b/searchcommon/src/vespa/searchcommon/attribute/persistent_predicate_params.h
@@ -2,8 +2,9 @@
#pragma once
-namespace search {
-namespace attribute {
+#include <limits>
+
+namespace search::attribute {
/*
* Persistent parameters for predicate attributes.
@@ -33,5 +34,4 @@ public:
}
};
-} // namespace attribute
-} // namespace search
+}
diff --git a/searchcore/src/tests/proton/index/diskindexcleaner_test.cpp b/searchcore/src/tests/proton/index/diskindexcleaner_test.cpp
index 707b37eb3de..86f120aa403 100644
--- a/searchcore/src/tests/proton/index/diskindexcleaner_test.cpp
+++ b/searchcore/src/tests/proton/index/diskindexcleaner_test.cpp
@@ -5,8 +5,7 @@
#include <vespa/searchcorespi/index/diskindexcleaner.h>
#include <vespa/vespalib/testkit/testapp.h>
#include <vespa/fastos/file.h>
-#include <string>
-#include <vector>
+#include <algorithm>
#include <vespa/log/log.h>
LOG_SETUP("diskindexcleaner_test");
diff --git a/searchcore/src/vespa/searchcore/fdispatch/search/search_path.h b/searchcore/src/vespa/searchcore/fdispatch/search/search_path.h
index 5984827459f..847fb525b95 100644
--- a/searchcore/src/vespa/searchcore/fdispatch/search/search_path.h
+++ b/searchcore/src/vespa/searchcore/fdispatch/search/search_path.h
@@ -5,6 +5,7 @@
#include <vespa/vespalib/stllike/string.h>
#include <set>
#include <vector>
+#include <limits>
namespace vespalib {
class asciistream;
diff --git a/searchcore/src/vespa/searchcore/proton/bucketdb/bucketdb.cpp b/searchcore/src/vespa/searchcore/proton/bucketdb/bucketdb.cpp
index 73eefe620c2..06aca3381f7 100644
--- a/searchcore/src/vespa/searchcore/proton/bucketdb/bucketdb.cpp
+++ b/searchcore/src/vespa/searchcore/proton/bucketdb/bucketdb.cpp
@@ -2,6 +2,7 @@
#include "bucketdb.h"
#include <cassert>
+#include <algorithm>
using document::GlobalId;
using storage::spi::BucketChecksum;
diff --git a/searchcore/src/vespa/searchcore/proton/documentmetastore/lid_gid_key_comparator.cpp b/searchcore/src/vespa/searchcore/proton/documentmetastore/lid_gid_key_comparator.cpp
index 3b0ff6d5616..0dae1818e02 100644
--- a/searchcore/src/vespa/searchcore/proton/documentmetastore/lid_gid_key_comparator.cpp
+++ b/searchcore/src/vespa/searchcore/proton/documentmetastore/lid_gid_key_comparator.cpp
@@ -1,6 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "lid_gid_key_comparator.h"
+#include <limits>
namespace proton::documentmetastore {
diff --git a/searchcore/src/vespa/searchcore/proton/flushengine/flush_all_strategy.cpp b/searchcore/src/vespa/searchcore/proton/flushengine/flush_all_strategy.cpp
index 39c0c2bd0e0..914b301b7e2 100644
--- a/searchcore/src/vespa/searchcore/proton/flushengine/flush_all_strategy.cpp
+++ b/searchcore/src/vespa/searchcore/proton/flushengine/flush_all_strategy.cpp
@@ -1,6 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "flush_all_strategy.h"
+#include <algorithm>
using search::SerialNum;
using searchcorespi::IFlushTarget;
diff --git a/searchcore/src/vespa/searchcore/proton/flushengine/prepare_restart_flush_strategy.cpp b/searchcore/src/vespa/searchcore/proton/flushengine/prepare_restart_flush_strategy.cpp
index 2fd2b74eaa2..e9df78dbf4f 100644
--- a/searchcore/src/vespa/searchcore/proton/flushengine/prepare_restart_flush_strategy.cpp
+++ b/searchcore/src/vespa/searchcore/proton/flushengine/prepare_restart_flush_strategy.cpp
@@ -4,6 +4,7 @@
#include "flush_target_candidates.h"
#include "tls_stats_map.h"
#include <sstream>
+#include <algorithm>
#include <vespa/log/log.h>
LOG_SETUP(".proton.flushengine.prepare_restart_flush_strategy");
diff --git a/searchcore/src/vespa/searchcore/proton/matching/handlerecorder.cpp b/searchcore/src/vespa/searchcore/proton/matching/handlerecorder.cpp
index 69da8d5bfed..3573c7ec7b8 100644
--- a/searchcore/src/vespa/searchcore/proton/matching/handlerecorder.cpp
+++ b/searchcore/src/vespa/searchcore/proton/matching/handlerecorder.cpp
@@ -3,12 +3,11 @@
#include "handlerecorder.h"
#include <vespa/vespalib/stllike/asciistream.h>
#include <cassert>
-
+#include <algorithm>
using search::fef::TermFieldHandle;
-namespace proton {
-namespace matching {
+namespace proton::matching {
#ifdef __PIC__
#define TLS_LINKAGE __attribute__((visibility("hidden"), tls_model("initial-exec")))
@@ -79,5 +78,4 @@ void HandleRecorder::registerHandle(TermFieldHandle handle)
}
}
-} // namespace matching
-} // namespace proton
+}
diff --git a/searchcore/src/vespa/searchcore/proton/persistenceengine/document_iterator.cpp b/searchcore/src/vespa/searchcore/proton/persistenceengine/document_iterator.cpp
index 8260c0209a9..0ef3b0e2aab 100644
--- a/searchcore/src/vespa/searchcore/proton/persistenceengine/document_iterator.cpp
+++ b/searchcore/src/vespa/searchcore/proton/persistenceengine/document_iterator.cpp
@@ -5,6 +5,7 @@
#include <vespa/document/select/node.h>
#include <vespa/vespalib/objects/nbostream.h>
#include <vespa/vespalib/stllike/hash_map.h>
+#include <algorithm>
#include <vespa/log/log.h>
LOG_SETUP(".proton.persistenceengine.document_iterator");
diff --git a/searchcore/src/vespa/searchcore/proton/server/bootstrapconfigmanager.cpp b/searchcore/src/vespa/searchcore/proton/server/bootstrapconfigmanager.cpp
index 28fee79005a..cc399727460 100644
--- a/searchcore/src/vespa/searchcore/proton/server/bootstrapconfigmanager.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/bootstrapconfigmanager.cpp
@@ -2,6 +2,7 @@
#include "bootstrapconfigmanager.h"
#include "bootstrapconfig.h"
+#include <vespa/searchlib/common/tunefileinfo.hpp>
#include <vespa/log/log.h>
LOG_SETUP(".proton.server.bootstrapconfigmanager");
@@ -14,8 +15,7 @@ using vespa::config::search::core::ProtonConfig;
using cloud::config::filedistribution::FiledistributorrpcConfig;
using document::DocumenttypesConfig;
-namespace proton
-{
+namespace proton {
BootstrapConfigManager::BootstrapConfigManager(const vespalib::string & configId)
: _pendingConfigSnapshot(),
diff --git a/searchcore/src/vespa/searchcore/proton/server/fileconfigmanager.cpp b/searchcore/src/vespa/searchcore/proton/server/fileconfigmanager.cpp
index 17b41295a89..2bd2cb1eda1 100644
--- a/searchcore/src/vespa/searchcore/proton/server/fileconfigmanager.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/fileconfigmanager.cpp
@@ -14,6 +14,7 @@
#include <vespa/config/helper/configgetter.hpp>
#include <fstream>
#include <sstream>
+#include <fcntl.h>
#include <vespa/log/log.h>
LOG_SETUP(".proton.server.fileconfigmanager");
@@ -60,15 +61,11 @@ fsyncFile(const vespalib::string &fileName)
FastOS_File f;
f.OpenReadWrite(fileName.c_str());
if (!f.IsOpened()) {
- LOG(error,
- "Could not open file '%s' for fsync",
- fileName.c_str());
+ LOG(error, "Could not open file '%s' for fsync", fileName.c_str());
return;
}
if (!f.Sync()) {
- LOG(error,
- "Could not fsync file '%s'",
- fileName.c_str());
+ LOG(error, "Could not fsync file '%s'", fileName.c_str());
}
f.Close();
}
diff --git a/searchcore/src/vespa/searchcore/proton/server/frozenbuckets.cpp b/searchcore/src/vespa/searchcore/proton/server/frozenbuckets.cpp
index ada3dd92656..c021d786216 100644
--- a/searchcore/src/vespa/searchcore/proton/server/frozenbuckets.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/frozenbuckets.cpp
@@ -4,14 +4,14 @@
#include "ibucketfreezelistener.h"
#include <vespa/searchcorespi/index/i_thread_service.h>
#include <vespa/vespalib/util/closuretask.h>
+#include <algorithm>
using document::BucketId;
using vespalib::makeClosure;
using vespalib::makeTask;
using vespalib::MonitorGuard;
-namespace proton
-{
+namespace proton {
FrozenBucketsMap::FrozenBucketsMap() :
_lock(),
diff --git a/searchcore/src/vespa/searchcore/proton/server/memoryflush.cpp b/searchcore/src/vespa/searchcore/proton/server/memoryflush.cpp
index 4dd44a7b2e2..2d56c7e37e9 100644
--- a/searchcore/src/vespa/searchcore/proton/server/memoryflush.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/memoryflush.cpp
@@ -4,6 +4,7 @@
#include <vespa/searchcore/proton/flushengine/tls_stats_map.h>
#include <vespa/vespalib/stllike/asciistream.h>
#include <vespa/vespalib/stllike/hash_set.h>
+#include <algorithm>
#include <vespa/log/log.h>
LOG_SETUP(".proton.server.memoryflush");
diff --git a/searchcore/src/vespa/searchcore/proton/test/bucketdocuments.h b/searchcore/src/vespa/searchcore/proton/test/bucketdocuments.h
index 021d0f631d4..ce27cc7673b 100644
--- a/searchcore/src/vespa/searchcore/proton/test/bucketdocuments.h
+++ b/searchcore/src/vespa/searchcore/proton/test/bucketdocuments.h
@@ -3,10 +3,9 @@
#include "document.h"
#include <cassert>
+#include <algorithm>
-namespace proton {
-
-namespace test {
+namespace proton::test {
/**
* Collection of documents contained in the same bucket.
@@ -40,8 +39,4 @@ public:
}
};
-
-} // namespace test
-
-} // namespace proton
-
+}
diff --git a/searchlib/src/tests/bitcompression/expgolomb/expgolomb_test.cpp b/searchlib/src/tests/bitcompression/expgolomb/expgolomb_test.cpp
index c6045208a1f..185b36ec414 100644
--- a/searchlib/src/tests/bitcompression/expgolomb/expgolomb_test.cpp
+++ b/searchlib/src/tests/bitcompression/expgolomb/expgolomb_test.cpp
@@ -1,10 +1,12 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/log/log.h>
-LOG_SETUP("expglomb_test");
#include <vespa/searchlib/bitcompression/compression.h>
#include <vespa/vespalib/testkit/testapp.h>
#include <vector>
+#include <algorithm>
+
+#include <vespa/log/log.h>
+LOG_SETUP("expglomb_test");
using search::bitcompression::DecodeContext64;
using search::bitcompression::DecodeContext64Base;
diff --git a/searchlib/src/tests/memoryindex/document_remover/document_remover_test.cpp b/searchlib/src/tests/memoryindex/document_remover/document_remover_test.cpp
index 4938d40a21f..6f09dd5c924 100644
--- a/searchlib/src/tests/memoryindex/document_remover/document_remover_test.cpp
+++ b/searchlib/src/tests/memoryindex/document_remover/document_remover_test.cpp
@@ -1,14 +1,15 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/log/log.h>
-LOG_SETUP("document_remover_test");
#include <vespa/vespalib/testkit/testapp.h>
#include <vespa/searchlib/memoryindex/document_remover.h>
#include <vespa/searchlib/memoryindex/wordstore.h>
#include <vespa/searchlib/memoryindex/i_document_remove_listener.h>
#include <vespa/vespalib/test/insertion_operators.h>
-#include <map>
+#include <algorithm>
+
+#include <vespa/log/log.h>
+LOG_SETUP("document_remover_test");
using namespace search;
using namespace search::memoryindex;
diff --git a/searchlib/src/vespa/searchlib/btree/btreetraits.h b/searchlib/src/vespa/searchlib/btree/btreetraits.h
index aaeb2b28021..efa7cb4de34 100644
--- a/searchlib/src/vespa/searchlib/btree/btreetraits.h
+++ b/searchlib/src/vespa/searchlib/btree/btreetraits.h
@@ -2,13 +2,9 @@
#pragma once
-#include <sys/types.h>
+#include <cstddef>
-namespace search
-{
-
-namespace btree
-{
+namespace search::btree {
template <size_t LS, size_t IS, size_t PS, bool BS>
struct BTreeTraits {
@@ -20,6 +16,4 @@ struct BTreeTraits {
typedef BTreeTraits<16, 16, 10, true> BTreeDefaultTraits;
-} // namespace search::btree
-} // namespace search
-
+}
diff --git a/searchlib/src/vespa/searchlib/common/bitvectorcache.cpp b/searchlib/src/vespa/searchlib/common/bitvectorcache.cpp
index 7d5aa8beeae..04909da8ea7 100644
--- a/searchlib/src/vespa/searchlib/common/bitvectorcache.cpp
+++ b/searchlib/src/vespa/searchlib/common/bitvectorcache.cpp
@@ -1,6 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "bitvectorcache.h"
#include <vespa/vespalib/stllike/hash_map.hpp>
+#include <algorithm>
#include <vespa/log/log.h>
LOG_SETUP(".searchlib.common.bitvectorcache");
diff --git a/searchlib/src/vespa/searchlib/common/indexmetainfo.cpp b/searchlib/src/vespa/searchlib/common/indexmetainfo.cpp
index f3697086147..10015bb658a 100644
--- a/searchlib/src/vespa/searchlib/common/indexmetainfo.cpp
+++ b/searchlib/src/vespa/searchlib/common/indexmetainfo.cpp
@@ -4,6 +4,7 @@
#include <vespa/vespalib/util/stringfmt.h>
#include <vespa/vespalib/util/guard.h>
#include <cassert>
+#include <algorithm>
#include <vespa/log/log.h>
LOG_SETUP(".indexmetainfo");
diff --git a/searchlib/src/vespa/searchlib/common/location.cpp b/searchlib/src/vespa/searchlib/common/location.cpp
index 31af111b2bf..cda3973b311 100644
--- a/searchlib/src/vespa/searchlib/common/location.cpp
+++ b/searchlib/src/vespa/searchlib/common/location.cpp
@@ -3,6 +3,7 @@
// Copyright (C) 2003 Overture Services Norway AS
#include "location.h"
+#include <limits>
namespace search::common {
diff --git a/searchlib/src/vespa/searchlib/common/rankedhit.h b/searchlib/src/vespa/searchlib/common/rankedhit.h
index d1feb5e3282..bd66f884a08 100644
--- a/searchlib/src/vespa/searchlib/common/rankedhit.h
+++ b/searchlib/src/vespa/searchlib/common/rankedhit.h
@@ -5,8 +5,8 @@
#pragma once
#include "hitrank.h"
-#include <sys/types.h>
-#include <stdint.h>
+#include <cstdint>
+#include <cstddef>
namespace search {
diff --git a/searchlib/src/vespa/searchlib/common/tunefileinfo.cpp b/searchlib/src/vespa/searchlib/common/tunefileinfo.cpp
index 2bf2fc751d3..f8325c3cd7d 100644
--- a/searchlib/src/vespa/searchlib/common/tunefileinfo.cpp
+++ b/searchlib/src/vespa/searchlib/common/tunefileinfo.cpp
@@ -1,6 +1,6 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "tunefileinfo.h"
+#include "tunefileinfo.hpp"
namespace search {
diff --git a/searchlib/src/vespa/searchlib/common/tunefileinfo.h b/searchlib/src/vespa/searchlib/common/tunefileinfo.h
index 2dd27142dc6..223dcdbc7f1 100644
--- a/searchlib/src/vespa/searchlib/common/tunefileinfo.h
+++ b/searchlib/src/vespa/searchlib/common/tunefileinfo.h
@@ -2,9 +2,6 @@
#pragma once
-#include <sys/mman.h>
-#include <linux/mman.h>
-#include <fcntl.h>
#include <memory>
namespace search {
@@ -123,26 +120,7 @@ public:
template <typename TuneControlConfig, typename MMapConfig>
void
- setFromConfig(const enum TuneControlConfig::Io & tuneControlConfig, const MMapConfig & mmapFlags) {
- switch ( tuneControlConfig) {
- case TuneControlConfig::NORMAL: _tuneControl = NORMAL; break;
- case TuneControlConfig::DIRECTIO: _tuneControl = DIRECTIO; break;
- case TuneControlConfig::MMAP: _tuneControl = MMAP; break;
- default: _tuneControl = NORMAL; break;
- }
- for (size_t i(0), m(mmapFlags.options.size()); i < m; i++) {
- switch (mmapFlags.options[i]) {
- case MMapConfig::MLOCK: _mmapFlags |= MAP_LOCKED; break;
- case MMapConfig::POPULATE: _mmapFlags |= MAP_POPULATE; break;
- case MMapConfig::HUGETLB: _mmapFlags |= MAP_HUGETLB; break;
- }
- }
- switch (mmapFlags.advise) {
- case MMapConfig::NORMAL: setAdvise(POSIX_FADV_NORMAL); break;
- case MMapConfig::RANDOM: setAdvise(POSIX_FADV_RANDOM); break;
- case MMapConfig::SEQUENTIAL: setAdvise(POSIX_FADV_SEQUENTIAL); break;
- }
- }
+ setFromConfig(const enum TuneControlConfig::Io & tuneControlConfig, const MMapConfig & mmapFlags);
bool operator==(const TuneFileRandRead &rhs) const {
return (_tuneControl == rhs._tuneControl) && (_mmapFlags == rhs._mmapFlags);
diff --git a/searchlib/src/vespa/searchlib/common/tunefileinfo.hpp b/searchlib/src/vespa/searchlib/common/tunefileinfo.hpp
new file mode 100644
index 00000000000..22d89d904d2
--- /dev/null
+++ b/searchlib/src/vespa/searchlib/common/tunefileinfo.hpp
@@ -0,0 +1,35 @@
+// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
+#pragma once
+
+#include "tunefileinfo.h"
+#include <sys/mman.h>
+#include <fcntl.h>
+
+namespace search {
+
+template <typename TuneControlConfig, typename MMapConfig>
+void
+TuneFileRandRead::setFromConfig(const enum TuneControlConfig::Io & tuneControlConfig, const MMapConfig & mmapFlags) {
+ switch ( tuneControlConfig) {
+ case TuneControlConfig::NORMAL: _tuneControl = NORMAL; break;
+ case TuneControlConfig::DIRECTIO: _tuneControl = DIRECTIO; break;
+ case TuneControlConfig::MMAP: _tuneControl = MMAP; break;
+ default: _tuneControl = NORMAL; break;
+ }
+ for (size_t i(0), m(mmapFlags.options.size()); i < m; i++) {
+ switch (mmapFlags.options[i]) {
+ case MMapConfig::MLOCK: _mmapFlags |= MAP_LOCKED; break;
+ case MMapConfig::POPULATE: _mmapFlags |= MAP_POPULATE; break;
+ case MMapConfig::HUGETLB: _mmapFlags |= MAP_HUGETLB; break;
+ }
+ }
+ switch (mmapFlags.advise) {
+ case MMapConfig::NORMAL: setAdvise(POSIX_FADV_NORMAL); break;
+ case MMapConfig::RANDOM: setAdvise(POSIX_FADV_RANDOM); break;
+ case MMapConfig::SEQUENTIAL: setAdvise(POSIX_FADV_SEQUENTIAL); break;
+ }
+}
+
+}
+
diff --git a/searchlib/src/vespa/searchlib/datastore/array_store.hpp b/searchlib/src/vespa/searchlib/datastore/array_store.hpp
index 8478c22903f..cd45df90899 100644
--- a/searchlib/src/vespa/searchlib/datastore/array_store.hpp
+++ b/searchlib/src/vespa/searchlib/datastore/array_store.hpp
@@ -5,6 +5,7 @@
#include "array_store.h"
#include "datastore.hpp"
#include <atomic>
+#include <algorithm>
namespace search::datastore {
diff --git a/searchlib/src/vespa/searchlib/datastore/buffer_type.cpp b/searchlib/src/vespa/searchlib/datastore/buffer_type.cpp
index 5eca3719002..6e77b267818 100644
--- a/searchlib/src/vespa/searchlib/datastore/buffer_type.cpp
+++ b/searchlib/src/vespa/searchlib/datastore/buffer_type.cpp
@@ -2,9 +2,15 @@
#include "buffer_type.h"
#include <algorithm>
+#include <cassert>
namespace search::datastore {
+void
+BufferTypeBase::CleanContext::extraBytesCleaned(uint64_t value) {
+ assert(_extraBytes >= value);
+ _extraBytes -= value;
+}
BufferTypeBase::BufferTypeBase(uint32_t clusterSize,
uint32_t minClusters,
uint32_t maxClusters,
diff --git a/searchlib/src/vespa/searchlib/datastore/buffer_type.h b/searchlib/src/vespa/searchlib/datastore/buffer_type.h
index 92dcbcc9e8d..6fc5c4ab288 100644
--- a/searchlib/src/vespa/searchlib/datastore/buffer_type.h
+++ b/searchlib/src/vespa/searchlib/datastore/buffer_type.h
@@ -2,9 +2,8 @@
#pragma once
-#include <cassert>
#include <cstdint>
-#include <sys/types.h>
+#include <cstddef>
namespace search::datastore {
@@ -33,10 +32,7 @@ public:
uint64_t &_extraBytes;
public:
CleanContext(uint64_t &extraBytes) : _extraBytes(extraBytes) {}
- void extraBytesCleaned(uint64_t value) {
- assert(_extraBytes >= value);
- _extraBytes -= value;
- }
+ void extraBytesCleaned(uint64_t value);
};
BufferTypeBase(const BufferTypeBase &rhs) = delete;
diff --git a/searchlib/src/vespa/searchlib/datastore/datastorebase.cpp b/searchlib/src/vespa/searchlib/datastore/datastorebase.cpp
index d344c79d50e..ba0c8e05d77 100644
--- a/searchlib/src/vespa/searchlib/datastore/datastorebase.cpp
+++ b/searchlib/src/vespa/searchlib/datastore/datastorebase.cpp
@@ -2,6 +2,7 @@
#include "datastore.h"
#include <vespa/vespalib/util/array.hpp>
+#include <limits>
using vespalib::GenerationHeldBase;
diff --git a/searchlib/src/vespa/searchlib/diskindex/wordnummapper.h b/searchlib/src/vespa/searchlib/diskindex/wordnummapper.h
index 1d47d3c0b5a..8141a16c137 100644
--- a/searchlib/src/vespa/searchlib/diskindex/wordnummapper.h
+++ b/searchlib/src/vespa/searchlib/diskindex/wordnummapper.h
@@ -4,6 +4,7 @@
#include <vespa/searchlib/common/tunefileinfo.h>
#include <vespa/vespalib/util/array.h>
#include <vespa/vespalib/stllike/string.h>
+#include <limits>
namespace search::diskindex {
diff --git a/searchlib/src/vespa/searchlib/docstore/storebybucket.cpp b/searchlib/src/vespa/searchlib/docstore/storebybucket.cpp
index 2b7b49aa955..3bb1481969a 100644
--- a/searchlib/src/vespa/searchlib/docstore/storebybucket.cpp
+++ b/searchlib/src/vespa/searchlib/docstore/storebybucket.cpp
@@ -4,9 +4,9 @@
#include <vespa/vespalib/util/closuretask.h>
#include <vespa/vespalib/stllike/hash_map.hpp>
#include <vespa/vespalib/data/databuffer.h>
+#include <algorithm>
-namespace search {
-namespace docstore {
+namespace search::docstore {
using document::BucketId;
using vespalib::makeTask;
@@ -85,4 +85,3 @@ StoreByBucket::drain(IWrite & drainer)
}
}
-}
diff --git a/searchlib/src/vespa/searchlib/docstore/visitcache.cpp b/searchlib/src/vespa/searchlib/docstore/visitcache.cpp
index c68aa00994f..22a16947b67 100644
--- a/searchlib/src/vespa/searchlib/docstore/visitcache.cpp
+++ b/searchlib/src/vespa/searchlib/docstore/visitcache.cpp
@@ -6,6 +6,7 @@
#include <vespa/vespalib/stllike/hash_map.hpp>
#include <vespa/vespalib/data/databuffer.h>
#include <vespa/document/util/compressor.h>
+#include <algorithm>
namespace search::docstore {
diff --git a/searchlib/src/vespa/searchlib/features/array_parser.h b/searchlib/src/vespa/searchlib/features/array_parser.h
index 406138c2a18..53247eabe2c 100644
--- a/searchlib/src/vespa/searchlib/features/array_parser.h
+++ b/searchlib/src/vespa/searchlib/features/array_parser.h
@@ -4,8 +4,7 @@
#include <vespa/vespalib/stllike/string.h>
-namespace search {
-namespace features {
+namespace search::features {
/**
* Utility for parsing a string representation of an array with values (numeric or string)
@@ -45,5 +44,4 @@ public:
static void parsePartial(const vespalib::string &input, OutputType &output);
};
-} // namespace features
-} // namespace search
+}
diff --git a/searchlib/src/vespa/searchlib/features/array_parser.hpp b/searchlib/src/vespa/searchlib/features/array_parser.hpp
index 7462427cf74..613fa9ec13e 100644
--- a/searchlib/src/vespa/searchlib/features/array_parser.hpp
+++ b/searchlib/src/vespa/searchlib/features/array_parser.hpp
@@ -7,9 +7,9 @@
#include <vespa/vespalib/util/exceptions.h>
#include <vespa/vespalib/util/stringfmt.h>
#include <vector>
+#include <algorithm>
-namespace search {
-namespace features {
+namespace search::features {
template <typename OutputType>
void
@@ -92,5 +92,4 @@ ArrayParser::parsePartial(const vespalib::string &input, OutputType &output)
template void
ArrayParser::parse(const vespalib::string &input, std::vector<int> &);
-} // namespace features
-} // namespace search
+}
diff --git a/searchlib/src/vespa/searchlib/features/utils.h b/searchlib/src/vespa/searchlib/features/utils.h
index 501dff17b41..57f4c83f6a9 100644
--- a/searchlib/src/vespa/searchlib/features/utils.h
+++ b/searchlib/src/vespa/searchlib/features/utils.h
@@ -9,6 +9,7 @@
#include <vespa/searchlib/fef/itermfielddata.h>
#include <vespa/searchlib/common/feature.h>
#include <vespa/vespalib/util/string_hash.h>
+#include <limits>
namespace search::features::util {
diff --git a/searchlib/src/vespa/searchlib/fef/indexproperties.cpp b/searchlib/src/vespa/searchlib/fef/indexproperties.cpp
index 4e971bcc484..493b49be0b0 100644
--- a/searchlib/src/vespa/searchlib/fef/indexproperties.cpp
+++ b/searchlib/src/vespa/searchlib/fef/indexproperties.cpp
@@ -3,6 +3,7 @@
#include "indexproperties.h"
#include "properties.h"
#include <vespa/vespalib/locale/c.h>
+#include <limits>
namespace search::fef::indexproperties {
diff --git a/searchlib/src/vespa/searchlib/fef/rank_program.cpp b/searchlib/src/vespa/searchlib/fef/rank_program.cpp
index 431ff798c83..fa4582d46b7 100644
--- a/searchlib/src/vespa/searchlib/fef/rank_program.cpp
+++ b/searchlib/src/vespa/searchlib/fef/rank_program.cpp
@@ -3,6 +3,7 @@
#include "rank_program.h"
#include "featureoverrider.h"
#include <vespa/vespalib/locale/c.h>
+#include <algorithm>
using vespalib::Stash;
diff --git a/searchlib/src/vespa/searchlib/fef/termfieldmatchdata.cpp b/searchlib/src/vespa/searchlib/fef/termfieldmatchdata.cpp
index 7cfc6afa72d..7ff5dcf8b6c 100644
--- a/searchlib/src/vespa/searchlib/fef/termfieldmatchdata.cpp
+++ b/searchlib/src/vespa/searchlib/fef/termfieldmatchdata.cpp
@@ -1,6 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "termfieldmatchdata.h"
+#include <limits>
namespace search::fef {
diff --git a/searchlib/src/vespa/searchlib/fef/termmatchdatamerger.cpp b/searchlib/src/vespa/searchlib/fef/termmatchdatamerger.cpp
index a382a2cd6ee..97cb829e30c 100644
--- a/searchlib/src/vespa/searchlib/fef/termmatchdatamerger.cpp
+++ b/searchlib/src/vespa/searchlib/fef/termmatchdatamerger.cpp
@@ -1,9 +1,9 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "termmatchdatamerger.h"
+#include <algorithm>
-namespace search {
-namespace fef {
+namespace search::fef {
TermMatchDataMerger::TermMatchDataMerger(const Inputs &allinputs,
const TermFieldMatchDataArray &outputs)
@@ -70,5 +70,4 @@ TermMatchDataMerger::merge(uint32_t docid,
}
}
-} // namespace fef
-} // namespace search
+}
diff --git a/searchlib/src/vespa/searchlib/index/dictionaryfile.h b/searchlib/src/vespa/searchlib/index/dictionaryfile.h
index 574f5bcf56b..2f673c258f3 100644
--- a/searchlib/src/vespa/searchlib/index/dictionaryfile.h
+++ b/searchlib/src/vespa/searchlib/index/dictionaryfile.h
@@ -5,6 +5,7 @@
#include "postinglisthandle.h"
#include "postinglistcountfile.h"
#include <vespa/searchlib/common/tunefileinfo.h>
+#include <limits>
class FastOS_FileInterface;
diff --git a/searchlib/src/vespa/searchlib/query/queryterm.cpp b/searchlib/src/vespa/searchlib/query/queryterm.cpp
index 70cbcd37ee0..d47d942dc10 100644
--- a/searchlib/src/vespa/searchlib/query/queryterm.cpp
+++ b/searchlib/src/vespa/searchlib/query/queryterm.cpp
@@ -1,4 +1,5 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
#include "queryterm.h"
#include "base.h"
#include <vespa/vespalib/objects/visit.h>
@@ -6,6 +7,7 @@
#include <vespa/vespalib/util/classname.h>
#include <vespa/vespalib/locale/c.h>
#include <cmath>
+#include <limits>
namespace {
diff --git a/searchlib/src/vespa/searchlib/queryeval/predicate_search.cpp b/searchlib/src/vespa/searchlib/queryeval/predicate_search.cpp
index 0a520034e7f..c9ab167868a 100644
--- a/searchlib/src/vespa/searchlib/queryeval/predicate_search.cpp
+++ b/searchlib/src/vespa/searchlib/queryeval/predicate_search.cpp
@@ -3,6 +3,7 @@
#include "predicate_search.h"
#include <vespa/searchlib/fef/termfieldmatchdata.h>
#include <vespa/searchlib/fef/termfieldmatchdataarray.h>
+#include <algorithm>
using search::fef::TermFieldMatchData;
using search::fef::TermFieldMatchDataArray;
diff --git a/searchlib/src/vespa/searchlib/queryeval/unpackinfo.cpp b/searchlib/src/vespa/searchlib/queryeval/unpackinfo.cpp
index 3a92169d43e..f8af7700640 100644
--- a/searchlib/src/vespa/searchlib/queryeval/unpackinfo.cpp
+++ b/searchlib/src/vespa/searchlib/queryeval/unpackinfo.cpp
@@ -3,9 +3,9 @@
#include "unpackinfo.h"
#include <vespa/vespalib/stllike/asciistream.h>
#include <cassert>
+#include <algorithm>
-namespace search {
-namespace queryeval {
+namespace search::queryeval {
UnpackInfo::UnpackInfo()
: _size(0)
@@ -101,5 +101,4 @@ UnpackInfo::toString() const
return os.str();
}
-} // namespace queryeval
-} // namespace search
+}
diff --git a/searchlib/src/vespa/searchlib/test/initrange.cpp b/searchlib/src/vespa/searchlib/test/initrange.cpp
index 7d125ea5cdd..2292a8e775e 100644
--- a/searchlib/src/vespa/searchlib/test/initrange.cpp
+++ b/searchlib/src/vespa/searchlib/test/initrange.cpp
@@ -3,9 +3,9 @@
#include <vespa/vespalib/testkit/test_kit.h>
#include <vespa/searchlib/queryeval/emptysearch.h>
#include <vespa/searchlib/queryeval/truesearch.h>
+#include <algorithm>
-namespace search {
-namespace test {
+namespace search::test {
using namespace search::queryeval;
using std::make_unique;
@@ -184,4 +184,3 @@ InitRangeVerifier::searchStrict(SearchIterator & it, Range range)
}
}
-}
diff --git a/staging_vespalib/src/tests/array/sort_benchmark.cpp b/staging_vespalib/src/tests/array/sort_benchmark.cpp
index a7629084094..1914e3ead9e 100644
--- a/staging_vespalib/src/tests/array/sort_benchmark.cpp
+++ b/staging_vespalib/src/tests/array/sort_benchmark.cpp
@@ -3,6 +3,7 @@
#include <vespa/vespalib/util/rusage.h>
#include <vespa/vespalib/util/array.hpp>
#include <csignal>
+#include <algorithm>
#include <vespa/log/log.h>
LOG_SETUP("sort_benchmark");
diff --git a/storage/src/tests/distributor/bucketdatabasetest.cpp b/storage/src/tests/distributor/bucketdatabasetest.cpp
index ecfdc127fc2..c269389dd04 100644
--- a/storage/src/tests/distributor/bucketdatabasetest.cpp
+++ b/storage/src/tests/distributor/bucketdatabasetest.cpp
@@ -2,9 +2,9 @@
#include "bucketdatabasetest.h"
#include <vespa/storageframework/defaultimplementation/clock/realclock.h>
#include <iomanip>
+#include <algorithm>
-namespace storage {
-namespace distributor {
+namespace storage::distributor {
using document::BucketId;
@@ -544,4 +544,3 @@ BucketDatabaseTest::testChildCount()
}
}
-} // storage
diff --git a/storage/src/tests/distributor/simplemaintenancescannertest.cpp b/storage/src/tests/distributor/simplemaintenancescannertest.cpp
index 6846774872e..17f25e4532a 100644
--- a/storage/src/tests/distributor/simplemaintenancescannertest.cpp
+++ b/storage/src/tests/distributor/simplemaintenancescannertest.cpp
@@ -6,10 +6,9 @@
#include <vespa/storage/bucketdb/mapbucketdatabase.h>
#include <tests/distributor/maintenancemocks.h>
#include <vespa/vespalib/text/stringtokenizer.h>
+#include <algorithm>
-namespace storage {
-
-namespace distributor {
+namespace storage::distributor {
using document::BucketId;
typedef MaintenancePriority Priority;
@@ -211,4 +210,3 @@ SimpleMaintenanceScannerTest::perNodeMaintenanceStatsAreTracked()
}
}
-}
diff --git a/storage/src/tests/persistence/splitbitdetectortest.cpp b/storage/src/tests/persistence/splitbitdetectortest.cpp
index a4c6425f290..60f76c2df60 100644
--- a/storage/src/tests/persistence/splitbitdetectortest.cpp
+++ b/storage/src/tests/persistence/splitbitdetectortest.cpp
@@ -7,6 +7,7 @@
#include <vespa/persistence/dummyimpl/dummypersistence.h>
#include <vespa/document/base/testdocman.h>
#include <vespa/document/bucket/bucketidfactory.h>
+#include <algorithm>
namespace storage {
diff --git a/storage/src/vespa/storage/bucketdb/bucketinfo.cpp b/storage/src/vespa/storage/bucketdb/bucketinfo.cpp
index ba39b7062c0..bbc59de410a 100644
--- a/storage/src/vespa/storage/bucketdb/bucketinfo.cpp
+++ b/storage/src/vespa/storage/bucketdb/bucketinfo.cpp
@@ -1,6 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "bucketinfo.h"
#include <vespa/storage/storageutil/utils.h>
+#include <algorithm>
namespace storage {
diff --git a/storage/src/vespa/storage/distributor/operations/idealstate/mergelimiter.cpp b/storage/src/vespa/storage/distributor/operations/idealstate/mergelimiter.cpp
index e7d4d32e0e4..13931c73e3c 100644
--- a/storage/src/vespa/storage/distributor/operations/idealstate/mergelimiter.cpp
+++ b/storage/src/vespa/storage/distributor/operations/idealstate/mergelimiter.cpp
@@ -1,7 +1,8 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/storage/distributor/operations/idealstate/mergelimiter.h>
+#include "mergelimiter.h"
#include <cassert>
+#include <algorithm>
#include <vespa/log/log.h>
LOG_SETUP(".distributor.operations.merge.limiter");
diff --git a/storage/src/vespa/storage/distributor/operationtargetresolverimpl.h b/storage/src/vespa/storage/distributor/operationtargetresolverimpl.h
index eb13fe3ac8d..2f4a3e0117a 100644
--- a/storage/src/vespa/storage/distributor/operationtargetresolverimpl.h
+++ b/storage/src/vespa/storage/distributor/operationtargetresolverimpl.h
@@ -5,9 +5,9 @@
#include "operationtargetresolver.h"
#include <vespa/storage/bucketdb/bucketdatabase.h>
#include <vespa/vdslib/distribution/idealnodecalculator.h>
+#include <algorithm>
-namespace storage {
-namespace distributor {
+namespace storage::distributor {
struct BucketInstance : public vespalib::AsciiPrintable {
document::BucketId _bucket;
@@ -106,5 +106,4 @@ public:
}
};
-} // distributor
-} // storage
+}
diff --git a/storage/src/vespa/storage/frameworkimpl/memory/memorystatusviewer.cpp b/storage/src/vespa/storage/frameworkimpl/memory/memorystatusviewer.cpp
index 4143082623f..dd07a61f27b 100644
--- a/storage/src/vespa/storage/frameworkimpl/memory/memorystatusviewer.cpp
+++ b/storage/src/vespa/storage/frameworkimpl/memory/memorystatusviewer.cpp
@@ -6,7 +6,7 @@
#include <vespa/storage/storageutil/piechart.h>
#include <vespa/metrics/metricmanager.h>
#include <vespa/storageapi/messageapi/storagemessage.h>
-#include <sstream>
+#include <algorithm>
#include <vespa/log/bufferedlogger.h>
LOG_SETUP(".memory.status.viewer");
diff --git a/storage/src/vespa/storage/persistence/filestorage/modifiedbucketchecker.cpp b/storage/src/vespa/storage/persistence/filestorage/modifiedbucketchecker.cpp
index 24cf7059ff7..7735204c92b 100644
--- a/storage/src/vespa/storage/persistence/filestorage/modifiedbucketchecker.cpp
+++ b/storage/src/vespa/storage/persistence/filestorage/modifiedbucketchecker.cpp
@@ -3,6 +3,7 @@
#include "modifiedbucketchecker.h"
#include "filestormanager.h"
#include <vespa/config/common/exceptions.h>
+#include <algorithm>
#include <vespa/log/log.h>
LOG_SETUP(".persistence.filestor.modifiedbucketchecker");
diff --git a/storage/src/vespa/storage/persistence/mergehandler.cpp b/storage/src/vespa/storage/persistence/mergehandler.cpp
index d84dc59bf95..37fc36c820a 100644
--- a/storage/src/vespa/storage/persistence/mergehandler.cpp
+++ b/storage/src/vespa/storage/persistence/mergehandler.cpp
@@ -8,8 +8,9 @@
#include <vespa/storage/common/bucketoperationlogger.h>
#include <vespa/vespalib/objects/nbostream.h>
#include <vespa/vespalib/util/exceptions.h>
-#include <vespa/log/log.h>
+#include <algorithm>
+#include <vespa/log/log.h>
LOG_SETUP(".persistence.mergehandler");
namespace storage {
diff --git a/storage/src/vespa/storage/persistence/persistencethread.cpp b/storage/src/vespa/storage/persistence/persistencethread.cpp
index 7dc717cabed..fa8231d5353 100644
--- a/storage/src/vespa/storage/persistence/persistencethread.cpp
+++ b/storage/src/vespa/storage/persistence/persistencethread.cpp
@@ -11,6 +11,7 @@
#include <vespa/document/fieldset/fieldsetrepo.h>
#include <vespa/vespalib/stllike/hash_map.hpp>
#include <vespa/vespalib/util/exceptions.h>
+#include <algorithm>
#include <vespa/log/bufferedlogger.h>
LOG_SETUP(".persistence.thread");
diff --git a/storage/src/vespa/storage/storageserver/mergethrottler.cpp b/storage/src/vespa/storage/storageserver/mergethrottler.cpp
index 85eb71f419e..d9a14fc7bb0 100644
--- a/storage/src/vespa/storage/storageserver/mergethrottler.cpp
+++ b/storage/src/vespa/storage/storageserver/mergethrottler.cpp
@@ -7,9 +7,9 @@
#include <vespa/config/common/exceptions.h>
#include <vespa/vespalib/stllike/asciistream.h>
#include <vespa/vespalib/util/stringfmt.h>
+#include <algorithm>
#include <vespa/log/log.h>
-
LOG_SETUP(".mergethrottler");
namespace storage {
diff --git a/storage/src/vespa/storage/tools/generatedistributionbits.cpp b/storage/src/vespa/storage/tools/generatedistributionbits.cpp
index 7939f261a5c..73f11b39e67 100644
--- a/storage/src/vespa/storage/tools/generatedistributionbits.cpp
+++ b/storage/src/vespa/storage/tools/generatedistributionbits.cpp
@@ -8,6 +8,7 @@
#include <vespa/vespalib/util/stringfmt.h>
#include <iomanip>
#include <iostream>
+#include <algorithm>
#include <vespa/config-stor-distribution.h>
namespace storage {
diff --git a/storageapi/src/vespa/storageapi/message/batch.cpp b/storageapi/src/vespa/storageapi/message/batch.cpp
index cd757ac38e9..7de0ec098ac 100644
--- a/storageapi/src/vespa/storageapi/message/batch.cpp
+++ b/storageapi/src/vespa/storageapi/message/batch.cpp
@@ -3,6 +3,7 @@
#include "batch.h"
#include <vespa/document/bucket/bucketidfactory.h>
#include <ostream>
+#include <algorithm>
using namespace storage::api;
diff --git a/storageapi/src/vespa/storageapi/message/bucketsplitting.cpp b/storageapi/src/vespa/storageapi/message/bucketsplitting.cpp
index 5c82e737bb9..3cbc0a3ab03 100644
--- a/storageapi/src/vespa/storageapi/message/bucketsplitting.cpp
+++ b/storageapi/src/vespa/storageapi/message/bucketsplitting.cpp
@@ -2,9 +2,9 @@
#include "bucketsplitting.h"
#include <ostream>
+#include <limits>
-namespace storage {
-namespace api {
+namespace storage::api {
IMPLEMENT_COMMAND(SplitBucketCommand, SplitBucketReply)
IMPLEMENT_REPLY(SplitBucketReply)
@@ -131,6 +131,4 @@ JoinBucketsReply::print(std::ostream& out, bool verbose,
}
}
-} // api
-} // storage
-
+}
diff --git a/streamingvisitors/src/vespa/searchvisitor/hitcollector.cpp b/streamingvisitors/src/vespa/searchvisitor/hitcollector.cpp
index dd09ed45b8b..a9b09cd7089 100644
--- a/streamingvisitors/src/vespa/searchvisitor/hitcollector.cpp
+++ b/streamingvisitors/src/vespa/searchvisitor/hitcollector.cpp
@@ -3,6 +3,7 @@
#include "hitcollector.h"
#include <vespa/searchlib/fef/feature_resolver.h>
#include <vespa/vespalib/util/stringfmt.h>
+#include <algorithm>
#include <vespa/log/log.h>
LOG_SETUP(".searchvisitor.hitcollector");
diff --git a/vdslib/src/vespa/vdslib/container/documentlist.cpp b/vdslib/src/vespa/vdslib/container/documentlist.cpp
index 477148f89c4..18f7e138260 100644
--- a/vdslib/src/vespa/vdslib/container/documentlist.cpp
+++ b/vdslib/src/vespa/vdslib/container/documentlist.cpp
@@ -6,6 +6,7 @@
#include <vespa/document/util/serializableexceptions.h>
#include <vespa/document/update/documentupdate.h>
#include <vespa/document/datatype/documenttype.h>
+#include <algorithm>
#include <vespa/log/log.h>
LOG_SETUP(".vdslib.container.documentlist");
diff --git a/vdslib/src/vespa/vdslib/container/documentsummary.cpp b/vdslib/src/vespa/vdslib/container/documentsummary.cpp
index 7fb75e8ca26..bc8a0473ab3 100644
--- a/vdslib/src/vespa/vdslib/container/documentsummary.cpp
+++ b/vdslib/src/vespa/vdslib/container/documentsummary.cpp
@@ -1,6 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "documentsummary.h"
+#include <algorithm>
namespace vdslib {
diff --git a/vdslib/src/vespa/vdslib/container/searchresult.cpp b/vdslib/src/vespa/vdslib/container/searchresult.cpp
index 0e2e0256547..73b19a2f8a2 100644
--- a/vdslib/src/vespa/vdslib/container/searchresult.cpp
+++ b/vdslib/src/vespa/vdslib/container/searchresult.cpp
@@ -1,6 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "searchresult.h"
+#include <algorithm>
namespace vdslib {
diff --git a/vdslib/src/vespa/vdslib/distribution/group.cpp b/vdslib/src/vespa/vdslib/distribution/group.cpp
index de2ca83b0aa..91e27715911 100644
--- a/vdslib/src/vespa/vdslib/distribution/group.cpp
+++ b/vdslib/src/vespa/vdslib/distribution/group.cpp
@@ -7,6 +7,7 @@
#include <vespa/vespalib/stllike/asciistream.h>
#include <ostream>
#include <cassert>
+#include <algorithm>
namespace storage::lib {
diff --git a/vespalib/src/tests/stllike/hash_test.cpp b/vespalib/src/tests/stllike/hash_test.cpp
index 0159a9c50ab..b405ac84797 100644
--- a/vespalib/src/tests/stllike/hash_test.cpp
+++ b/vespalib/src/tests/stllike/hash_test.cpp
@@ -5,6 +5,7 @@
#include <vespa/vespalib/stllike/hash_map.hpp>
#include <vespa/vespalib/stllike/hash_map_equal.hpp>
#include <cstddef>
+#include <algorithm>
using namespace vespalib;
using std::make_pair;
diff --git a/vespalib/src/tests/stllike/string_test.cpp b/vespalib/src/tests/stllike/string_test.cpp
index c3a0dc9cfd7..2973ffd1ef1 100644
--- a/vespalib/src/tests/stllike/string_test.cpp
+++ b/vespalib/src/tests/stllike/string_test.cpp
@@ -2,6 +2,7 @@
#include <vespa/vespalib/testkit/test_kit.h>
#include <vespa/vespalib/stllike/string.h>
+#include <algorithm>
using namespace vespalib;
diff --git a/vespalib/src/vespa/vespalib/util/alloc.h b/vespalib/src/vespa/vespalib/util/alloc.h
index 7b078025e82..2c3de92c58e 100644
--- a/vespalib/src/vespa/vespalib/util/alloc.h
+++ b/vespalib/src/vespa/vespalib/util/alloc.h
@@ -1,14 +1,10 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <sys/types.h>
-#include <algorithm>
#include <vespa/vespalib/util/optimized.h>
#include <memory>
-namespace vespalib {
-
-namespace alloc {
+namespace vespalib::alloc {
class MemoryAllocator {
public:
@@ -116,6 +112,8 @@ private:
}
+namespace vespalib {
+
inline size_t roundUp2inN(size_t minimum) {
return 2ul << Optimized::msbIdx(minimum - 1);
}
diff --git a/vespalib/src/vespa/vespalib/util/array.h b/vespalib/src/vespa/vespalib/util/array.h
index b766ed56844..23ce250642b 100644
--- a/vespalib/src/vespa/vespalib/util/array.h
+++ b/vespalib/src/vespa/vespalib/util/array.h
@@ -1,12 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <cstdint>
-#include <sys/types.h>
-#include <algorithm>
-#include <vespa/vespalib/util/alloc.h>
-#include <vespa/vespalib/util/optimized.h>
-#include <tr1/type_traits>
+#include "alloc.h"
namespace vespalib {
diff --git a/vespalib/src/vespa/vespalib/util/array.hpp b/vespalib/src/vespa/vespalib/util/array.hpp
index 86626f15b7c..771251f1675 100644
--- a/vespalib/src/vespa/vespalib/util/array.hpp
+++ b/vespalib/src/vespa/vespalib/util/array.hpp
@@ -2,8 +2,9 @@
#pragma once
#include "array.h"
-#include <stdlib.h>
-#include <string.h>
+#include <cstdlib>
+#include <cstring>
+#include <tr1/type_traits>
namespace vespalib {
diff --git a/vespalib/src/vespa/vespalib/util/compress.h b/vespalib/src/vespa/vespalib/util/compress.h
index 7480d4a8f89..f4190c999c3 100644
--- a/vespalib/src/vespa/vespalib/util/compress.h
+++ b/vespalib/src/vespa/vespalib/util/compress.h
@@ -2,12 +2,10 @@
#pragma once
-#include <stdint.h>
-#include <sys/types.h>
+#include <cstdint>
+#include <cstddef>
-namespace vespalib {
-
-namespace compress {
+namespace vespalib::compress {
class Integer {
public:
@@ -87,6 +85,3 @@ public:
};
}
-
-} // namespace vespalib
-
diff --git a/vespalib/src/vespa/vespalib/websocket/request.cpp b/vespalib/src/vespa/vespalib/websocket/request.cpp
index 733a8978ba6..98a6631bfcb 100644
--- a/vespalib/src/vespa/vespalib/websocket/request.cpp
+++ b/vespalib/src/vespa/vespalib/websocket/request.cpp
@@ -2,9 +2,9 @@
#include "request.h"
#include <cassert>
+#include <algorithm>
-namespace vespalib {
-namespace ws {
+namespace vespalib::ws {
namespace {
@@ -139,5 +139,4 @@ Request::is_ws_upgrade() const
has_connection_token("upgrade"));
}
-} // namespace vespalib::ws
-} // namespace vespalib
+}