summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorGeir Storli <geirst@yahooinc.com>2023-07-07 11:32:10 +0000
committerGeir Storli <geirst@yahooinc.com>2023-07-07 11:32:10 +0000
commit5ecdd502a96ae0270a7022dace4cd56da505fc8c (patch)
tree200e196e12dfb2186ee72a710a3849f6110d8f6b /searchlib
parenta429a77efa405ca5f4c62379101f7429b3ada840 (diff)
Modernize C++ code with auto and range-based loops.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/apps/vespa-index-inspect/vespa-index-inspect.cpp72
-rw-r--r--searchlib/src/vespa/searchcommon/common/schema.cpp13
-rw-r--r--searchlib/src/vespa/searchlib/aggregation/group.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/aggregation/grouping.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.cpp4
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attributecontext.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attributemanager.cpp18
-rw-r--r--searchlib/src/vespa/searchlib/attribute/posting_list_merger.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/postingchange.cpp21
-rw-r--r--searchlib/src/vespa/searchlib/bitcompression/pagedict4.cpp3
-rw-r--r--searchlib/src/vespa/searchlib/common/bitvectorcache.cpp4
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/bitvectordictionary.cpp3
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/diskindex.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/fieldreader.cpp5
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/zc4_posting_writer.cpp17
-rw-r--r--searchlib/src/vespa/searchlib/docstore/chunk.cpp12
-rw-r--r--searchlib/src/vespa/searchlib/docstore/logdatastore.cpp21
-rw-r--r--searchlib/src/vespa/searchlib/engine/propertiesmap.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/expression/documentfieldnode.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/expression/resultvector.h10
-rw-r--r--searchlib/src/vespa/searchlib/features/fieldlengthfeature.cpp7
-rw-r--r--searchlib/src/vespa/searchlib/features/flow_completeness_feature.cpp4
-rw-r--r--searchlib/src/vespa/searchlib/features/querycompletenessfeature.cpp6
-rw-r--r--searchlib/src/vespa/searchlib/fef/blueprintfactory.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/fef/objectstore.cpp4
-rw-r--r--searchlib/src/vespa/searchlib/fef/properties.cpp50
-rw-r--r--searchlib/src/vespa/searchlib/fef/tablemanager.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/fef/test/matchdatabuilder.cpp21
-rw-r--r--searchlib/src/vespa/searchlib/fef/test/rankresult.cpp27
-rw-r--r--searchlib/src/vespa/searchlib/grouping/collect.h2
-rw-r--r--searchlib/src/vespa/searchlib/grouping/groupengine.cpp6
-rw-r--r--searchlib/src/vespa/searchlib/index/postinglistparams.cpp12
-rw-r--r--searchlib/src/vespa/searchlib/memoryindex/field_inverter.cpp6
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/nearsearch.cpp6
-rw-r--r--searchlib/src/vespa/searchlib/test/fakedata/fakeegcompr64filterocc.cpp8
-rw-r--r--searchlib/src/vespa/searchlib/test/fakedata/fakefilterocc.cpp13
-rw-r--r--searchlib/src/vespa/searchlib/test/fakedata/fakememtreeocc.cpp34
-rw-r--r--searchlib/src/vespa/searchlib/test/fakedata/fakeword.cpp98
-rw-r--r--searchlib/src/vespa/searchlib/test/fakedata/fakezcbfilterocc.cpp8
-rw-r--r--searchlib/src/vespa/searchlib/test/fakedata/fakezcfilterocc.cpp12
-rw-r--r--searchlib/src/vespa/searchlib/test/fakedata/fpfactory.cpp9
-rw-r--r--searchlib/src/vespa/searchlib/test/mock_attribute_context.cpp12
-rw-r--r--searchlib/src/vespa/searchlib/test/mock_attribute_manager.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/transactionlog/translogclient.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp4
-rw-r--r--searchlib/src/vespa/searchlib/util/posting_priority_queue.hpp7
46 files changed, 235 insertions, 346 deletions
diff --git a/searchlib/src/apps/vespa-index-inspect/vespa-index-inspect.cpp b/searchlib/src/apps/vespa-index-inspect/vespa-index-inspect.cpp
index 6278b216b52..75c49c3a003 100644
--- a/searchlib/src/apps/vespa-index-inspect/vespa-index-inspect.cpp
+++ b/searchlib/src/apps/vespa-index-inspect/vespa-index-inspect.cpp
@@ -151,12 +151,10 @@ FieldOptions::~FieldOptions() = default;
void
FieldOptions::validateFields(const Schema &schema)
{
- for (std::vector<vespalib::string>::const_iterator
- i = _fields.begin(), ie = _fields.end();
- i != ie; ++i) {
- uint32_t fieldId = schema.getIndexFieldId(*i);
+ for (const auto& field : _fields) {
+ uint32_t fieldId = schema.getIndexFieldId(field);
if (fieldId == Schema::UNKNOWN_FIELD_ID) {
- LOG(error, "No such field: %s", i->c_str());
+ LOG(error, "No such field: %s", field.c_str());
std::_Exit(1);
}
_ids.push_back(fieldId);
@@ -399,10 +397,8 @@ ShowPostingListSubApp::readWordList(const Schema &schema)
_wmv.resize(numFields);
if (!_fieldOptions.empty()) {
- for (std::vector<uint32_t>::const_iterator
- i = _fieldOptions._ids.begin(), ie = _fieldOptions._ids.end();
- i != ie; ++i) {
- SchemaUtil::IndexIterator index(schema, *i);
+ for (auto id : _fieldOptions._ids) {
+ SchemaUtil::IndexIterator index(schema, id);
if (!readWordList(index))
return false;
}
@@ -462,10 +458,8 @@ ShowPostingListSubApp::showTransposedPostingList()
return;
std::vector<PosEntry> entries;
if (!_fieldOptions.empty()) {
- for (std::vector<uint32_t>::const_iterator
- i = _fieldOptions._ids.begin(), ie = _fieldOptions._ids.end();
- i != ie; ++i) {
- SchemaUtil::IndexIterator index(schema, *i);
+ for (auto id : _fieldOptions._ids) {
+ SchemaUtil::IndexIterator index(schema, id);
readPostings(index, entries);
}
} else {
@@ -481,35 +475,34 @@ ShowPostingListSubApp::showTransposedPostingList()
uint32_t prevElemId = static_cast<uint32_t>(-1);
uint32_t prevElementLen = 0;
int32_t prevElementWeight = 0;
- for (std::vector<PosEntry>::const_iterator
- i = entries.begin(), ie = entries.end(); i != ie; ++i) {
- if (i->_docId != prevDocId) {
- std::cout << "docId = " << i->_docId << '\n';
- prevDocId = i->_docId;
+ for (const auto& entry : entries) {
+ if (entry._docId != prevDocId) {
+ std::cout << "docId = " << entry._docId << '\n';
+ prevDocId = entry._docId;
prevFieldId = static_cast<uint32_t>(-1);
}
- if (i->_fieldId != prevFieldId) {
- std::cout << " field = " << i->_fieldId <<
- " \"" << schema.getIndexField(i->_fieldId).getName() <<
+ if (entry._fieldId != prevFieldId) {
+ std::cout << " field = " << entry._fieldId <<
+ " \"" << schema.getIndexField(entry._fieldId).getName() <<
"\"\n";
- prevFieldId = i->_fieldId;
+ prevFieldId = entry._fieldId;
prevElemId = static_cast<uint32_t>(-1);
}
- if (i->_elementId != prevElemId ||
- i->_elementLen != prevElementLen ||
- i->_elementWeight != prevElementWeight) {
- std::cout << " element = " << i->_elementId <<
- ", elementLen = " << i->_elementLen <<
- ", elementWeight = " << i->_elementWeight <<
+ if (entry._elementId != prevElemId ||
+ entry._elementLen != prevElementLen ||
+ entry._elementWeight != prevElementWeight) {
+ std::cout << " element = " << entry._elementId <<
+ ", elementLen = " << entry._elementLen <<
+ ", elementWeight = " << entry._elementWeight <<
'\n';
- prevElemId = i->_elementId;
- prevElementLen = i->_elementLen;
- prevElementWeight = i->_elementWeight;
+ prevElemId = entry._elementId;
+ prevElementLen = entry._elementLen;
+ prevElementWeight = entry._elementWeight;
}
- assert(i->_wordNum != 0);
- assert(i->_wordNum < _wordsv[i->_fieldId].size());
- std::cout << " pos = " << i->_wordPos <<
- ", word = \"" << _wordsv[i->_fieldId][i->_wordNum] << "\"";
+ assert(entry._wordNum != 0);
+ assert(entry._wordNum < _wordsv[entry._fieldId].size());
+ std::cout << " pos = " << entry._wordPos <<
+ ", word = \"" << _wordsv[entry._fieldId][entry._wordNum] << "\"";
std::cout << '\n';
}
}
@@ -588,13 +581,10 @@ ShowPostingListSubApp::showPostingList()
handle->second);
std::vector<TermFieldMatchData> tfmdv(numFields);
TermFieldMatchDataArray tfmda;
- for (std::vector<TermFieldMatchData>::iterator
- tfit = tfmdv.begin(), tfite = tfmdv.end();
- tfit != tfite; ++tfit) {
- tfmda.add(&*tfit);
+ for (auto& tfmd : tfmdv) {
+ tfmda.add(&tfmd);
}
- std::unique_ptr<SearchIterator> sb(handle->second.createIterator(
- handle->first, tfmda));
+ auto sb = handle->second.createIterator(handle->first, tfmda);
sb->initFullRange();
uint32_t docId = 0;
bool first = true;
diff --git a/searchlib/src/vespa/searchcommon/common/schema.cpp b/searchlib/src/vespa/searchcommon/common/schema.cpp
index 1f2f924a4cd..7a3e15dbd6d 100644
--- a/searchlib/src/vespa/searchcommon/common/schema.cpp
+++ b/searchlib/src/vespa/searchcommon/common/schema.cpp
@@ -59,7 +59,7 @@ template <typename T>
uint32_t
getFieldId(vespalib::stringref name, const T &map)
{
- typename T::const_iterator it = map.find(name);
+ auto it = map.find(name);
return (it != map.end()) ? it->second : Schema::UNKNOWN_FIELD_ID;
}
@@ -433,13 +433,12 @@ struct IntersectHelper {
void intersect(const std::vector<T> &set1, const std::vector<T> &set2,
const Map &set2_map,
std::vector<T> &intersection, Map &intersection_map) {
- for (typename std::vector<T>::const_iterator
- it = set1.begin(); it != set1.end(); ++it) {
- typename Map::const_iterator it2 = set2_map.find(it->getName());
+ for (const auto& elem : set1) {
+ auto it2 = set2_map.find(elem.getName());
if (it2 != set2_map.end()) {
- if (is_matching(*it, set2[it2->second])) {
- intersection_map[it->getName()] = intersection.size();
- intersection.push_back(*it);
+ if (is_matching(elem, set2[it2->second])) {
+ intersection_map[elem.getName()] = intersection.size();
+ intersection.push_back(elem);
}
}
}
diff --git a/searchlib/src/vespa/searchlib/aggregation/group.cpp b/searchlib/src/vespa/searchlib/aggregation/group.cpp
index 5a16756f0d7..60afcc96ef5 100644
--- a/searchlib/src/vespa/searchlib/aggregation/group.cpp
+++ b/searchlib/src/vespa/searchlib/aggregation/group.cpp
@@ -98,7 +98,7 @@ Group::Value::groupSingle(const ResultNode & selectResult, HitRank rank, const G
}
GroupHash & childMap = *_childInfo._childMap;
Group * group(nullptr);
- GroupHash::iterator found = childMap.find(selectResult);
+ auto found = childMap.find(selectResult);
if (found == childMap.end()) { // group not present in child map
if (level.allowMoreGroups(childMap.size())) {
group = new Group(level.getGroupPrototype());
diff --git a/searchlib/src/vespa/searchlib/aggregation/grouping.cpp b/searchlib/src/vespa/searchlib/aggregation/grouping.cpp
index e9df10d3a61..96cfb29a693 100644
--- a/searchlib/src/vespa/searchlib/aggregation/grouping.cpp
+++ b/searchlib/src/vespa/searchlib/aggregation/grouping.cpp
@@ -309,7 +309,7 @@ bool
Grouping::needResort() const
{
bool resort(_root.needResort());
- for (GroupingLevelList::const_iterator it(_levels.begin()), mt(_levels.end()); !resort && (it != mt); ++it) {
+ for (auto it(_levels.begin()), mt(_levels.end()); !resort && (it != mt); ++it) {
resort = it->needResort();
}
return (resort && getTopN() <= 0);
diff --git a/searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.cpp b/searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.cpp
index c467590fe69..2fac2350735 100644
--- a/searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.cpp
@@ -99,12 +99,12 @@ public:
}
}
void and_hits_into(BitVector & result,uint32_t begin_id) override {
- typename Map::iterator end = _map.end();
+ auto end = _map.end();
result.foreach_truebit([&, end](uint32_t key) { if ( _map.find(_attr.getToken(key)) == end) { result.clearBit(key); }}, begin_id);
}
void doSeek(uint32_t docId) override {
- typename Map::const_iterator pos = _map.find(_attr.getToken(docId));
+ auto pos = _map.find(_attr.getToken(docId));
if (pos != _map.end()) {
_weight = pos->second;
setDocId(docId);
diff --git a/searchlib/src/vespa/searchlib/attribute/attributecontext.cpp b/searchlib/src/vespa/searchlib/attribute/attributecontext.cpp
index 97a7dc8bcb1..443fc8369d3 100644
--- a/searchlib/src/vespa/searchlib/attribute/attributecontext.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/attributecontext.cpp
@@ -12,7 +12,7 @@ namespace search {
const IAttributeVector *
AttributeContext::getAttribute(AttributeMap & map, const string & name, bool stableEnum) const
{
- AttributeMap::const_iterator itr = map.find(name);
+ auto itr = map.find(name);
if (itr != map.end()) {
if (itr->second) {
return itr->second->attribute();
diff --git a/searchlib/src/vespa/searchlib/attribute/attributemanager.cpp b/searchlib/src/vespa/searchlib/attribute/attributemanager.cpp
index 8c1b453c354..c85d77ff70a 100644
--- a/searchlib/src/vespa/searchlib/attribute/attributemanager.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/attributemanager.cpp
@@ -33,7 +33,7 @@ waitBaseDir(const string &baseDir)
std::unique_lock<std::mutex> guard(baseDirLock);
bool waited = false;
- BaseDirSet::iterator it = baseDirSet.find(baseDir);
+ auto it = baseDirSet.find(baseDir);
while (it != baseDirSet.end()) {
if (!waited) {
waited = true;
@@ -57,7 +57,7 @@ dropBaseDir(const string &baseDir)
return;
std::lock_guard<std::mutex> guard(baseDirLock);
- BaseDirSet::iterator it = baseDirSet.find(baseDir);
+ auto it = baseDirSet.find(baseDir);
if (it == baseDirSet.end()) {
LOG(error, "AttributeManager: Cannot drop basedir %s, already dropped", baseDir.c_str());
} else {
@@ -114,8 +114,8 @@ AttributeManager::~AttributeManager()
uint64_t AttributeManager::getMemoryFootprint() const
{
uint64_t sum(0);
- for(AttributeMap::const_iterator it(_attributes.begin()), mt(_attributes.end()); it != mt; it++) {
- sum += it->second->getStatus().getAllocated();
+ for (const auto& elem : _attributes) {
+ sum += elem.second->getStatus().getAllocated();
}
return sum;
@@ -125,7 +125,7 @@ const AttributeManager::VectorHolder *
AttributeManager::findAndLoadAttribute(const string & name) const
{
const VectorHolder * loadedVector(nullptr);
- AttributeMap::const_iterator found = _attributes.find(name);
+ auto found = _attributes.find(name);
if (found != _attributes.end()) {
AttributeVector & vec = *found->second;
if ( ! vec.isLoaded() ) {
@@ -173,7 +173,7 @@ bool
AttributeManager::add(const AttributeManager::VectorHolder & vector)
{
bool retval(true);
- AttributeMap::iterator found = _attributes.find(vector->getName());
+ auto found = _attributes.find(vector->getName());
if (found == _attributes.end()) {
vector->setInterlock(_interlock);
_attributes[vector->getName()] = vector;
@@ -186,8 +186,8 @@ void
AttributeManager::getAttributeList(AttributeList & list) const
{
list.reserve(_attributes.size());
- for(AttributeMap::const_iterator it(_attributes.begin()), mt(_attributes.end()); it != mt; it++) {
- list.push_back(AttributeGuard(it->second));
+ for (const auto& elem : _attributes) {
+ list.push_back(AttributeGuard(elem.second));
}
}
@@ -224,7 +224,7 @@ AttributeManager::addVector(const string & name, const Config & config)
LOG(error, "Attribute Vector '%s' has type conflict", name.c_str());
}
} else {
- AttributeMap::iterator found = _attributes.find(name);
+ auto found = _attributes.find(name);
if (found != _attributes.end()) {
const VectorHolder & vh(found->second);
if ( vh.get() &&
diff --git a/searchlib/src/vespa/searchlib/attribute/posting_list_merger.cpp b/searchlib/src/vespa/searchlib/attribute/posting_list_merger.cpp
index 4aa9ad01f2c..62eaf05a2e3 100644
--- a/searchlib/src/vespa/searchlib/attribute/posting_list_merger.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/posting_list_merger.cpp
@@ -64,7 +64,7 @@ PostingListMerger<DataT>::merge(PostingVector &v, PostingVector &temp, const Sta
size_t aEnd = startPos[i * 2 + 1];
size_t bStart = aEnd;
size_t bEnd = startPos[i * 2 + 2];
- typename PostingVector::const_iterator it = v.begin();
+ auto it = v.begin();
std::merge(it + aStart, it + aEnd,
it + bStart, it + bEnd,
temp.begin() + aStart);
diff --git a/searchlib/src/vespa/searchlib/attribute/postingchange.cpp b/searchlib/src/vespa/searchlib/attribute/postingchange.cpp
index a49a17470d7..dca79f045a0 100644
--- a/searchlib/src/vespa/searchlib/attribute/postingchange.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/postingchange.cpp
@@ -25,15 +25,14 @@ struct CompareValue {
void
removeDupAdditions(PostingChange<AttributePosting>::A &additions)
{
- using Iterator = PostingChange<AttributePosting>::A::iterator;
if (additions.empty())
return;
if (additions.size() == 1)
return;
std::sort(additions.begin(), additions.end());
- Iterator i = additions.begin();
- Iterator ie = additions.end();
- Iterator d = i;
+ auto i = additions.begin();
+ auto ie = additions.end();
+ auto d = i;
for (++i; i != ie; ++i, ++d) {
if (d->_key == i->_key)
break;
@@ -53,15 +52,14 @@ removeDupAdditions(PostingChange<AttributePosting>::A &additions)
void
removeDupAdditions(PostingChange<AttributeWeightPosting>::A &additions)
{
- using Iterator = PostingChange<AttributeWeightPosting>::A::iterator;
if (additions.empty())
return;
if (additions.size() == 1u)
return;
std::sort(additions.begin(), additions.end());
- Iterator i = additions.begin();
- Iterator ie = additions.end();
- Iterator d = i;
+ auto i = additions.begin();
+ auto ie = additions.end();
+ auto d = i;
for (++i; i != ie; ++i, ++d) {
if (d->_key == i->_key)
break;
@@ -85,15 +83,14 @@ removeDupAdditions(PostingChange<AttributeWeightPosting>::A &additions)
void
removeDupRemovals(std::vector<uint32_t> &removals)
{
- using Iterator = std::vector<uint32_t>::iterator;
if (removals.empty())
return;
if (removals.size() == 1u)
return;
std::sort(removals.begin(), removals.end());
- Iterator i = removals.begin();
- Iterator ie = removals.end();
- Iterator d = i;
+ auto i = removals.begin();
+ auto ie = removals.end();
+ auto d = i;
for (++i; i != ie; ++i, ++d) {
if (*d == *i)
break;
diff --git a/searchlib/src/vespa/searchlib/bitcompression/pagedict4.cpp b/searchlib/src/vespa/searchlib/bitcompression/pagedict4.cpp
index 835aaadc559..444c935b6f8 100644
--- a/searchlib/src/vespa/searchlib/bitcompression/pagedict4.cpp
+++ b/searchlib/src/vespa/searchlib/bitcompression/pagedict4.cpp
@@ -1184,8 +1184,7 @@ lookupOverflow(uint64_t wordNum) const
assert(!_overflows.empty());
- OverflowVector::const_iterator lb =
- std::lower_bound(_overflows.begin(), _overflows.end(), wordNum);
+ auto lb = std::lower_bound(_overflows.begin(), _overflows.end(), wordNum);
assert(lb != _overflows.end());
assert(lb->_wordNum == wordNum);
diff --git a/searchlib/src/vespa/searchlib/common/bitvectorcache.cpp b/searchlib/src/vespa/searchlib/common/bitvectorcache.cpp
index ea7fd5ee76c..022bc789e38 100644
--- a/searchlib/src/vespa/searchlib/common/bitvectorcache.cpp
+++ b/searchlib/src/vespa/searchlib/common/bitvectorcache.cpp
@@ -32,9 +32,9 @@ BitVectorCache::computeCountVector(KeySet & keys, CountVector & v) const
{
std::shared_lock guard(_mutex);
keySets.resize(_chunks.size());
- Key2Index::const_iterator end(_keys.end());
+ auto end = _keys.end();
for (Key k : keys) {
- Key2Index::const_iterator found = _keys.find(k);
+ auto found = _keys.find(k);
if (found != end) {
const KeyMeta & m = found->second;
keySets[m.chunkId()].insert(m.chunkIndex());
diff --git a/searchlib/src/vespa/searchlib/diskindex/bitvectordictionary.cpp b/searchlib/src/vespa/searchlib/diskindex/bitvectordictionary.cpp
index f6dd5a318ae..efdbedd0941 100644
--- a/searchlib/src/vespa/searchlib/diskindex/bitvectordictionary.cpp
+++ b/searchlib/src/vespa/searchlib/diskindex/bitvectordictionary.cpp
@@ -86,8 +86,7 @@ BitVectorDictionary::lookup(uint64_t wordNum)
{
WordSingleKey key;
key._wordNum = wordNum;
- std::vector<WordSingleKey>::const_iterator itr =
- std::lower_bound(_entries.begin(), _entries.end(), key);
+ auto itr = std::lower_bound(_entries.begin(), _entries.end(), key);
if (itr == _entries.end() || key < *itr) {
return BitVector::UP();
}
diff --git a/searchlib/src/vespa/searchlib/diskindex/diskindex.cpp b/searchlib/src/vespa/searchlib/diskindex/diskindex.cpp
index 90bcaabc7a5..b1757c0e831 100644
--- a/searchlib/src/vespa/searchlib/diskindex/diskindex.cpp
+++ b/searchlib/src/vespa/searchlib/diskindex/diskindex.cpp
@@ -342,7 +342,7 @@ public:
}
const DiskIndex::LookupResult &
lookup(const vespalib::string & word, uint32_t fieldId) {
- Cache::const_iterator it = _cache.find(word);
+ auto it = _cache.find(word);
if (it == _cache.end()) {
_cache[word] = _diskIndex.lookup(_fieldIds, word);
it = _cache.find(word);
diff --git a/searchlib/src/vespa/searchlib/diskindex/fieldreader.cpp b/searchlib/src/vespa/searchlib/diskindex/fieldreader.cpp
index d01030ee975..20a5a76905f 100644
--- a/searchlib/src/vespa/searchlib/diskindex/fieldreader.cpp
+++ b/searchlib/src/vespa/searchlib/diskindex/fieldreader.cpp
@@ -317,8 +317,6 @@ FieldReaderStripInfo::scan_element_lengths(uint32_t scan_chunk)
void
FieldReaderStripInfo::read()
{
- using Element = search::index::WordDocElementFeatures;
-
for (;;) {
FieldReader::read();
DocIdAndFeatures &features = _docIdAndFeatures;
@@ -328,8 +326,7 @@ FieldReaderStripInfo::read()
assert(!features.has_raw_data());
uint32_t numElements = features.elements().size();
assert(numElements > 0);
- std::vector<Element>::iterator element =
- features.elements().begin();
+ auto element = features.elements().begin();
if (_hasElements) {
if (!_hasElementWeights) {
for (uint32_t elementDone = 0; elementDone < numElements; ++elementDone, ++element) {
diff --git a/searchlib/src/vespa/searchlib/diskindex/zc4_posting_writer.cpp b/searchlib/src/vespa/searchlib/diskindex/zc4_posting_writer.cpp
index 3a1b7928c93..07d31e16f66 100644
--- a/searchlib/src/vespa/searchlib/diskindex/zc4_posting_writer.cpp
+++ b/searchlib/src/vespa/searchlib/diskindex/zc4_posting_writer.cpp
@@ -179,19 +179,16 @@ Zc4PostingWriter<bigEndian>::flush_word_no_skip()
const uint64_t *features = _featureWriteContext.getComprBuf();
uint64_t featureOffset = 0;
- std::vector<DocIdAndFeatureSize>::const_iterator dit = _docIds.begin();
- std::vector<DocIdAndFeatureSize>::const_iterator dite = _docIds.end();
-
- for (; dit != dite; ++dit) {
- uint32_t docId = dit->_doc_id;
- uint32_t featureSize = dit->_features_size;
+ for (const auto& elem : _docIds) {
+ uint32_t docId = elem._doc_id;
+ uint32_t featureSize = elem._features_size;
e.encodeExpGolomb(docId - baseDocId, docIdK);
baseDocId = docId + 1;
if (_encode_interleaved_features) {
- assert(dit->_field_length > 0);
- e.encodeExpGolomb(dit->_field_length - 1, K_VALUE_ZCPOSTING_FIELD_LENGTH);
- assert(dit->_num_occs > 0);
- e.encodeExpGolomb(dit->_num_occs - 1, K_VALUE_ZCPOSTING_NUM_OCCS);
+ assert(elem._field_length > 0);
+ e.encodeExpGolomb(elem._field_length - 1, K_VALUE_ZCPOSTING_FIELD_LENGTH);
+ assert(elem._num_occs > 0);
+ e.encodeExpGolomb(elem._num_occs - 1, K_VALUE_ZCPOSTING_NUM_OCCS);
}
if (featureSize != 0) {
e.writeBits(features + (featureOffset >> 6),
diff --git a/searchlib/src/vespa/searchlib/docstore/chunk.cpp b/searchlib/src/vespa/searchlib/docstore/chunk.cpp
index 35166cf8d78..60255af3521 100644
--- a/searchlib/src/vespa/searchlib/docstore/chunk.cpp
+++ b/searchlib/src/vespa/searchlib/docstore/chunk.cpp
@@ -102,17 +102,17 @@ vespalib::ConstBufferRef
Chunk::getLid(uint32_t lid) const
{
vespalib::ConstBufferRef buf;
- for (LidList::const_iterator it(_lids.begin()), mt(_lids.end()); it != mt; it++) {
- if (it->getLid() == lid) {
+ for (const auto& elem : _lids) {
+ if (elem.getLid() == lid) {
#if 1
uint32_t bLid(0), bLen(0);
- vespalib::nbostream is(getData().data() + it->getOffset(), it->size());
+ vespalib::nbostream is(getData().data() + elem.getOffset(), elem.size());
is >> bLid >> bLen;
assert(bLid == lid);
- assert(bLen == it->netSize());
- assert((bLen + 2*sizeof(uint32_t)) == it->size());
+ assert(bLen == elem.netSize());
+ assert((bLen + 2*sizeof(uint32_t)) == elem.size());
#endif
- buf = vespalib::ConstBufferRef(getData().data() + it->getNetOffset(), it->netSize());
+ buf = vespalib::ConstBufferRef(getData().data() + elem.getNetOffset(), elem.netSize());
}
}
return buf;
diff --git a/searchlib/src/vespa/searchlib/docstore/logdatastore.cpp b/searchlib/src/vespa/searchlib/docstore/logdatastore.cpp
index bde7492f485..7f63cb4c2d4 100644
--- a/searchlib/src/vespa/searchlib/docstore/logdatastore.cpp
+++ b/searchlib/src/vespa/searchlib/docstore/logdatastore.cpp
@@ -777,8 +777,7 @@ LogDataStore::preload()
if (!partList.empty()) {
verifyModificationTime(partList);
partList = scanDir(getBaseDir(), ".idx");
- using It = NameIdSet::const_iterator;
- for (It it(partList.begin()), mt(--partList.end()); it != mt; it++) {
+ for (auto it(partList.begin()), mt(--partList.end()); it != mt; it++) {
_fileChunks.push_back(createReadOnlyFile(FileId(_fileChunks.size()), *it));
}
_fileChunks.push_back(isReadOnly()
@@ -824,7 +823,7 @@ LogDataStore::NameIdSet
LogDataStore::findIncompleteCompactedFiles(const NameIdSet & partList) {
NameIdSet incomplete;
if ( !partList.empty()) {
- NameIdSet::const_iterator it = partList.begin();
+ auto it = partList.begin();
for (FileChunk::NameId prev = *it++; it != partList.end(); it++) {
if (prev.next() == *it) {
if (!incomplete.empty() && (*incomplete.rbegin() == prev)) {
@@ -869,15 +868,13 @@ LogDataStore::eraseIncompleteCompactedFiles(NameIdSet partList)
void
LogDataStore::eraseDanglingDatFiles(const NameIdSet &partList, const NameIdSet &datPartList)
{
- using IT = NameIdSet::const_iterator;
-
- IT iib(partList.begin());
- IT ii(iib);
- IT iie(partList.end());
- IT dib(datPartList.begin());
- IT di(dib);
- IT die(datPartList.end());
- IT dirb(die);
+ auto iib = partList.begin();
+ auto ii = iib;
+ auto iie = partList.end();
+ auto dib = datPartList.begin();
+ auto di = dib;
+ auto die = datPartList.end();
+ auto dirb = die;
NameId endMarker(NameId::last());
if (dirb != dib) {
diff --git a/searchlib/src/vespa/searchlib/engine/propertiesmap.cpp b/searchlib/src/vespa/searchlib/engine/propertiesmap.cpp
index 5989f952f17..48c95ba92b9 100644
--- a/searchlib/src/vespa/searchlib/engine/propertiesmap.cpp
+++ b/searchlib/src/vespa/searchlib/engine/propertiesmap.cpp
@@ -26,7 +26,7 @@ PropertiesMap::lookupCreate(vespalib::stringref name)
const fef::Properties &
PropertiesMap::lookup(vespalib::stringref name) const
{
- PropsMap::const_iterator pos = _propertiesMap.find(name);
+ auto pos = _propertiesMap.find(name);
if (pos == _propertiesMap.end()) {
return _emptyProperties;
}
diff --git a/searchlib/src/vespa/searchlib/expression/documentfieldnode.cpp b/searchlib/src/vespa/searchlib/expression/documentfieldnode.cpp
index 16f5ee04be4..254d9d030af 100644
--- a/searchlib/src/vespa/searchlib/expression/documentfieldnode.cpp
+++ b/searchlib/src/vespa/searchlib/expression/documentfieldnode.cpp
@@ -115,7 +115,7 @@ DocumentFieldNode::onPrepare(bool preserveAccurateTypes)
if ( !_fieldPath.empty() ) {
bool nestedMultiValue(false);
- for(document::FieldPath::const_iterator it(_fieldPath.begin()), mt(_fieldPath.end()); !nestedMultiValue && (it != mt); it++) {
+ for (auto it(_fieldPath.begin()), mt(_fieldPath.end()); !nestedMultiValue && (it != mt); it++) {
const FieldPathEntry & fpe = **it;
if (fpe.getType() == document::FieldPathEntry::STRUCT_FIELD) {
const FieldValue & fv = fpe.getFieldValueToSet();
diff --git a/searchlib/src/vespa/searchlib/expression/resultvector.h b/searchlib/src/vespa/searchlib/expression/resultvector.h
index 22fac0b214b..0c71f2f79e6 100644
--- a/searchlib/src/vespa/searchlib/expression/resultvector.h
+++ b/searchlib/src/vespa/searchlib/expression/resultvector.h
@@ -174,8 +174,8 @@ size_t
ResultNodeVectorT<B, C, G>::hash() const
{
size_t h(0);
- for(typename Vector::const_iterator it(_result.begin()), mt(_result.end()); it != mt; it++) {
- h ^= it->hash();
+ for(const auto& elem : _result) {
+ h ^= elem.hash();
}
return h;
}
@@ -184,8 +184,8 @@ template <typename B, typename C, typename G>
void
ResultNodeVectorT<B, C, G>::negate()
{
- for(typename Vector::iterator it(_result.begin()), mt(_result.end()); it != mt; it++) {
- it->negate();
+ for (auto& elem : _result) {
+ elem.negate();
}
}
@@ -194,7 +194,7 @@ const ResultNode *
ResultNodeVectorT<B, C, G>::find(const ResultNode & key) const
{
G getter;
- typename Vector::const_iterator found = std::lower_bound(_result.begin(), _result.end(), getter(key), typename C::less() );
+ auto found = std::lower_bound(_result.begin(), _result.end(), getter(key), typename C::less() );
if (found != _result.end()) {
typename C::equal equal;
return equal(*found, getter(key)) ? &(*found) : nullptr;
diff --git a/searchlib/src/vespa/searchlib/features/fieldlengthfeature.cpp b/searchlib/src/vespa/searchlib/features/fieldlengthfeature.cpp
index 55daf6ed5ff..91aca0a19fe 100644
--- a/searchlib/src/vespa/searchlib/features/fieldlengthfeature.cpp
+++ b/searchlib/src/vespa/searchlib/features/fieldlengthfeature.cpp
@@ -33,11 +33,8 @@ FieldLengthExecutor::execute(uint32_t docId)
{
uint32_t val = 0;
bool validVal = false;
- for (std::vector<TermFieldHandle>::const_iterator
- hi = _fieldHandles.begin(), hie = _fieldHandles.end();
- hi != hie; ++hi)
- {
- const TermFieldMatchData &tfmd = *_md->resolveTermField(*hi);
+ for (auto handle : _fieldHandles) {
+ const TermFieldMatchData &tfmd = *_md->resolveTermField(handle);
if (tfmd.getDocId() == docId) {
FieldPositionsIterator it = tfmd.getIterator();
if (it.valid()) {
diff --git a/searchlib/src/vespa/searchlib/features/flow_completeness_feature.cpp b/searchlib/src/vespa/searchlib/features/flow_completeness_feature.cpp
index 166280b289d..bd5d5ca952b 100644
--- a/searchlib/src/vespa/searchlib/features/flow_completeness_feature.cpp
+++ b/searchlib/src/vespa/searchlib/features/flow_completeness_feature.cpp
@@ -103,7 +103,7 @@ struct State {
Path nextP = firstP;
uint32_t pos = edges[j];
nextP.path.push_back(pos);
- TermIdxMap::const_iterator it = matchedTermForPos.find(pos);
+ auto it = matchedTermForPos.find(pos);
if (it == matchedTermForPos.end()) {
return nextP;
} else {
@@ -158,7 +158,7 @@ struct State {
uint32_t pos = positionsForTerm[tix][0];
assert(pos < posLimit);
- TermIdxMap::const_iterator it = matchedTermForPos.find(pos);
+ auto it = matchedTermForPos.find(pos);
if (it == matchedTermForPos.end()) {
++found;
matchedTermForPos[pos] = tix;
diff --git a/searchlib/src/vespa/searchlib/features/querycompletenessfeature.cpp b/searchlib/src/vespa/searchlib/features/querycompletenessfeature.cpp
index 5caa2bd577e..d2948ad3185 100644
--- a/searchlib/src/vespa/searchlib/features/querycompletenessfeature.cpp
+++ b/searchlib/src/vespa/searchlib/features/querycompletenessfeature.cpp
@@ -38,10 +38,8 @@ void
QueryCompletenessExecutor::execute(uint32_t docId)
{
uint32_t hit = 0, miss = 0;
- for (std::vector<search::fef::TermFieldHandle>::iterator it = _fieldHandles.begin();
- it != _fieldHandles.end(); ++it)
- {
- const fef::TermFieldMatchData &tfmd = *_md->resolveTermField(*it);
+ for (const auto& handle : _fieldHandles) {
+ const fef::TermFieldMatchData &tfmd = *_md->resolveTermField(handle);
if (tfmd.getDocId() == docId) {
search::fef::FieldPositionsIterator field = tfmd.getIterator();
while (field.valid() && field.getPosition() < _config.fieldBegin) {
diff --git a/searchlib/src/vespa/searchlib/fef/blueprintfactory.cpp b/searchlib/src/vespa/searchlib/fef/blueprintfactory.cpp
index af7c83cdc9a..dcb1227d6b5 100644
--- a/searchlib/src/vespa/searchlib/fef/blueprintfactory.cpp
+++ b/searchlib/src/vespa/searchlib/fef/blueprintfactory.cpp
@@ -35,7 +35,7 @@ BlueprintFactory::visitDumpFeatures(const IIndexEnvironment &indexEnv,
Blueprint::SP
BlueprintFactory::createBlueprint(const vespalib::string &name) const
{
- BlueprintMap::const_iterator itr = _blueprintMap.find(name);
+ auto itr = _blueprintMap.find(name);
if (itr == _blueprintMap.end()) {
return {};
}
diff --git a/searchlib/src/vespa/searchlib/fef/objectstore.cpp b/searchlib/src/vespa/searchlib/fef/objectstore.cpp
index 4cf185ad55e..c7ef7aa0316 100644
--- a/searchlib/src/vespa/searchlib/fef/objectstore.cpp
+++ b/searchlib/src/vespa/searchlib/fef/objectstore.cpp
@@ -20,7 +20,7 @@ ObjectStore::~ObjectStore()
void
ObjectStore::add(const vespalib::string & key, Anything::UP value)
{
- ObjectMap::iterator found = _objectMap.find(key);
+ auto found = _objectMap.find(key);
if (found != _objectMap.end()) {
delete found->second;
found->second = NULL;
@@ -31,7 +31,7 @@ ObjectStore::add(const vespalib::string & key, Anything::UP value)
const Anything *
ObjectStore::get(const vespalib::string & key) const
{
- ObjectMap::const_iterator found = _objectMap.find(key);
+ auto found = _objectMap.find(key);
return (found != _objectMap.end()) ? found->second : NULL;
}
diff --git a/searchlib/src/vespa/searchlib/fef/properties.cpp b/searchlib/src/vespa/searchlib/fef/properties.cpp
index 70cfe802ad2..2cc4e50b593 100644
--- a/searchlib/src/vespa/searchlib/fef/properties.cpp
+++ b/searchlib/src/vespa/searchlib/fef/properties.cpp
@@ -62,7 +62,7 @@ uint32_t
Properties::count(vespalib::stringref key) const noexcept
{
if (!key.empty()) {
- Map::const_iterator node = _data.find(key);
+ auto node = _data.find(key);
if (node != _data.end()) {
return node->second.size();
}
@@ -74,7 +74,7 @@ Properties &
Properties::remove(vespalib::stringref key)
{
if (!key.empty()) {
- Map::iterator node = _data.find(key);
+ auto node = _data.find(key);
if (node != _data.end()) {
_numValues -= node->second.size();
_data.erase(node);
@@ -86,15 +86,13 @@ Properties::remove(vespalib::stringref key)
Properties &
Properties::import(const Properties &src)
{
- Map::const_iterator itr = src._data.begin();
- Map::const_iterator end = src._data.end();
- for (; itr != end; ++itr) {
- Map::insert_result res = _data.insert(Map::value_type(itr->first, itr->second));
+ for (const auto& elem : src._data) {
+ Map::insert_result res = _data.insert(Map::value_type(elem.first, elem.second));
if ( ! res.second) {
_numValues -= res.first->second.size();
- res.first->second = itr->second;
+ res.first->second = elem.second;
}
- _numValues += itr->second.size();
+ _numValues += elem.second.size();
}
return *this;
}
@@ -124,16 +122,12 @@ uint32_t
Properties::hashCode() const noexcept
{
uint32_t hash = numKeys() + numValues();
- Map::const_iterator itr = _data.begin();
- Map::const_iterator end = _data.end();
- for (; itr != end; ++itr) {
- const Key &key = itr->first;
- const Value &value = itr->second;
- Value::const_iterator v_itr = value.begin();
- Value::const_iterator v_end = value.end();
+ for (const auto& elem : _data) {
+ const Key &key = elem.first;
+ const Value &value = elem.second;
hash += rawHash(key.data(), key.size());
- for (; v_itr != v_end; ++v_itr) {
- hash += rawHash(v_itr->data(), v_itr->size());
+ for (const auto& velem : value) {
+ hash += rawHash(velem.data(), velem.size());
}
}
return hash;
@@ -142,10 +136,8 @@ Properties::hashCode() const noexcept
void
Properties::visitProperties(IPropertiesVisitor &visitor) const
{
- Map::const_iterator itr = _data.begin();
- Map::const_iterator end = _data.end();
- for (; itr != end; ++itr) {
- visitor.visitProperty(itr->first, Property(itr->second));
+ for (const auto& elem : _data) {
+ visitor.visitProperty(elem.first, Property(elem.second));
}
}
@@ -155,15 +147,13 @@ Properties::visitNamespace(vespalib::stringref ns,
{
vespalib::string tmp;
vespalib::string prefix = ns + ".";
- Map::const_iterator itr = _data.begin();
- Map::const_iterator end = _data.end();
- for (; itr != end; ++itr) {
- if ((itr->first.find(prefix) == 0) &&
- (itr->first.size() > prefix.size()))
+ for (const auto& elem : _data) {
+ if ((elem.first.find(prefix) == 0) &&
+ (elem.first.size() > prefix.size()))
{
- tmp = vespalib::stringref(itr->first.data() + prefix.size(),
- itr->first.size() - prefix.size());
- visitor.visitProperty(tmp, Property(itr->second));
+ tmp = vespalib::stringref(elem.first.data() + prefix.size(),
+ elem.first.size() - prefix.size());
+ visitor.visitProperty(tmp, Property(elem.second));
}
}
}
@@ -174,7 +164,7 @@ Properties::lookup(vespalib::stringref key) const noexcept
if (key.empty()) {
return Property();
}
- Map::const_iterator node = _data.find(key);
+ auto node = _data.find(key);
if (node == _data.end()) {
return Property();
}
diff --git a/searchlib/src/vespa/searchlib/fef/tablemanager.cpp b/searchlib/src/vespa/searchlib/fef/tablemanager.cpp
index 6169e712c37..59bc0b5f600 100644
--- a/searchlib/src/vespa/searchlib/fef/tablemanager.cpp
+++ b/searchlib/src/vespa/searchlib/fef/tablemanager.cpp
@@ -12,7 +12,7 @@ const Table *
TableManager::getTable(const vespalib::string & name) const
{
std::lock_guard guard(_lock);
- TableCache::const_iterator itr = _cache.find(name);
+ auto itr = _cache.find(name);
if (itr != _cache.end()) {
return itr->second.get();
}
diff --git a/searchlib/src/vespa/searchlib/fef/test/matchdatabuilder.cpp b/searchlib/src/vespa/searchlib/fef/test/matchdatabuilder.cpp
index 4709c17408a..beebc8b78a0 100644
--- a/searchlib/src/vespa/searchlib/fef/test/matchdatabuilder.cpp
+++ b/searchlib/src/vespa/searchlib/fef/test/matchdatabuilder.cpp
@@ -114,15 +114,11 @@ bool
MatchDataBuilder::apply(uint32_t docId)
{
// For each term, do
- for (TermMap::const_iterator term_iter = _match.begin();
- term_iter != _match.end(); ++term_iter)
- {
- uint32_t termId = term_iter->first;
-
- for (FieldPositions::const_iterator field_iter = term_iter->second.begin();
- field_iter != term_iter->second.end(); ++field_iter)
- {
- uint32_t fieldId = field_iter->first;
+ for (const auto& term_elem : _match) {
+ uint32_t termId = term_elem.first;
+
+ for (const auto& field_elem : term_elem.second) {
+ uint32_t fieldId = field_elem.first;
TermFieldMatchData *match = getTermFieldMatchData(termId, fieldId);
// Make sure there is a corresponding term field match data object.
@@ -134,7 +130,7 @@ MatchDataBuilder::apply(uint32_t docId)
// find field data
MyField field;
- IndexData::const_iterator idxItr = _index.find(fieldId);
+ auto idxItr = _index.find(fieldId);
if (idxItr != _index.end()) {
field = idxItr->second;
}
@@ -144,11 +140,8 @@ MatchDataBuilder::apply(uint32_t docId)
vespalib::string name = info != nullptr ? info->name() : vespalib::make_string("%d", fieldId).c_str();
// For each occurence of that term, in that field, do
- for (Positions::const_iterator occ_iter = field_iter->second.begin();
- occ_iter != field_iter->second.end(); occ_iter++)
- {
+ for (const auto& occ : field_elem.second) {
// Append a term match position to the term match data.
- Position occ = *occ_iter;
match->appendPosition(TermFieldMatchDataPosition(
occ.eid,
occ.pos,
diff --git a/searchlib/src/vespa/searchlib/fef/test/rankresult.cpp b/searchlib/src/vespa/searchlib/fef/test/rankresult.cpp
index 4de4c56e3ac..3ac7b857173 100644
--- a/searchlib/src/vespa/searchlib/fef/test/rankresult.cpp
+++ b/searchlib/src/vespa/searchlib/fef/test/rankresult.cpp
@@ -25,7 +25,7 @@ RankResult::addScore(const vespalib::string & featureName, feature_t score)
feature_t
RankResult::getScore(const vespalib::string & featureName) const
{
- RankScores::const_iterator itr = _rankScores.find(featureName);
+ auto itr = _rankScores.find(featureName);
if (itr != _rankScores.end()) {
return itr->second;
}
@@ -43,19 +43,18 @@ RankResult::includes(const RankResult & rhs) const
{
double epsilon = std::max(_epsilon, rhs._epsilon);
- RankScores::const_iterator findItr;
- for (RankScores::const_iterator itr = rhs._rankScores.begin(); itr != rhs._rankScores.end(); ++itr) {
- findItr = _rankScores.find(itr->first);
+ for (const auto& score : rhs._rankScores) {
+ auto findItr = _rankScores.find(score.first);
if (findItr == _rankScores.end()) {
- LOG(info, "Did not find expected feature '%s' in this rank result", itr->first.c_str());
+ LOG(info, "Did not find expected feature '%s' in this rank result", score.first.c_str());
return false;
}
- if (itr->second < findItr->second - epsilon ||
- itr->second > findItr->second + epsilon ||
- (std::isnan(findItr->second) && !std::isnan(itr->second)))
+ if (score.second < findItr->second - epsilon ||
+ score.second > findItr->second + epsilon ||
+ (std::isnan(findItr->second) && !std::isnan(score.second)))
{
- LOG(info, "Feature '%s' did not have expected score.", itr->first.c_str());
- LOG(info, "Expected: %f ~ %f", itr->second, epsilon);
+ LOG(info, "Feature '%s' did not have expected score.", score.first.c_str());
+ LOG(info, "Expected: %f ~ %f", score.second, epsilon);
LOG(info, "Actual : %f", findItr->second);
return false;
}
@@ -73,8 +72,8 @@ RankResult::clear()
std::vector<vespalib::string> &
RankResult::getKeys(std::vector<vespalib::string> &ret)
{
- for (RankScores::const_iterator it = _rankScores.begin(); it != _rankScores.end(); ++it) {
- ret.push_back(it->first);
+ for (const auto& score : _rankScores) {
+ ret.push_back(score.first);
}
return ret;
}
@@ -99,8 +98,8 @@ RankResult::getEpsilon() const {
std::ostream & operator<<(std::ostream & os, const RankResult & rhs) {
os << "[";
- for (RankResult::RankScores::const_iterator itr = rhs._rankScores.begin(); itr != rhs._rankScores.end(); ++itr) {
- os << "['" << itr->first << "' = " << itr->second << "]";
+ for (const auto& score : rhs._rankScores) {
+ os << "['" << score.first << "' = " << score.second << "]";
}
return os << "]";
}
diff --git a/searchlib/src/vespa/searchlib/grouping/collect.h b/searchlib/src/vespa/searchlib/grouping/collect.h
index 34906e90324..198daed2e18 100644
--- a/searchlib/src/vespa/searchlib/grouping/collect.h
+++ b/searchlib/src/vespa/searchlib/grouping/collect.h
@@ -23,7 +23,7 @@ protected:
int diff(0);
size_t aOff(getAggrBase(a));
size_t bOff(getAggrBase(b));
- for(std::vector<SortInfo>::const_iterator it(_sortInfo.begin()), mt(_sortInfo.end()); (diff == 0) && (it != mt); it++) {
+ for (auto it(_sortInfo.begin()), mt(_sortInfo.end()); (diff == 0) && (it != mt); it++) {
diff = _aggregator[it->getIndex()].cmp(&_aggrBacking[aOff], &_aggrBacking[bOff]) * it->getSign();
}
return diff;
diff --git a/searchlib/src/vespa/searchlib/grouping/groupengine.cpp b/searchlib/src/vespa/searchlib/grouping/groupengine.cpp
index 853548b47f7..5039082434b 100644
--- a/searchlib/src/vespa/searchlib/grouping/groupengine.cpp
+++ b/searchlib/src/vespa/searchlib/grouping/groupengine.cpp
@@ -50,7 +50,7 @@ GroupRef GroupEngine::group(Children & children, uint32_t docId, double rank)
throw std::runtime_error("Does not know how to handle failed select statements");
}
const ResultNode &selectResult = *selector.getResult();
- Children::iterator found = children.find(selectResult);
+ auto found = children.find(selectResult);
GroupRef gr;
if (found == children.end()) {
if (_request->allowMoreGroups(children.size())) {
@@ -158,8 +158,8 @@ Group::UP GroupEngine::getGroup(GroupRef ref) const
std::vector<GroupRef> v(ch.size());
{
size_t i(0);
- for (Children::const_iterator it(ch.begin()), mt(ch.end()); it != mt; it++) {
- v[i++] = *it;
+ for (const auto& elem : ch) {
+ v[i++] = elem;
}
}
uint64_t maxN(_nextEngine->_request->getPrecision());
diff --git a/searchlib/src/vespa/searchlib/index/postinglistparams.cpp b/searchlib/src/vespa/searchlib/index/postinglistparams.cpp
index 6275399c498..27f2d60d420 100644
--- a/searchlib/src/vespa/searchlib/index/postinglistparams.cpp
+++ b/searchlib/src/vespa/searchlib/index/postinglistparams.cpp
@@ -14,9 +14,7 @@ namespace search::index {
bool
PostingListParams::isSet(const vespalib::string &key) const
{
- Map::const_iterator it;
-
- it = _map.find(key);
+ auto it = _map.find(key);
if (it != _map.end()) {
return true;
}
@@ -33,9 +31,7 @@ PostingListParams::setStr(const vespalib::string &key,
const vespalib::string &
PostingListParams::getStr(const vespalib::string &key) const
{
- Map::const_iterator it;
-
- it = _map.find(key);
+ auto it = _map.find(key);
if (it != _map.end()) {
return it->second;
}
@@ -81,9 +77,7 @@ void
PostingListParams::get(const vespalib::string &key, TYPE &val) const
{
std::istringstream is;
- Map::const_iterator it;
-
- it = _map.find(key);
+ auto it = _map.find(key);
if (it != _map.end()) {
is.str(it->second);
is >> val;
diff --git a/searchlib/src/vespa/searchlib/memoryindex/field_inverter.cpp b/searchlib/src/vespa/searchlib/memoryindex/field_inverter.cpp
index 25aff06b5ef..206b92c85d0 100644
--- a/searchlib/src/vespa/searchlib/memoryindex/field_inverter.cpp
+++ b/searchlib/src/vespa/searchlib/memoryindex/field_inverter.cpp
@@ -138,12 +138,12 @@ FieldInverter::processAnnotations(const StringFieldValue &value)
}
}
std::sort(_terms.begin(), _terms.end());
- SpanTermVector::const_iterator it = _terms.begin();
- SpanTermVector::const_iterator ite = _terms.end();
+ auto it = _terms.begin();
+ auto ite = _terms.end();
uint32_t wordRef;
bool mustStep = false;
for (; it != ite; ) {
- SpanTermVector::const_iterator it_begin = it;
+ auto it_begin = it;
for (; it != ite && it->first == it_begin->first; ++it) {
if (it->second) { // it->second is a const FieldValue *.
wordRef = saveWord(*it->second);
diff --git a/searchlib/src/vespa/searchlib/queryeval/nearsearch.cpp b/searchlib/src/vespa/searchlib/queryeval/nearsearch.cpp
index 5297646d7f8..1ac715ca92d 100644
--- a/searchlib/src/vespa/searchlib/queryeval/nearsearch.cpp
+++ b/searchlib/src/vespa/searchlib/queryeval/nearsearch.cpp
@@ -21,10 +21,8 @@ void setup_fields(uint32_t window, std::vector<T> &matchers, const TermFieldMatc
for (size_t i = 0; i < in.size(); ++i) {
fields.insert(in[i]->getFieldId());
}
- std::set<uint32_t>::const_iterator pos = fields.begin();
- std::set<uint32_t>::const_iterator end = fields.end();
- for (; pos != end; ++pos) {
- matchers.push_back(T(window, *pos, in));
+ for (const auto& elem : fields) {
+ matchers.push_back(T(window, elem, in));
}
}
diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fakeegcompr64filterocc.cpp b/searchlib/src/vespa/searchlib/test/fakedata/fakeegcompr64filterocc.cpp
index 6bba9d96d02..9521bed7827 100644
--- a/searchlib/src/vespa/searchlib/test/fakedata/fakeegcompr64filterocc.cpp
+++ b/searchlib/src/vespa/searchlib/test/fakedata/fakeegcompr64filterocc.cpp
@@ -155,12 +155,8 @@ setupT(const FakeWord &fw)
uint64_t lastL4SkipL3SkipPos = 0;
unsigned int l4SkipCnt = 0;
-
- using FW = FakeWord;
- using DWFL = FW::DocWordFeatureList;
-
- DWFL::const_iterator d(fw._postings.begin());
- DWFL::const_iterator de(fw._postings.end());
+ auto d = fw._postings.begin();
+ auto de = fw._postings.end();
if (d != de) {
// Prefix support needs counts embedded in posting list
diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fakefilterocc.cpp b/searchlib/src/vespa/searchlib/test/fakedata/fakefilterocc.cpp
index 5bd1d2044fe..a412a779006 100644
--- a/searchlib/src/vespa/searchlib/test/fakedata/fakefilterocc.cpp
+++ b/searchlib/src/vespa/searchlib/test/fakedata/fakefilterocc.cpp
@@ -21,27 +21,18 @@ FakeFilterOcc::FakeFilterOcc(const FakeWord &fw)
{
std::vector<uint32_t> fake;
- using FW = FakeWord;
- using DWFL = FW::DocWordFeatureList;
-
- DWFL::const_iterator d(fw._postings.begin());
- DWFL::const_iterator de(fw._postings.end());
-
- while (d != de) {
- fake.push_back(d->_docId);
- ++d;
+ for (const auto& elem : fw._postings) {
+ fake.push_back(elem._docId);
}
std::swap(_uncompressed, fake);
_docIdLimit = fw._docIdLimit;
_hitDocs = fw._postings.size();
}
-
FakeFilterOcc::~FakeFilterOcc()
{
}
-
void
FakeFilterOcc::forceLink()
{
diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fakememtreeocc.cpp b/searchlib/src/vespa/searchlib/test/fakedata/fakememtreeocc.cpp
index ec476c4f6cf..99d0fb3b3f1 100644
--- a/searchlib/src/vespa/searchlib/test/fakedata/fakememtreeocc.cpp
+++ b/searchlib/src/vespa/searchlib/test/fakedata/fakememtreeocc.cpp
@@ -228,10 +228,9 @@ FakeMemTreeOccMgr::remove(uint32_t wordIdx, uint32_t docId)
void
FakeMemTreeOccMgr::sortUnflushed()
{
- using I = std::vector<PendingOp>::iterator;
uint32_t seq = 0;
- for (I i(_unflushed.begin()), ie(_unflushed.end()); i != ie; ++i) {
- i->setSeq(++seq);
+ for (auto& elem : _unflushed) {
+ elem.setSeq(++seq);
}
std::sort(_unflushed.begin(), _unflushed.end());
}
@@ -241,16 +240,15 @@ void
FakeMemTreeOccMgr::flush()
{
using Aligner = FeatureStore::Aligner;
- using I = std::vector<PendingOp>::iterator;
if (_unflushed.empty())
return;
uint32_t lastWord = std::numeric_limits<uint32_t>::max();
sortUnflushed();
- for (I i(_unflushed.begin()), ie(_unflushed.end()); i != ie; ++i) {
- uint32_t wordIdx = i->getWordIdx();
- uint32_t docId = i->getDocId();
+ for (auto& elem : _unflushed) {
+ uint32_t wordIdx = elem.getWordIdx();
+ uint32_t docId = elem.getDocId();
PostingIdx &pidx(*_postingIdxs[wordIdx].get());
Tree &tree = pidx._tree;
Tree::Iterator &itr = pidx._iterator;
@@ -261,7 +259,7 @@ FakeMemTreeOccMgr::flush()
itr.linearSeek(docId);
}
lastWord = wordIdx;
- if (i->getRemove()) {
+ if (elem.getRemove()) {
if (itr.valid() && itr.getKey() == docId) {
uint64_t bits = _featureStore.bitSize(fw->getPackedIndex(), EntryRef(itr.getData().get_features_relaxed()));
_featureSizes[wordIdx] -= Aligner::align((bits + 7) / 8) * 8;
@@ -269,7 +267,7 @@ FakeMemTreeOccMgr::flush()
}
} else {
if (!itr.valid() || docId < itr.getKey()) {
- tree.insert(itr, docId, PostingListEntryType(i->getFeatureRef(), 0, 1));
+ tree.insert(itr, docId, PostingListEntryType(elem.getFeatureRef(), 0, 1));
}
}
}
@@ -320,13 +318,12 @@ FakeMemTreeOccFactory::~FakeMemTreeOccFactory()
FakePosting::SP
FakeMemTreeOccFactory::make(const FakeWord &fw)
{
- std::map<const FakeWord *, uint32_t>::const_iterator
- i(_mgr._fw2WordIdx.find(&fw));
+ auto itr = _mgr._fw2WordIdx.find(&fw);
- if (i == _mgr._fw2WordIdx.end())
+ if (itr == _mgr._fw2WordIdx.end())
LOG_ABORT("should not be reached");
- uint32_t wordIdx = i->second;
+ uint32_t wordIdx = itr->second;
assert(_mgr._postingIdxs.size() > wordIdx);
@@ -341,8 +338,8 @@ FakeMemTreeOccFactory::setup(const std::vector<const FakeWord *> &fws)
using PostingIdx = FakeMemTreeOccMgr::PostingIdx;
std::vector<FakeWord::RandomizedReader> r;
uint32_t wordIdx = 0;
- std::vector<const FakeWord *>::const_iterator fwi(fws.begin());
- std::vector<const FakeWord *>::const_iterator fwe(fws.end());
+ auto fwi = fws.begin();
+ auto fwe = fws.end();
while (fwi != fwe) {
_mgr._fakeWords.push_back(*fwi);
_mgr._featureSizes.push_back(0);
@@ -355,8 +352,8 @@ FakeMemTreeOccFactory::setup(const std::vector<const FakeWord *> &fws)
}
PostingPriorityQueueMerger<FakeWord::RandomizedReader, FakeWord::RandomizedWriter> heap;
- std::vector<FakeWord::RandomizedReader>::iterator i(r.begin());
- std::vector<FakeWord::RandomizedReader>::iterator ie(r.end());
+ auto i = r.begin();
+ auto ie = r.end();
FlushToken flush_token;
while (i != ie) {
i->read();
@@ -386,8 +383,7 @@ FakeMemTreeOcc2Factory::~FakeMemTreeOcc2Factory() = default;
FakePosting::SP
FakeMemTreeOcc2Factory::make(const FakeWord &fw)
{
- std::map<const FakeWord *, uint32_t>::const_iterator
- i(_mgr._fw2WordIdx.find(&fw));
+ auto i = _mgr._fw2WordIdx.find(&fw);
if (i == _mgr._fw2WordIdx.end())
LOG_ABORT("should not be reached");
diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fakeword.cpp b/searchlib/src/vespa/searchlib/test/fakedata/fakeword.cpp
index f68fb4a9037..4242f71bd60 100644
--- a/searchlib/src/vespa/searchlib/test/fakedata/fakeword.cpp
+++ b/searchlib/src/vespa/searchlib/test/fakedata/fakeword.cpp
@@ -246,11 +246,11 @@ FakeWord::fakeup(search::BitVector &bitmap,
}
uint32_t field_len = 0;
do {
- DocWordPosFeatureList::iterator ie(wpf.end());
- DocWordPosFeatureList::iterator i(wpf.begin());
+ auto ie = wpf.end();
+ auto i = wpf.begin();
while (i != ie) {
uint32_t lastwordpos = i->_wordPos;
- DocWordPosFeatureList::iterator pi(i);
+ auto pi = i;
++i;
while (i != ie &&
pi->_elementId == i->_elementId) {
@@ -287,11 +287,8 @@ FakeWord::fakeup(search::BitVector &bitmap,
dwf._accPositions = wordPosFeatures.size();
assert(dwf._positions == wpf.size());
postings.push_back(dwf);
- DocWordPosFeatureList::iterator ie(wpf.end());
- DocWordPosFeatureList::iterator i(wpf.begin());
- while (i != ie) {
- wordPosFeatures.push_back(*i);
- ++i;
+ for (const auto& elem : wpf) {
+ wordPosFeatures.push_back(elem);
}
++idx;
if (idx >= docIdLimit)
@@ -318,12 +315,11 @@ FakeWord::fakeupTemps(vespalib::Rand48 &rnd,
void
FakeWord::setupRandomizer(vespalib::Rand48 &rnd)
{
- using DWFL = DocWordFeatureList;
Randomizer randomAdd;
Randomizer randomRem;
- DWFL::const_iterator d(_postings.begin());
- DWFL::const_iterator de(_postings.end());
+ auto d = _postings.begin();
+ auto de = _postings.end();
int32_t ref = 0;
while (d != de) {
@@ -338,8 +334,8 @@ FakeWord::setupRandomizer(vespalib::Rand48 &rnd)
++ref;
}
- DWFL::const_iterator ed(_extraPostings.begin());
- DWFL::const_iterator ede(_extraPostings.end());
+ auto ed = _extraPostings.begin();
+ auto ede = _extraPostings.end();
int32_t eref = -1;
uint32_t tref = 0;
@@ -378,9 +374,8 @@ FakeWord::setupRandomizer(vespalib::Rand48 &rnd)
void
FakeWord::addDocIdBias(uint32_t docIdBias)
{
- using DWFL = DocWordFeatureList;
- DWFL::iterator d(_postings.begin());
- DWFL::iterator de(_postings.end());
+ auto d = _postings.begin();
+ auto de = _postings.end();
for (; d != de; ++d) {
d->_docId += docIdBias;
}
@@ -404,14 +399,12 @@ FakeWord::validate(search::queryeval::SearchIterator *iterator,
iterator->initFullRange();
uint32_t docId = 0;
- using DWFL = DocWordFeatureList;
- using DWPFL = DocWordPosFeatureList;
using TMDPI = TermFieldMatchData::PositionsIterator;
- DWFL::const_iterator d(_postings.begin());
- DWFL::const_iterator de(_postings.end());
- DWPFL::const_iterator p(_wordPosFeatures.begin());
- DWPFL::const_iterator pe(_wordPosFeatures.end());
+ auto d = _postings.begin();
+ auto de = _postings.end();
+ auto p = _wordPosFeatures.begin();
+ auto pe = _wordPosFeatures.end();
if (verbose)
printf("Start validate word '%s'\n", _name.c_str());
@@ -484,14 +477,12 @@ FakeWord::validate(search::queryeval::SearchIterator *iterator,
iterator->initFullRange();
uint32_t docId = 1;
- using DWFL = DocWordFeatureList;
- using DWPFL = DocWordPosFeatureList;
using TMDPI = TermFieldMatchData::PositionsIterator;
- DWFL::const_iterator d(_postings.begin());
- DWFL::const_iterator de(_postings.end());
- DWPFL::const_iterator p(_wordPosFeatures.begin());
- DWPFL::const_iterator pe(_wordPosFeatures.end());
+ auto d = _postings.begin();
+ auto de = _postings.end();
+ auto p = _wordPosFeatures.begin();
+ auto pe = _wordPosFeatures.end();
if (verbose)
printf("Start validate word '%s'\n", _name.c_str());
@@ -556,10 +547,8 @@ FakeWord::validate(search::queryeval::SearchIterator *iterator, bool verbose) co
iterator->initFullRange();
uint32_t docId = 1;
- using DWFL = DocWordFeatureList;
-
- DWFL::const_iterator d(_postings.begin());
- DWFL::const_iterator de(_postings.end());
+ auto d = _postings.begin();
+ auto de = _postings.end();
if (verbose)
printf("Start validate word '%s'\n", _name.c_str());
@@ -599,14 +588,12 @@ FakeWord::validate(FieldReader &fieldReader,
uint32_t presidue;
bool unpres;
- using DWFL = DocWordFeatureList;
- using DWPFL = DocWordPosFeatureList;
using TMDPI = TermFieldMatchData::PositionsIterator;
- DWFL::const_iterator d(_postings.begin());
- DWFL::const_iterator de(_postings.end());
- DWPFL::const_iterator p(_wordPosFeatures.begin());
- DWPFL::const_iterator pe(_wordPosFeatures.end());
+ auto d = _postings.begin();
+ auto de = _postings.end();
+ auto p = _wordPosFeatures.begin();
+ auto pe = _wordPosFeatures.end();
if (verbose)
printf("Start validate word '%s'\n", _name.c_str());
@@ -633,13 +620,8 @@ FakeWord::validate(FieldReader &fieldReader,
#else
(void) unpres;
- using Elements = WordDocElementFeatures;
- using Positions = WordDocElementWordPosFeatures;
-
- std::vector<Elements>::const_iterator element =
- features.elements().begin();
- std::vector<Positions>::const_iterator position =
- features.word_positions().begin();
+ auto element = features.elements().begin();
+ auto position = features.word_positions().begin();
TermFieldMatchData *tfmd = matchData[0];
assert(tfmd != 0);
@@ -701,12 +683,10 @@ FakeWord::validate(FieldReader &fieldReader,
void
FakeWord::validate(const std::vector<uint32_t> &docIds) const
{
- using DWFL = DocWordFeatureList;
- using DL = std::vector<uint32_t>;
- DWFL::const_iterator d(_postings.begin());
- DWFL::const_iterator de(_postings.end());
- DL::const_iterator di(docIds.begin());
- DL::const_iterator die(docIds.end());
+ auto d = _postings.begin();
+ auto de = _postings.end();
+ auto di = docIds.begin();
+ auto die = docIds.end();
while (d != de) {
assert(di != die);
@@ -721,9 +701,8 @@ FakeWord::validate(const std::vector<uint32_t> &docIds) const
void
FakeWord::validate(const search::BitVector &bv) const
{
- using DWFL = DocWordFeatureList;
- DWFL::const_iterator d(_postings.begin());
- DWFL::const_iterator de(_postings.end());
+ auto d = _postings.begin();
+ auto de = _postings.end();
uint32_t bitHits = bv.countTrueBits();
assert(bitHits == _postings.size());
(void) bitHits;
@@ -745,13 +724,10 @@ FakeWord::dump(FieldWriter &fieldWriter,
uint32_t residue;
DocIdAndPosOccFeatures features;
- using DWFL = DocWordFeatureList;
- using DWPFL = DocWordPosFeatureList;
-
- DWFL::const_iterator d(_postings.begin());
- DWFL::const_iterator de(_postings.end());
- DWPFL::const_iterator p(_wordPosFeatures.begin());
- DWPFL::const_iterator pe(_wordPosFeatures.end());
+ auto d = _postings.begin();
+ auto de = _postings.end();
+ auto p = _wordPosFeatures.begin();
+ auto pe = _wordPosFeatures.end();
if (verbose)
printf("Start dumping word '%s'\n", _name.c_str());
diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fakezcbfilterocc.cpp b/searchlib/src/vespa/searchlib/test/fakedata/fakezcbfilterocc.cpp
index 3caca05669c..dc6f546fad0 100644
--- a/searchlib/src/vespa/searchlib/test/fakedata/fakezcbfilterocc.cpp
+++ b/searchlib/src/vespa/searchlib/test/fakedata/fakezcbfilterocc.cpp
@@ -64,12 +64,8 @@ FakeZcbFilterOcc::FakeZcbFilterOcc(const FakeWord &fw)
std::vector<uint8_t> bytes;
uint32_t lastDocId = 0u;
-
- using FW = FakeWord;
- using DWFL = FW::DocWordFeatureList;
-
- DWFL::const_iterator d(fw._postings.begin());
- DWFL::const_iterator de(fw._postings.end());
+ auto d = fw._postings.begin();
+ auto de = fw._postings.end();
while (d != de) {
if (lastDocId == 0u) {
diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fakezcfilterocc.cpp b/searchlib/src/vespa/searchlib/test/fakedata/fakezcfilterocc.cpp
index 24c2f82279e..809746a87e6 100644
--- a/searchlib/src/vespa/searchlib/test/fakedata/fakezcfilterocc.cpp
+++ b/searchlib/src/vespa/searchlib/test/fakedata/fakezcfilterocc.cpp
@@ -149,14 +149,10 @@ FakeZcFilterOcc::setupT(const FakeWord &fw)
PostingListCounts counts;
Zc4PostingWriter<bigEndian> writer(counts);
- using FW = FakeWord;
- using DWFL = FW::DocWordFeatureList;
- using DWPFL = FW::DocWordPosFeatureList;
-
- DWFL::const_iterator d(fw._postings.begin());
- DWFL::const_iterator de(fw._postings.end());
- DWPFL::const_iterator p(fw._wordPosFeatures.begin());
- DWPFL::const_iterator pe(fw._wordPosFeatures.end());
+ auto d = fw._postings.begin();
+ auto de = fw._postings.end();
+ auto p = fw._wordPosFeatures.begin();
+ auto pe = fw._wordPosFeatures.end();
DocIdAndPosOccFeatures features;
EGPosOccEncodeContext<bigEndian> f1(&_fieldsParams);
EG2PosOccEncodeContext<bigEndian> f0(&_fieldsParams);
diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fpfactory.cpp b/searchlib/src/vespa/searchlib/test/fakedata/fpfactory.cpp
index d705541b3fc..150d8a3af32 100644
--- a/searchlib/src/vespa/searchlib/test/fakedata/fpfactory.cpp
+++ b/searchlib/src/vespa/searchlib/test/fakedata/fpfactory.cpp
@@ -49,7 +49,7 @@ getFPFactory(const std::string &name, const Schema &schema)
if (fpFactoryMap == nullptr)
return nullptr;
- FPFactoryMap::const_iterator i(fpFactoryMap->find(name));
+ auto i = fpFactoryMap->find(name);
if (i != fpFactoryMap->end())
return i->second(schema);
@@ -64,10 +64,9 @@ getPostingTypes()
std::vector<std::string> res;
if (fpFactoryMap != nullptr)
- for (FPFactoryMap::const_iterator i(fpFactoryMap->begin());
- i != fpFactoryMap->end();
- ++i)
- res.push_back(i->first);
+ for (const auto& elem : *fpFactoryMap) {
+ res.push_back(elem.first);
+ }
return res;
}
diff --git a/searchlib/src/vespa/searchlib/test/mock_attribute_context.cpp b/searchlib/src/vespa/searchlib/test/mock_attribute_context.cpp
index 933e14fe379..4197dee6cba 100644
--- a/searchlib/src/vespa/searchlib/test/mock_attribute_context.cpp
+++ b/searchlib/src/vespa/searchlib/test/mock_attribute_context.cpp
@@ -21,17 +21,13 @@ MockAttributeContext::getAttributeStableEnum(const string &name) const {
}
void
MockAttributeContext::getAttributeList(std::vector<const IAttributeVector *> & list) const {
- Map::const_iterator pos = _vectors.begin();
- Map::const_iterator end = _vectors.end();
- for (; pos != end; ++pos) {
- list.push_back(pos->second);
+ for (const auto& elem : _vectors) {
+ list.push_back(elem.second);
}
}
MockAttributeContext::~MockAttributeContext() {
- Map::iterator pos = _vectors.begin();
- Map::iterator end = _vectors.end();
- for (; pos != end; ++pos) {
- delete pos->second;
+ for (auto& elem : _vectors) {
+ delete elem.second;
}
}
diff --git a/searchlib/src/vespa/searchlib/test/mock_attribute_manager.cpp b/searchlib/src/vespa/searchlib/test/mock_attribute_manager.cpp
index bc5e8356957..15cb3065b75 100644
--- a/searchlib/src/vespa/searchlib/test/mock_attribute_manager.cpp
+++ b/searchlib/src/vespa/searchlib/test/mock_attribute_manager.cpp
@@ -6,7 +6,7 @@ namespace search::attribute::test {
AttributeVector::SP
MockAttributeManager::findAttribute(const vespalib::string &name) const {
- AttributeMap::const_iterator itr = _attributes.find(name);
+ auto itr = _attributes.find(name);
if (itr != _attributes.end()) {
return itr->second;
}
diff --git a/searchlib/src/vespa/searchlib/transactionlog/translogclient.cpp b/searchlib/src/vespa/searchlib/transactionlog/translogclient.cpp
index 8916a4cf0b5..9ec186f92c0 100644
--- a/searchlib/src/vespa/searchlib/transactionlog/translogclient.cpp
+++ b/searchlib/src/vespa/searchlib/transactionlog/translogclient.cpp
@@ -164,7 +164,7 @@ Session *
TransLogClient::findSession(const vespalib::string & domainName, int sessionId)
{
SessionKey key(domainName, sessionId);
- SessionMap::iterator found(_sessions.find(key));
+ auto found = _sessions.find(key);
Session * session((found != _sessions.end()) ? found->second : nullptr);
return session;
}
diff --git a/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp b/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp
index db02f4f037e..ac9c6318fb5 100644
--- a/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp
+++ b/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp
@@ -519,8 +519,8 @@ TransLogServer::listDomains(FRT_RPCRequest *req)
vespalib::string domains;
ReadGuard domainGuard(_domainMutex);
- for(DomainList::const_iterator it(_domains.begin()), mt(_domains.end()); it != mt; it++) {
- domains += it->second->name();
+ for (const auto& elem : _domains) {
+ domains += elem.second->name();
domains += "\n";
}
ret.AddInt32(0);
diff --git a/searchlib/src/vespa/searchlib/util/posting_priority_queue.hpp b/searchlib/src/vespa/searchlib/util/posting_priority_queue.hpp
index 7f4733d8a70..b7fc9cfab05 100644
--- a/searchlib/src/vespa/searchlib/util/posting_priority_queue.hpp
+++ b/searchlib/src/vespa/searchlib/util/posting_priority_queue.hpp
@@ -10,7 +10,6 @@ template <class Reader>
void
PostingPriorityQueue<Reader>::adjust()
{
- using VIT = typename Vector::iterator;
if (!_vec.front().get()->isValid()) {
_vec.erase(_vec.begin()); // Iterator no longer valid
return;
@@ -19,9 +18,9 @@ PostingPriorityQueue<Reader>::adjust()
return;
}
// Peform binary search to find first element higher than changed value
- VIT gt = std::upper_bound(_vec.begin() + 1, _vec.end(), _vec.front());
- VIT to = _vec.begin();
- VIT from = to;
+ auto gt = std::upper_bound(_vec.begin() + 1, _vec.end(), _vec.front());
+ auto to = _vec.begin();
+ auto from = to;
++from;
Ref changed = *to; // Remember changed value
while (from != gt) { // Shift elements to make space for changed value