File indexing completed on 2024-04-21 03:51:43

0001 /*
0002     This file is part of the KDE Baloo project.
0003     SPDX-FileCopyrightText: 2015 Vishesh Handa <vhanda@kde.org>
0004 
0005     SPDX-License-Identifier: LGPL-2.1-or-later
0006 */
0007 
0008 #include "vectorpositioninfoiterator.h"
0009 #include "positioninfo.h"
0010 
0011 using namespace Baloo;
0012 
0013 VectorPositionInfoIterator::VectorPositionInfoIterator(const QVector<PositionInfo>& vector)
0014     : m_vector(vector)
0015     , m_pos(-1)
0016 {
0017 }
0018 
0019 quint64 VectorPositionInfoIterator::next()
0020 {
0021     m_pos++;
0022     if (m_pos >= m_vector.size()) {
0023         m_pos = m_vector.size();
0024         m_vector.clear();
0025         return 0;
0026     }
0027 
0028     return m_vector[m_pos].docId;
0029 }
0030 
0031 quint64 VectorPositionInfoIterator::docId() const
0032 {
0033     if (m_pos < 0 || m_pos >= m_vector.size()) {
0034         return 0;
0035     }
0036 
0037     return m_vector[m_pos].docId;
0038 }
0039 
0040 QVector<uint> VectorPositionInfoIterator::positions()
0041 {
0042     if (m_pos < 0 || m_pos >= m_vector.size()) {
0043         return QVector<uint>();
0044     }
0045 
0046     return m_vector[m_pos].positions;
0047 }