+19
-8
lines changedFilter options
+19
-8
lines changed Original file line number Diff line number Diff line change
@@ -92,14 +92,14 @@ CRcvBufferNew::CRcvBufferNew(int initSeqNo, size_t size, CUnitQueue* unitqueue,
92
92
93
93
CRcvBufferNew::~CRcvBufferNew()
94
94
{
95
-
for (size_t i = 0; i < m_szSize; ++i)
95
+
// Can be optimized by only iterating m_iMaxPosInc from m_iStartPos.
96
+
for (FixedArray<Entry>::iterator it = m_entries.begin(); it != m_entries.end(); ++it)
96
97
{
97
-
CUnit* unit = m_entries[i].pUnit;
98
-
if (unit != NULL)
99
-
{
100
-
m_pUnitQueue->makeUnitFree(unit);
101
-
m_entries[i].pUnit = NULL;
102
-
}
98
+
if (!it->pUnit)
99
+
continue;
100
+
101
+
m_pUnitQueue->makeUnitFree(it->pUnit);
102
+
it->pUnit = NULL;
103
103
}
104
104
}
105
105
Original file line number Diff line number Diff line change
@@ -462,7 +462,18 @@ class FixedArray
462
462
return m_entries[index];
463
463
}
464
464
465
-
size_t size() const { return m_size; }
465
+
size_t size() const { return m_size; }
466
+
467
+
typedef T* iterator;
468
+
typedef const T* const_iterator;
469
+
470
+
iterator begin() { return m_entries; }
471
+
iterator end() { return m_entries + m_size; }
472
+
473
+
const_iterator cbegin() const { return m_entries; }
474
+
const_iterator cend() const { return m_entries + m_size; }
475
+
476
+
T* data() { return m_entries; }
466
477
467
478
private:
468
479
FixedArray(const FixedArray<T>& );
You can’t perform that action at this time.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4