void NameValueTable::Iterator::next() { size_t const sz = m_tab->m_tabMask + 1; if (m_idx + 1 >= sz) { m_idx = sz; return; } ++m_idx; if (LIKELY(!atEmpty())) { return; } do { ++m_idx; } while (size_t(m_idx) < sz && atEmpty()); }
void NameValueTable::Iterator::prev() { do { --m_idx; } while (m_idx >= 0 && atEmpty()); }
void NameValueTable::Iterator::next() { size_t const sz = m_tab->m_tabMask + 1; do { ++m_idx; } while (size_t(m_idx) < sz && atEmpty()); }
bool NameValueTable::Iterator::valid() const { return m_idx >= 0 && size_t(m_idx) < m_tab->m_tabMask + 1 && !atEmpty(); }