diff options
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> ¶m_names; - std::vector<vespalib::string> let_names; + std::vector<vespalib::string> let_names; + DumpContext(const std::vector<vespalib::string> ¶m_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 +} |