From c0d7ecc0cc0644320518b1c4ff90ef2bb2c8b000 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Tue, 21 Jan 2020 20:26:54 +0000 Subject: Add noexcept to move constructors and operators --- searchlib/src/vespa/searchlib/attribute/iterator_pack.h | 9 ++------- .../src/vespa/searchlib/query/streaming/queryterm.cpp | 4 ++-- searchlib/src/vespa/searchlib/query/streaming/queryterm.h | 4 ++-- searchlib/src/vespa/searchlib/queryeval/iterator_pack.cpp | 15 +++------------ searchlib/src/vespa/searchlib/queryeval/iterator_pack.h | 4 ++-- .../src/vespa/searchlib/queryeval/wand/wand_parts.cpp | 14 +++++--------- searchlib/src/vespa/searchlib/queryeval/wand/wand_parts.h | 14 +++++++------- 7 files changed, 23 insertions(+), 41 deletions(-) (limited to 'searchlib') 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 &&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 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 &children, const std::vector &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 &children, const std::vector &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 -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 @@ -189,14 +189,14 @@ VectorizedState::VectorizedState() _iteratorPack() {} template -VectorizedState::~VectorizedState() { } +VectorizedState::~VectorizedState() = default; template -VectorizedState::VectorizedState(VectorizedState &&) = default; +VectorizedState::VectorizedState(VectorizedState &&) noexcept = default; template VectorizedState & -VectorizedState::operator=(VectorizedState &&) = default; +VectorizedState::operator=(VectorizedState &&) noexcept = default; template template @@ -239,8 +239,8 @@ public: template 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); } -- cgit v1.2.3