diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-01-21 20:26:54 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-01-21 20:31:44 +0000 |
commit | c0d7ecc0cc0644320518b1c4ff90ef2bb2c8b000 (patch) | |
tree | fe673393cbc79a9ab70a0a5d96caf3ad6c8d87b0 | |
parent | 4814eb34c725110f25ab4324699d6f17a291c116 (diff) |
Add noexcept to move constructors and operators
22 files changed, 76 insertions, 77 deletions
diff --git a/eval/src/vespa/eval/eval/value_type.h b/eval/src/vespa/eval/eval/value_type.h index 1a4182dff2a..3e91240048b 100644 --- a/eval/src/vespa/eval/eval/value_type.h +++ b/eval/src/vespa/eval/eval/value_type.h @@ -46,9 +46,9 @@ private: : _type(type_in), _cell_type(cell_type_in), _dimensions(std::move(dimensions_in)) {} public: - ValueType(ValueType &&) = default; + ValueType(ValueType &&) noexcept = default; ValueType(const ValueType &) = default; - ValueType &operator=(ValueType &&) = default; + ValueType &operator=(ValueType &&) noexcept = default; ValueType &operator=(const ValueType &) = default; ~ValueType(); Type type() const { return _type; } diff --git a/searchcommon/src/vespa/searchcommon/attribute/config.cpp b/searchcommon/src/vespa/searchcommon/attribute/config.cpp index ac3d2327157..53e57fd9c66 100644 --- a/searchcommon/src/vespa/searchcommon/attribute/config.cpp +++ b/searchcommon/src/vespa/searchcommon/attribute/config.cpp @@ -40,6 +40,8 @@ Config::Config(BasicType bt, CollectionType ct, bool fastSearch_, bool huge_) Config::Config(const Config &) = default; Config & Config::operator = (const Config &) = default; +Config::Config(Config &&) noexcept = default; +Config & Config::operator = (Config &&) noexcept = default; Config::~Config() = default; bool diff --git a/searchcommon/src/vespa/searchcommon/attribute/config.h b/searchcommon/src/vespa/searchcommon/attribute/config.h index fe464736a6b..2f767061f7a 100644 --- a/searchcommon/src/vespa/searchcommon/attribute/config.h +++ b/searchcommon/src/vespa/searchcommon/attribute/config.h @@ -19,6 +19,8 @@ public: bool fastSearch_ = false, bool huge_ = false); Config(const Config &); Config & operator = (const Config &); + Config(Config &&) noexcept; + Config & operator = (Config &&) noexcept; ~Config(); BasicType basicType() const { return _basicType; } diff --git a/searchcommon/src/vespa/searchcommon/common/schema.cpp b/searchcommon/src/vespa/searchcommon/common/schema.cpp index 19d69b0c541..a21cc43572e 100644 --- a/searchcommon/src/vespa/searchcommon/common/schema.cpp +++ b/searchcommon/src/vespa/searchcommon/common/schema.cpp @@ -91,6 +91,11 @@ Schema::Field::Field(const std::vector<vespalib::string> & lines) { } +Schema::Field::Field(const Field &) = default; +Schema::Field & Schema::Field::operator = (const Field &) = default; +Schema::Field::Field(Field &&) noexcept = default; +Schema::Field & Schema::Field::operator = (Field &&) noexcept = default; + Schema::Field::~Field() = default; void @@ -139,6 +144,11 @@ Schema::IndexField::IndexField(const std::vector<vespalib::string> &lines) { } +Schema::IndexField::IndexField(const IndexField &) = default; +Schema::IndexField & Schema::IndexField::operator = (const IndexField &) = default; +Schema::IndexField::IndexField(IndexField &&) noexcept = default; +Schema::IndexField & Schema::IndexField::operator = (IndexField &&) noexcept = default; + void Schema::IndexField::write(vespalib::asciistream & os, vespalib::stringref prefix) const { @@ -178,7 +188,10 @@ Schema::FieldSet::FieldSet(const std::vector<vespalib::string> & lines) : } } -Schema::FieldSet::~FieldSet() { } +Schema::FieldSet::FieldSet(const FieldSet &) = default; +Schema::FieldSet & Schema::FieldSet::operator = (const FieldSet &) = default; + +Schema::FieldSet::~FieldSet() = default; bool Schema::FieldSet::operator==(const FieldSet &rhs) const @@ -206,19 +219,7 @@ Schema::writeToStream(vespalib::asciistream &os, bool saveToDisk) const } } -Schema::Schema() - : _indexFields(), - _attributeFields(), - _summaryFields(), - _fieldSets(), - _importedAttributeFields(), - _indexIds(), - _attributeIds(), - _summaryIds(), - _fieldSetIds(), - _importedAttributeIds() -{ -} +Schema::Schema() = default; Schema::Schema(const Schema & rhs) = default; Schema & Schema::operator=(const Schema & rhs) = default; diff --git a/searchcommon/src/vespa/searchcommon/common/schema.h b/searchcommon/src/vespa/searchcommon/common/schema.h index d71c14c90b1..e17d219d7e8 100644 --- a/searchcommon/src/vespa/searchcommon/common/schema.h +++ b/searchcommon/src/vespa/searchcommon/common/schema.h @@ -44,6 +44,10 @@ public: * Create this field based on the given config lines. **/ Field(const std::vector<vespalib::string> & lines); + Field(const Field &); + Field & operator = (const Field &); + Field(Field &&) noexcept; + Field & operator = (Field &&) noexcept; virtual ~Field(); @@ -78,6 +82,10 @@ public: public: IndexField(vespalib::stringref name, DataType dt); IndexField(vespalib::stringref name, DataType dt, CollectionType ct); + IndexField(const IndexField &); + IndexField & operator = (const IndexField &); + IndexField(IndexField &&) noexcept; + IndexField & operator = (IndexField &&) noexcept; /** * Create this index field based on the given config lines. **/ @@ -114,6 +122,10 @@ public: public: FieldSet(vespalib::stringref n) : _name(n), _fields() {} + FieldSet(const FieldSet &); + FieldSet & operator =(const FieldSet &); + FieldSet(FieldSet &&) noexcept = default; + FieldSet & operator =(FieldSet &&) noexcept = default; /** * Create this field collection based on the given config lines. diff --git a/searchcore/src/vespa/searchcore/proton/attribute/attribute_spec.cpp b/searchcore/src/vespa/searchcore/proton/attribute/attribute_spec.cpp index 20e6798c79b..bee80e77bd6 100644 --- a/searchcore/src/vespa/searchcore/proton/attribute/attribute_spec.cpp +++ b/searchcore/src/vespa/searchcore/proton/attribute/attribute_spec.cpp @@ -16,10 +16,10 @@ AttributeSpec::AttributeSpec(const AttributeSpec &) = default; AttributeSpec & AttributeSpec::operator=(const AttributeSpec &) = default; -AttributeSpec::AttributeSpec(AttributeSpec &&) = default; +AttributeSpec::AttributeSpec(AttributeSpec &&) noexcept = default; AttributeSpec & -AttributeSpec::operator=(AttributeSpec &&) = default; +AttributeSpec::operator=(AttributeSpec &&) noexcept = default; AttributeSpec::~AttributeSpec() = default; diff --git a/searchcore/src/vespa/searchcore/proton/attribute/attribute_spec.h b/searchcore/src/vespa/searchcore/proton/attribute/attribute_spec.h index 6c720ff5792..b6d6fc9963b 100644 --- a/searchcore/src/vespa/searchcore/proton/attribute/attribute_spec.h +++ b/searchcore/src/vespa/searchcore/proton/attribute/attribute_spec.h @@ -16,12 +16,11 @@ private: vespalib::string _name; search::attribute::Config _cfg; public: - AttributeSpec(const vespalib::string &name, - const search::attribute::Config &cfg); + AttributeSpec(const vespalib::string &name, const search::attribute::Config &cfg); AttributeSpec(const AttributeSpec &); AttributeSpec & operator=(const AttributeSpec &); - AttributeSpec(AttributeSpec &&); - AttributeSpec & operator=(AttributeSpec &&); + AttributeSpec(AttributeSpec &&) noexcept; + AttributeSpec & operator=(AttributeSpec &&) noexcept; ~AttributeSpec(); const vespalib::string &getName() const { return _name; } const search::attribute::Config &getConfig() const { return _cfg; } diff --git a/searchcore/src/vespa/searchcore/proton/attribute/attribute_writer.cpp b/searchcore/src/vespa/searchcore/proton/attribute/attribute_writer.cpp index 34e9ba2c145..74e3e903540 100644 --- a/searchcore/src/vespa/searchcore/proton/attribute/attribute_writer.cpp +++ b/searchcore/src/vespa/searchcore/proton/attribute/attribute_writer.cpp @@ -62,11 +62,11 @@ AttributeWriter::WriteContext::WriteContext(ExecutorId executorId) } -AttributeWriter::WriteContext::WriteContext(WriteContext &&rhs) = default; +AttributeWriter::WriteContext::WriteContext(WriteContext &&rhs) noexcept = default; AttributeWriter::WriteContext::~WriteContext() = default; -AttributeWriter::WriteContext &AttributeWriter::WriteContext::operator=(WriteContext &&rhs) = default; +AttributeWriter::WriteContext &AttributeWriter::WriteContext::operator=(WriteContext &&rhs) noexcept = default; void AttributeWriter::WriteContext::add(AttributeVector &attr) diff --git a/searchcore/src/vespa/searchcore/proton/attribute/attribute_writer.h b/searchcore/src/vespa/searchcore/proton/attribute/attribute_writer.h index 4ea7f3fda6c..9e5d8f4ce5d 100644 --- a/searchcore/src/vespa/searchcore/proton/attribute/attribute_writer.h +++ b/searchcore/src/vespa/searchcore/proton/attribute/attribute_writer.h @@ -48,9 +48,9 @@ public: bool _hasStructFieldAttribute; public: WriteContext(ExecutorId executorId); - WriteContext(WriteContext &&rhs); + WriteContext(WriteContext &&rhs) noexcept; ~WriteContext(); - WriteContext &operator=(WriteContext &&rhs); + WriteContext &operator=(WriteContext &&rhs) noexcept; void buildFieldPaths(const DocumentType &docType); void add(AttributeVector &attr); ExecutorId getExecutorId() const { return _executorId; } diff --git a/searchlib/src/vespa/searchlib/attribute/iterator_pack.h b/searchlib/src/vespa/searchlib/attribute/iterator_pack.h index e346ae66eb7..579f8428088 100644 --- a/searchlib/src/vespa/searchlib/attribute/iterator_pack.h +++ b/searchlib/src/vespa/searchlib/attribute/iterator_pack.h @@ -16,13 +16,8 @@ private: public: AttributeIteratorPack() : _children() {} - AttributeIteratorPack(AttributeIteratorPack &&rhs) - : _children(std::move(rhs._children)) {} - - AttributeIteratorPack &operator=(AttributeIteratorPack &&rhs) { - _children = std::move(rhs._children); - return *this; - } + AttributeIteratorPack(AttributeIteratorPack &&rhs) noexcept = default; + AttributeIteratorPack &operator=(AttributeIteratorPack &&rhs) noexcept = default; explicit AttributeIteratorPack(std::vector<DocumentWeightIterator> &&children) : _children(std::move(children)) {} diff --git a/searchlib/src/vespa/searchlib/query/streaming/queryterm.cpp b/searchlib/src/vespa/searchlib/query/streaming/queryterm.cpp index 164e9cea809..943920c9dc6 100644 --- a/searchlib/src/vespa/searchlib/query/streaming/queryterm.cpp +++ b/searchlib/src/vespa/searchlib/query/streaming/queryterm.cpp @@ -53,8 +53,8 @@ QueryTerm::QueryTerm() : QueryTerm::QueryTerm(const QueryTerm &) = default; QueryTerm & QueryTerm::operator = (const QueryTerm &) = default; -QueryTerm::QueryTerm(QueryTerm &&) = default; -QueryTerm & QueryTerm::operator = (QueryTerm &&) = default; +QueryTerm::QueryTerm(QueryTerm &&) noexcept = default; +QueryTerm & QueryTerm::operator = (QueryTerm &&) noexcept = default; QueryTerm::~QueryTerm() = default; diff --git a/searchlib/src/vespa/searchlib/query/streaming/queryterm.h b/searchlib/src/vespa/searchlib/query/streaming/queryterm.h index 82ed0eae9a5..65e966ca0f2 100644 --- a/searchlib/src/vespa/searchlib/query/streaming/queryterm.h +++ b/searchlib/src/vespa/searchlib/query/streaming/queryterm.h @@ -57,8 +57,8 @@ public: QueryTerm(std::unique_ptr<QueryNodeResultBase> resultBase, const string & term, const string & index, SearchTerm type); QueryTerm(const QueryTerm &); QueryTerm & operator = (const QueryTerm &); - QueryTerm(QueryTerm &&); - QueryTerm & operator = (QueryTerm &&); + QueryTerm(QueryTerm &&) noexcept; + QueryTerm & operator = (QueryTerm &&) noexcept; ~QueryTerm(); bool evaluate() const override; const HitList & evaluateHits(HitList & hl) const override; diff --git a/searchlib/src/vespa/searchlib/queryeval/iterator_pack.cpp b/searchlib/src/vespa/searchlib/queryeval/iterator_pack.cpp index 2f9242bb3fd..87ab0b57c45 100644 --- a/searchlib/src/vespa/searchlib/queryeval/iterator_pack.cpp +++ b/searchlib/src/vespa/searchlib/queryeval/iterator_pack.cpp @@ -8,21 +8,12 @@ namespace search::queryeval { SearchIteratorPack::~SearchIteratorPack() = default; -SearchIteratorPack::SearchIteratorPack() : _children(), _childMatch(), _md() {} +SearchIteratorPack::SearchIteratorPack() = default; -SearchIteratorPack::SearchIteratorPack(SearchIteratorPack &&rhs) - : _children(std::move(rhs._children)), - _childMatch(std::move(rhs._childMatch)), - _md(std::move(rhs._md)) -{} +SearchIteratorPack::SearchIteratorPack(SearchIteratorPack &&rhs) noexcept = default; SearchIteratorPack & -SearchIteratorPack::operator=(SearchIteratorPack &&rhs) { - _children = std::move(rhs._children); - _childMatch = std::move(rhs._childMatch); - _md = std::move(rhs._md); - return *this; -} +SearchIteratorPack::operator=(SearchIteratorPack &&rhs) noexcept = default; SearchIteratorPack::SearchIteratorPack(const std::vector<SearchIterator*> &children, const std::vector<fef::TermFieldMatchData*> &childMatch, diff --git a/searchlib/src/vespa/searchlib/queryeval/iterator_pack.h b/searchlib/src/vespa/searchlib/queryeval/iterator_pack.h index d35c1749f40..a7b30594a5b 100644 --- a/searchlib/src/vespa/searchlib/queryeval/iterator_pack.h +++ b/searchlib/src/vespa/searchlib/queryeval/iterator_pack.h @@ -20,8 +20,8 @@ private: public: SearchIteratorPack(); ~SearchIteratorPack(); - SearchIteratorPack(SearchIteratorPack &&rhs); - SearchIteratorPack &operator=(SearchIteratorPack &&rhs); + SearchIteratorPack(SearchIteratorPack &&rhs) noexcept; + SearchIteratorPack &operator=(SearchIteratorPack &&rhs) noexcept; SearchIteratorPack(const std::vector<SearchIterator*> &children, const std::vector<fef::TermFieldMatchData*> &childMatch, diff --git a/searchlib/src/vespa/searchlib/queryeval/wand/wand_parts.cpp b/searchlib/src/vespa/searchlib/queryeval/wand/wand_parts.cpp index c2be2ce37b9..c6801d86351 100644 --- a/searchlib/src/vespa/searchlib/queryeval/wand/wand_parts.cpp +++ b/searchlib/src/vespa/searchlib/queryeval/wand/wand_parts.cpp @@ -3,22 +3,18 @@ #include "wand_parts.h" #include <vespa/vespalib/objects/visit.hpp> -namespace search { -namespace queryeval { -namespace wand { +namespace search::queryeval::wand { void VectorizedIteratorTerms::visit_members(vespalib::ObjectVisitor &visitor) const { visit(visitor, "children", _terms); } -VectorizedIteratorTerms::VectorizedIteratorTerms(VectorizedIteratorTerms &&) = default; -VectorizedIteratorTerms & VectorizedIteratorTerms::operator=(VectorizedIteratorTerms &&) = default; -VectorizedIteratorTerms::~VectorizedIteratorTerms() { } +VectorizedIteratorTerms::VectorizedIteratorTerms(VectorizedIteratorTerms &&) noexcept = default; +VectorizedIteratorTerms & VectorizedIteratorTerms::operator=(VectorizedIteratorTerms &&) noexcept = default; +VectorizedIteratorTerms::~VectorizedIteratorTerms() = default; -} // namespace wand -} // namespace queryeval -} // namespace search +} void visit(vespalib::ObjectVisitor &self, const vespalib::string &name, const search::queryeval::wand::Term &obj) diff --git a/searchlib/src/vespa/searchlib/queryeval/wand/wand_parts.h b/searchlib/src/vespa/searchlib/queryeval/wand/wand_parts.h index 9fbf9f7d850..bd60473e05d 100644 --- a/searchlib/src/vespa/searchlib/queryeval/wand/wand_parts.h +++ b/searchlib/src/vespa/searchlib/queryeval/wand/wand_parts.h @@ -157,8 +157,8 @@ private: public: VectorizedState(); - VectorizedState(VectorizedState &&); - VectorizedState & operator=(VectorizedState &&); + VectorizedState(VectorizedState &&) noexcept; + VectorizedState & operator=(VectorizedState &&) noexcept; ~VectorizedState(); template <typename Scorer, typename Input> @@ -189,14 +189,14 @@ VectorizedState<IteratorPack>::VectorizedState() _iteratorPack() {} template <typename IteratorPack> -VectorizedState<IteratorPack>::~VectorizedState() { } +VectorizedState<IteratorPack>::~VectorizedState() = default; template <typename IteratorPack> -VectorizedState<IteratorPack>::VectorizedState(VectorizedState &&) = default; +VectorizedState<IteratorPack>::VectorizedState(VectorizedState &&) noexcept = default; template <typename IteratorPack> VectorizedState<IteratorPack> & -VectorizedState<IteratorPack>::operator=(VectorizedState &&) = default; +VectorizedState<IteratorPack>::operator=(VectorizedState &&) noexcept = default; template <typename IteratorPack> template <typename Scorer, typename Input> @@ -239,8 +239,8 @@ public: template <typename Scorer> VectorizedIteratorTerms(const Terms &t, const Scorer &, uint32_t docIdLimit, fef::MatchData::UP childrenMatchData); - VectorizedIteratorTerms(VectorizedIteratorTerms &&); - VectorizedIteratorTerms & operator=(VectorizedIteratorTerms &&); + VectorizedIteratorTerms(VectorizedIteratorTerms &&) noexcept; + VectorizedIteratorTerms & operator=(VectorizedIteratorTerms &&) noexcept; ~VectorizedIteratorTerms(); void unpack(uint16_t ref, uint32_t docid) { iteratorPack().unpack(ref, docid); } diff --git a/storageapi/src/vespa/storageapi/messageapi/returncode.cpp b/storageapi/src/vespa/storageapi/messageapi/returncode.cpp index 1868e53e4a5..d5c8cb7da68 100644 --- a/storageapi/src/vespa/storageapi/messageapi/returncode.cpp +++ b/storageapi/src/vespa/storageapi/messageapi/returncode.cpp @@ -12,7 +12,7 @@ ReturnCode::ReturnCode() ReturnCode::ReturnCode(const ReturnCode &) = default; ReturnCode & ReturnCode::operator = (const ReturnCode &) = default; -ReturnCode & ReturnCode::operator = (ReturnCode &&) = default; +ReturnCode & ReturnCode::operator = (ReturnCode &&) noexcept = default; ReturnCode::~ReturnCode() = default; ReturnCode::ReturnCode(Result result, vespalib::stringref msg) diff --git a/storageapi/src/vespa/storageapi/messageapi/returncode.h b/storageapi/src/vespa/storageapi/messageapi/returncode.h index 305a998918c..0149ae29a05 100644 --- a/storageapi/src/vespa/storageapi/messageapi/returncode.h +++ b/storageapi/src/vespa/storageapi/messageapi/returncode.h @@ -65,8 +65,8 @@ public: explicit ReturnCode(Result result, vespalib::stringref msg = ""); ReturnCode(const ReturnCode &); ReturnCode & operator = (const ReturnCode &); - ReturnCode(ReturnCode &&) = default; - ReturnCode & operator = (ReturnCode &&); + ReturnCode(ReturnCode &&) noexcept = default; + ReturnCode & operator = (ReturnCode &&) noexcept; ~ReturnCode(); const vespalib::string& getMessage() const { return _message; } diff --git a/vdslib/src/vespa/vdslib/state/nodestate.cpp b/vdslib/src/vespa/vdslib/state/nodestate.cpp index 22854b7a571..41d42fd5c6f 100644 --- a/vdslib/src/vespa/vdslib/state/nodestate.cpp +++ b/vdslib/src/vespa/vdslib/state/nodestate.cpp @@ -17,8 +17,8 @@ namespace storage::lib { NodeState::NodeState(const NodeState &) = default; NodeState & NodeState::operator = (const NodeState &) = default; -NodeState::NodeState(NodeState &&) = default; -NodeState & NodeState::operator = (NodeState &&) = default; +NodeState::NodeState(NodeState &&) noexcept = default; +NodeState & NodeState::operator = (NodeState &&) noexcept = default; NodeState::~NodeState() { } NodeState::NodeState() diff --git a/vdslib/src/vespa/vdslib/state/nodestate.h b/vdslib/src/vespa/vdslib/state/nodestate.h index 74f58663650..6317cb3fa84 100644 --- a/vdslib/src/vespa/vdslib/state/nodestate.h +++ b/vdslib/src/vespa/vdslib/state/nodestate.h @@ -40,8 +40,8 @@ public: NodeState(); NodeState(const NodeState &); NodeState & operator = (const NodeState &); - NodeState(NodeState &&); - NodeState & operator = (NodeState &&); + NodeState(NodeState &&) noexcept; + NodeState & operator = (NodeState &&) noexcept; NodeState(const NodeType& nodeType, const State&, vespalib::stringref description = "", double capacity = 1.0, uint16_t reliability = 1); diff --git a/vsm/src/vespa/vsm/vsm/fieldsearchspec.cpp b/vsm/src/vespa/vsm/vsm/fieldsearchspec.cpp index 3b1c98cd319..5f66d550174 100644 --- a/vsm/src/vespa/vsm/vsm/fieldsearchspec.cpp +++ b/vsm/src/vespa/vsm/vsm/fieldsearchspec.cpp @@ -54,8 +54,8 @@ FieldSearchSpec::FieldSearchSpec() : } FieldSearchSpec::~FieldSearchSpec() = default; -FieldSearchSpec& -FieldSearchSpec::operator=(FieldSearchSpec&& rhs) = default; +FieldSearchSpec::FieldSearchSpec(FieldSearchSpec&& rhs) noexcept = default; +FieldSearchSpec& FieldSearchSpec::operator=(FieldSearchSpec&& rhs) noexcept = default; FieldSearchSpec::FieldSearchSpec(const FieldIdT & fid, const vespalib::string & fname, VsmfieldsConfig::Fieldspec::Searchmethod searchDef, diff --git a/vsm/src/vespa/vsm/vsm/fieldsearchspec.h b/vsm/src/vespa/vsm/vsm/fieldsearchspec.h index f8631cc0ace..59fe737d480 100644 --- a/vsm/src/vespa/vsm/vsm/fieldsearchspec.h +++ b/vsm/src/vespa/vsm/vsm/fieldsearchspec.h @@ -14,7 +14,8 @@ public: VsmfieldsConfig::Fieldspec::Searchmethod searchMethod, const vespalib::string & arg1, size_t maxLength); ~FieldSearchSpec(); - FieldSearchSpec& operator=(FieldSearchSpec&& rhs); + FieldSearchSpec(FieldSearchSpec&& rhs) noexcept; + FieldSearchSpec& operator=(FieldSearchSpec&& rhs) noexcept; const FieldSearcher & searcher() const { return *_searcher; } const vespalib::string & name() const { return _name; } FieldIdT id() const { return _id; } |