thread/qresultstore.cpp

Switch to Source codePreprocessed file
LineSource CodeCoverage
1 -
2 -
3 -
4 -
5 -
6namespace QtPrivate { -
7 -
8ResultIteratorBase::ResultIteratorBase() -
9 : mapIterator(QMap<int, ResultItem>::const_iterator()), m_vectorIndex(0) { }
never executed: }
0
10ResultIteratorBase::ResultIteratorBase(QMap<int, ResultItem>::const_iterator _mapIterator, int _vectorIndex) -
11 : mapIterator(_mapIterator), m_vectorIndex(_vectorIndex) { }
executed: }
Execution Count:1319933
1319933
12 -
13int ResultIteratorBase::vectorIndex() const { return m_vectorIndex; }
never executed: return m_vectorIndex;
0
14int ResultIteratorBase::resultIndex() const { return mapIterator.key() + m_vectorIndex; }
executed: return mapIterator.key() + m_vectorIndex;
Execution Count:37
37
15 -
16ResultIteratorBase ResultIteratorBase::operator++() -
17{ -
18 if (canIncrementVectorIndex()) {
evaluated: canIncrementVectorIndex()
TRUEFALSE
yes
Evaluation Count:15
yes
Evaluation Count:574
15-574
19 ++m_vectorIndex; -
20 } else {
executed: }
Execution Count:15
15
21 ++mapIterator; -
22 m_vectorIndex = 0; -
23 }
executed: }
Execution Count:574
574
24 return *this;
executed: return *this;
Execution Count:589
589
25} -
26 -
27int ResultIteratorBase::batchSize() const -
28{ -
29 return mapIterator.value().count();
executed: return mapIterator.value().count();
Execution Count:261934
261934
30} -
31 -
32void ResultIteratorBase::batchedAdvance() -
33{ -
34 ++mapIterator; -
35 m_vectorIndex = 0; -
36}
executed: }
Execution Count:9
9
37 -
38bool ResultIteratorBase::operator==(const ResultIteratorBase &other) const -
39{ -
40 return (mapIterator == other.mapIterator && m_vectorIndex == other.m_vectorIndex);
executed: return (mapIterator == other.mapIterator && m_vectorIndex == other.m_vectorIndex);
Execution Count:537457
537457
41} -
42 -
43bool ResultIteratorBase::operator!=(const ResultIteratorBase &other) const -
44{ -
45 return !operator==(other);
executed: return !operator==(other);
Execution Count:536912
536912
46} -
47 -
48bool ResultIteratorBase::isVector() const -
49{ -
50 return mapIterator.value().isVector();
never executed: return mapIterator.value().isVector();
0
51} -
52 -
53bool ResultIteratorBase::canIncrementVectorIndex() const -
54{ -
55 return (m_vectorIndex + 1 < mapIterator.value().m_count);
executed: return (m_vectorIndex + 1 < mapIterator.value().m_count);
Execution Count:589
589
56} -
57 -
58ResultStoreBase::ResultStoreBase() -
59 : insertIndex(0), resultCount(0), m_filterMode(false), filteredResults(0) { }
executed: }
Execution Count:583124
583124
60 -
61void ResultStoreBase::setFilterMode(bool enable) -
62{ -
63 m_filterMode = enable; -
64}
executed: }
Execution Count:50
50
65 -
66bool ResultStoreBase::filterMode() const -
67{ -
68 return m_filterMode;
executed: return m_filterMode;
Execution Count:264180
264180
69} -
70 -
71void ResultStoreBase::syncResultCount() -
72{ -
73 ResultIteratorBase it = resultAt(resultCount); -
74 while (it != end()) {
evaluated: it != end()
TRUEFALSE
yes
Evaluation Count:262218
yes
Evaluation Count:261217
261217-262218
75 resultCount += it.batchSize(); -
76 it = resultAt(resultCount); -
77 }
executed: }
Execution Count:261603
261603
78}
executed: }
Execution Count:260932
260932
79 -
80void ResultStoreBase::insertResultItemIfValid(int index, ResultItem &resultItem) -
81{ -
82 if (resultItem.isValid()) {
evaluated: resultItem.isValid()
TRUEFALSE
yes
Evaluation Count:263275
yes
Evaluation Count:759
759-263275
83 m_results[index] = resultItem; -
84 syncResultCount(); -
85 } else {
executed: }
Execution Count:261071
261071
86 filteredResults += resultItem.count(); -
87 }
executed: }
Execution Count:759
759
88} -
89 -
90int ResultStoreBase::insertResultItem(int index, ResultItem &resultItem) -
91{ -
92 int storeIndex; -
93 if (m_filterMode && index != -1 && index > insertIndex) {
evaluated: m_filterMode
TRUEFALSE
yes
Evaluation Count:1552
yes
Evaluation Count:263744
partially evaluated: index != -1
TRUEFALSE
yes
Evaluation Count:1552
no
Evaluation Count:0
evaluated: index > insertIndex
TRUEFALSE
yes
Evaluation Count:1430
yes
Evaluation Count:122
0-263744
94 pendingResults[index] = resultItem; -
95 storeIndex = index; -
96 } else {
executed: }
Execution Count:1430
1430
97 storeIndex = updateInsertIndex(index, resultItem.count()); -
98 insertResultItemIfValid(storeIndex - filteredResults, resultItem); -
99 }
executed: }
Execution Count:260546
260546
100 syncPendingResults(); -
101 return storeIndex;
executed: return storeIndex;
Execution Count:265406
265406
102} -
103 -
104void ResultStoreBase::syncPendingResults() -
105{ -
106 -
107 QMap<int, ResultItem>::iterator it = pendingResults.begin(); -
108 while (it != pendingResults.end()) {
evaluated: it != pendingResults.end()
TRUEFALSE
yes
Evaluation Count:2716
yes
Evaluation Count:264352
2716-264352
109 int index = it.key(); -
110 if (index != resultCount + filteredResults)
evaluated: index != resultCount + filteredResults
TRUEFALSE
yes
Evaluation Count:1286
yes
Evaluation Count:1430
1286-1430
111 break;
executed: break;
Execution Count:1286
1286
112 -
113 ResultItem result = it.value(); -
114 insertResultItemIfValid(index - filteredResults, result); -
115 pendingResults.erase(it); -
116 it = pendingResults.begin(); -
117 }
executed: }
Execution Count:1430
1430
118}
executed: }
Execution Count:265481
265481
119 -
120int ResultStoreBase::addResult(int index, const void *result) -
121{ -
122 ResultItem resultItem(result, 0); -
123 return insertResultItem(index, resultItem);
executed: return insertResultItem(index, resultItem);
Execution Count:263957
263957
124} -
125 -
126int ResultStoreBase::addResults(int index, const void *results, int vectorSize, int totalCount) -
127{ -
128 if (m_filterMode == false || vectorSize == totalCount) {
evaluated: m_filterMode == false
TRUEFALSE
yes
Evaluation Count:443
yes
Evaluation Count:836
evaluated: vectorSize == totalCount
TRUEFALSE
yes
Evaluation Count:124
yes
Evaluation Count:712
124-836
129 ResultItem resultItem(results, vectorSize); -
130 return insertResultItem(index, resultItem);
executed: return insertResultItem(index, resultItem);
Execution Count:567
567
131 } else { -
132 if (vectorSize > 0) {
evaluated: vectorSize > 0
TRUEFALSE
yes
Evaluation Count:594
yes
Evaluation Count:118
118-594
133 ResultItem filteredIn(results, vectorSize); -
134 insertResultItem(index, filteredIn); -
135 }
executed: }
Execution Count:594
594
136 ResultItem filteredAway(0, totalCount - vectorSize); -
137 return insertResultItem(index + vectorSize, filteredAway);
executed: return insertResultItem(index + vectorSize, filteredAway);
Execution Count:712
712
138 } -
139} -
140 -
141ResultIteratorBase ResultStoreBase::begin() const -
142{ -
143 return ResultIteratorBase(m_results.begin());
executed: return ResultIteratorBase(m_results.begin());
Execution Count:147
147
144} -
145 -
146ResultIteratorBase ResultStoreBase::end() const -
147{ -
148 return ResultIteratorBase(m_results.end());
executed: return ResultIteratorBase(m_results.end());
Execution Count:537872
537872
149} -
150 -
151bool ResultStoreBase::hasNextResult() const -
152{ -
153 return begin() != end();
never executed: return begin() != end();
0
154} -
155 -
156ResultIteratorBase ResultStoreBase::resultAt(int index) const -
157{ -
158 if (m_results.isEmpty())
evaluated: m_results.isEmpty()
TRUEFALSE
yes
Evaluation Count:397
yes
Evaluation Count:805599
397-805599
159 return ResultIteratorBase(m_results.end());
executed: return ResultIteratorBase(m_results.end());
Execution Count:397
397
160 QMap<int, ResultItem>::const_iterator it = m_results.lowerBound(index); -
161 -
162 -
163 -
164 -
165 if (it == m_results.end()) {
evaluated: it == m_results.end()
TRUEFALSE
yes
Evaluation Count:259905
yes
Evaluation Count:557084
259905-557084
166 --it; -
167 if (it.value().isVector() == false) {
evaluated: it.value().isVector() == false
TRUEFALSE
yes
Evaluation Count:258877
yes
Evaluation Count:803
803-258877
168 return ResultIteratorBase(m_results.end());
executed: return ResultIteratorBase(m_results.end());
Execution Count:258965
258965
169 } -
170 } else {
executed: }
Execution Count:803
803
171 if (it.key() > index) {
evaluated: it.key() > index
TRUEFALSE
yes
Evaluation Count:30410
yes
Evaluation Count:527121
30410-527121
172 if (it == m_results.begin())
evaluated: it == m_results.begin()
TRUEFALSE
yes
Evaluation Count:42
yes
Evaluation Count:30368
42-30368
173 return ResultIteratorBase(m_results.end());
executed: return ResultIteratorBase(m_results.end());
Execution Count:42
42
174 --it; -
175 }
executed: }
Execution Count:30368
30368
176 }
executed: }
Execution Count:557153
557153
177 -
178 const int vectorIndex = index - it.key(); -
179 -
180 if (vectorIndex >= it.value().count())
evaluated: vectorIndex >= it.value().count()
TRUEFALSE
yes
Evaluation Count:2884
yes
Evaluation Count:554648
2884-554648
181 return ResultIteratorBase(m_results.end());
executed: return ResultIteratorBase(m_results.end());
Execution Count:2884
2884
182 else if (it.value().isVector() == false && vectorIndex != 0)
evaluated: it.value().isVector() == false
TRUEFALSE
yes
Evaluation Count:521694
yes
Evaluation Count:33299
partially evaluated: vectorIndex != 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:522277
0-522277
183 return ResultIteratorBase(m_results.end());
never executed: return ResultIteratorBase(m_results.end());
0
184 return ResultIteratorBase(it, vectorIndex);
executed: return ResultIteratorBase(it, vectorIndex);
Execution Count:554557
554557
185} -
186 -
187bool ResultStoreBase::contains(int index) const -
188{ -
189 return (resultAt(index) != end());
executed: return (resultAt(index) != end());
Execution Count:19161
19161
190} -
191 -
192int ResultStoreBase::count() const -
193{ -
194 return resultCount;
executed: return resultCount;
Execution Count:5823
5823
195} -
196 -
197 -
198 -
199int ResultStoreBase::updateInsertIndex(int index, int _count) -
200{ -
201 if (index == -1) {
evaluated: index == -1
TRUEFALSE
yes
Evaluation Count:260913
yes
Evaluation Count:2552
2552-260913
202 index = insertIndex; -
203 insertIndex += _count; -
204 } else {
executed: }
Execution Count:260751
260751
205 insertIndex = qMax(index + _count, insertIndex); -
206 }
executed: }
Execution Count:2552
2552
207 return index;
executed: return index;
Execution Count:263362
263362
208} -
209 -
210} -
211 -
212 -
213 -
Switch to Source codePreprocessed file

Generated by Squish Coco Non-Commercial